45 lines
1.4 KiB
JavaScript
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)
|
|
})
|