Files
peardata/test/peardock-collector.test.js
T
Raven Scott 462cce4b5b
CI / test (push) Successful in 58s
Release rolling / release (push) Successful in 7m10s
Updates
2026-07-18 19:16:58 -04:00

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
})