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