Files
peardata/test/parent-collector.test.js
T
Raven Scott 1d46b7b3ad
CI / test (push) Failing after 6s
Release rolling / release (push) Has been cancelled
updates
2026-07-18 19:11:32 -04:00

45 lines
1.4 KiB
JavaScript

import test from 'brittle'
import {
extractChildStats,
parseParentPeers,
isParentEnabled,
} from '../server/services/collectors/parent.js'
test('isParentEnabled', (t) => {
const prev = process.env.PEARDATA_PARENT
delete process.env.PEARDATA_PARENT
t.absent(isParentEnabled())
process.env.PEARDATA_PARENT = '1'
t.ok(isParentEnabled())
if (prev == null) delete process.env.PEARDATA_PARENT
else process.env.PEARDATA_PARENT = prev
})
test('parseParentPeers filters hex keys', (t) => {
const prev = process.env.PEARDATA_PARENT_PEERS
const prevFile = process.env.PEARDATA_PARENT_PEERS_FILE
delete process.env.PEARDATA_PARENT_PEERS_FILE
process.env.PEARDATA_PARENT_PEERS = `aa${'b'.repeat(62)}, not-a-key, ${'c'.repeat(64)}`
const list = parseParentPeers()
t.is(list.length, 2)
t.ok(list[0].startsWith('aa'))
if (prev == null) delete process.env.PEARDATA_PARENT_PEERS
else process.env.PEARDATA_PARENT_PEERS = prev
if (prevFile == null) delete process.env.PEARDATA_PARENT_PEERS_FILE
else process.env.PEARDATA_PARENT_PEERS_FILE = prevFile
})
test('extractChildStats from getAllMetrics body', (t) => {
const stats = extractChildStats({
contentType: 'application/json',
body: {
charts: {
'system.cpu': { dimensions: { idle: 72, user: 20, system: 8 } },
'system.ram': { dimensions: { used: 2048, free: 1024 } },
},
},
})
t.is(stats.cpu, 28)
t.is(stats.ram, 2048)
})