Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Normalize /24 labels for autopsy API and cred-graph triggers; add Emberwake/Path Tracer autopsy cards and Vitest coverage for Seer feed consumers.
28 lines
1.0 KiB
TypeScript
28 lines
1.0 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { parseSeerSubnetAutopsy, subnetAutopsyPrefix } from './subnetAutopsy';
|
|
|
|
describe('subnetAutopsy helpers', () => {
|
|
it('parses seer subnet immune autopsy events', () => {
|
|
const ev = parseSeerSubnetAutopsy({
|
|
type: 'subnet_immune_autopsy',
|
|
prefix: '10.0.0',
|
|
cause: 'Subnet 10.0.0 immune pause',
|
|
packet: { prefix: '10.0.0', fail_count: 5, cause_of_death: 'paused' },
|
|
});
|
|
expect(ev?.prefix).toBe('10.0.0');
|
|
expect(ev?.cause).toContain('immune pause');
|
|
expect(ev?.packet?.fail_count).toBe(5);
|
|
});
|
|
|
|
it('rejects non-autopsy seer payloads', () => {
|
|
expect(parseSeerSubnetAutopsy({ type: 'court_debate' })).toBeNull();
|
|
expect(parseSeerSubnetAutopsy(null)).toBeNull();
|
|
});
|
|
|
|
it('normalizes subnet labels to /24 prefix', () => {
|
|
expect(subnetAutopsyPrefix('10.0.0.x')).toBe('10.0.0');
|
|
expect(subnetAutopsyPrefix('10.0.0/24')).toBe('10.0.0');
|
|
expect(subnetAutopsyPrefix('192.168.5.12')).toBe('192.168.5');
|
|
});
|
|
});
|