46 lines
3.2 KiB
JavaScript
46 lines
3.2 KiB
JavaScript
import assert from 'node:assert/strict'
|
|
import { test } from 'node:test'
|
|
import { vrfSliceDiagnostic } from './vrf-production-profile.mjs'
|
|
|
|
test('only the nine-operation disabled slice receives its measured aggregate budget', () => {
|
|
for (const [slice, capMs] of [['disabled', 180000], ['gre', 120000], ['baseline', 240000]]) {
|
|
const result = { slice, accepted: false, caseCount: 0, code: 1, failure: 'child-deadline', childExitConfirmed: true }
|
|
assert.equal(vrfSliceDiagnostic(result, '', capMs).capMs, capMs)
|
|
for (const otherCap of [120000, 180000, 240000].filter(value => value !== capMs)) assert.throws(() => vrfSliceDiagnostic(result, '', otherCap))
|
|
}
|
|
})
|
|
|
|
test('GRE lifecycle diagnostic retains the six-case receipt with existing privacy bounds', () => {
|
|
const accepted = ['vrf-create', 'vrf-rename', 'vrf-disable', 'vrf-reenable', 'vrf-membership-transfer-a-to-b', 'vrf-delete-addresses-remain']
|
|
const result = { slice: 'gre', accepted: true, caseCount: 6, code: 0, failure: null, childExitConfirmed: true }
|
|
const log = accepted.map((acceptedCase, index) => JSON.stringify({ slice: 'gre', acceptedCase, nativeWrites: 1, wireguardPeerTelemetryTicks: (index + 1) * 4, password: 'fixture-private-value' }))
|
|
log.push(JSON.stringify({ slice: 'gre', accepted, wireguardPeerTelemetryTicks: 24, rawShape: 'synthetic GRE lifecycle', password: 'fixture-private-value' }))
|
|
const diagnostic = vrfSliceDiagnostic(result, log.join('\n'), 120000, ['fixture-private-value'])
|
|
assert.deepEqual(diagnostic.diagnostics.acceptedCaseSequence, accepted)
|
|
assert.equal(diagnostic.diagnostics.finalComponentPresent, true)
|
|
assert.equal(diagnostic.diagnostics.rawLogRetained, false)
|
|
assert.deepEqual(diagnostic.diagnostics.records.map(row => row.wireguardPeerTelemetryTicks), [4, 8, 12, 16, 20, 24, 24])
|
|
assert.equal(diagnostic.actualRouter, false)
|
|
assert.equal(diagnostic.forwardingVerified, false)
|
|
assert.equal(JSON.stringify(diagnostic).includes('fixture-private-value'), false)
|
|
assert.throws(() => vrfSliceDiagnostic(result, '', 240000))
|
|
})
|
|
|
|
test('peer telemetry diagnostic rejects nonnumeric and out-of-budget values', () => {
|
|
const result = { slice: 'gre', accepted: false, caseCount: 0, code: 1, failure: 'missing-component-receipt', childExitConfirmed: true }
|
|
for (const wireguardPeerTelemetryTicks of [0, -1, 10001, 1.5, 'private-raw-value', { secret: 'private-raw-value' }]) {
|
|
const diagnostic = vrfSliceDiagnostic(result, JSON.stringify({ slice: 'gre', wireguardPeerTelemetryTicks }), 120000)
|
|
assert.equal(diagnostic.diagnostics.records.some(row => Object.hasOwn(row, 'wireguardPeerTelemetryTicks')), false)
|
|
assert.equal(JSON.stringify(diagnostic).includes('private-raw-value'), false)
|
|
}
|
|
})
|
|
|
|
test('a partial GRE lifecycle is diagnostic evidence without a final component receipt', () => {
|
|
const result = { slice: 'gre', accepted: false, caseCount: 0, code: 1, failure: 'child-deadline', childExitConfirmed: true }
|
|
const diagnostic = vrfSliceDiagnostic(result, JSON.stringify({ slice: 'gre', acceptedCase: 'vrf-create' }), 120000)
|
|
assert.equal(diagnostic.accepted, false)
|
|
assert.equal(diagnostic.diagnostics.finalComponentPresent, false)
|
|
assert.equal(diagnostic.diagnostics.lastAcceptedCase, 'vrf-create')
|
|
assert.equal(diagnostic.capMs, 120000)
|
|
})
|