import test from 'node:test' import assert from 'node:assert/strict' import { createMemoryDb, runMigrations } from '../../packages/db/dist/index.js' import { canonicalCidr } from '../../packages/shared/dist/index.js' import { seedFixture, benchmarkPrefix } from '../bench/fixture.mjs' test('benchmark fixture satisfies migrated constraints at full 100-agent/50k scale', () => { const { sqlite } = createMemoryDb() try { runMigrations(sqlite) assert.equal(seedFixture(sqlite).integrity, 'ok') for (const [table, expected] of [['agents', 100], ['agent_policy_sets', 100], ['ip_list_entries', 50_000]]) { assert.equal(sqlite.prepare(`SELECT count(*) AS n FROM ${table}`).get().n, expected) } assert.equal(sqlite.prepare('SELECT priority FROM policy_rules WHERE id=?').get('bench-rule').priority, 10) assert.deepEqual(sqlite.pragma('foreign_key_check'), []) assert.throws(() => seedFixture(sqlite), /Fresh benchmark database required/) assert.equal(sqlite.prepare('SELECT count(*) AS n FROM agents').get().n, 100) const prefixes = Array.from({ length: 100_000 }, (_, i) => benchmarkPrefix(i, 11)) assert.equal(new Set(prefixes).size, 100_000) for (const cidr of prefixes) assert.equal(canonicalCidr(cidr), cidr) } finally { sqlite.close() } })