45 lines
1.4 KiB
JavaScript
45 lines
1.4 KiB
JavaScript
import test from 'brittle'
|
|
import {
|
|
remapDockChart,
|
|
extractDockCharts,
|
|
isPearDockEnabled,
|
|
parsePearDockPeers,
|
|
} from '../server/services/collectors/peardock.js'
|
|
|
|
test('remapDockChart', (t) => {
|
|
t.is(remapDockChart('docker.cpu.abc'), 'peardock.cpu.abc')
|
|
t.is(remapDockChart('docker.containers'), 'peardock.containers')
|
|
t.is(remapDockChart('container.mem.x'), 'peardock.mem.x')
|
|
t.is(remapDockChart('system.cpu'), null)
|
|
})
|
|
|
|
test('extractDockCharts from getAllMetrics body', (t) => {
|
|
const rows = extractDockCharts({
|
|
body: {
|
|
charts: {
|
|
'docker.cpu.abc123': { dimensions: { usage: 12.5 } },
|
|
'system.cpu': { dimensions: { idle: 90 } },
|
|
},
|
|
},
|
|
})
|
|
t.is(rows.length, 1)
|
|
t.is(rows[0].chart, 'peardock.cpu.abc123')
|
|
t.is(rows[0].context, 'peardock.cpu')
|
|
t.is(rows[0].values.usage, 12.5)
|
|
})
|
|
|
|
test('isPearDockEnabled + parse peers', (t) => {
|
|
const prev = process.env.PEARDATA_PEARDOCK
|
|
const prevPeers = process.env.PEARDATA_PEARDOCK_PEERS
|
|
delete process.env.PEARDATA_PEARDOCK
|
|
t.absent(isPearDockEnabled())
|
|
process.env.PEARDATA_PEARDOCK = '1'
|
|
t.ok(isPearDockEnabled())
|
|
process.env.PEARDATA_PEARDOCK_PEERS = `${'a'.repeat(64)}, nope`
|
|
t.is(parsePearDockPeers().length, 1)
|
|
if (prev == null) delete process.env.PEARDATA_PEARDOCK
|
|
else process.env.PEARDATA_PEARDOCK = prev
|
|
if (prevPeers == null) delete process.env.PEARDATA_PEARDOCK_PEERS
|
|
else process.env.PEARDATA_PEARDOCK_PEERS = prevPeers
|
|
})
|