docs-oauth-connector-performance.test.mjs
45 lines 1.4 KB
Raw
sha256:700fafdd1afa490919f9515d660ca6e75456bcd5bb67513abcd8757a634c01f6 docs: record AIP-b SD-21 land (KN #308) Human 9 days ago
1 import assert from 'node:assert/strict';
2 import { performance } from 'node:perf_hooks';
3 import test from 'node:test';
4
5 import { proposeDocsImports } from '../lib/docs/docs-import-propose.mjs';
6 import { connectorForClient } from '../lib/docs/docs-connector-store.mjs';
7
8 test('performance: list projection and maximum import proposal batch stay bounded', () => {
9 const connector = {
10 connector_id: 'conn_0123456789abcdef',
11 provider: 'google-drive',
12 display_name: 'Drive',
13 status: 'connected',
14 last_sync_at: null,
15 last_sync_error: 'none',
16 file_count: 50,
17 revoked_at: null,
18 };
19 const start = performance.now();
20 for (let i = 0; i < 10_000; i++) connectorForClient(connector);
21 const items = Array.from({ length: 20 }, (_, i) => ({
22 source_id: `drive_${i}`,
23 name: `Document ${i}`,
24 markdown: `# Document ${i}`,
25 size: 32,
26 }));
27 const output = proposeDocsImports({
28 dataDir: '/unused',
29 vaultPath: '/unused',
30 vaultId: 'vault-p',
31 connectorId: connector.connector_id,
32 provider: 'google-drive',
33 items,
34 createProposalFn: (_dir, input) => ({
35 ...input,
36 proposal_id: `proposal-${input.frontmatter.source_id}`,
37 status: 'proposed',
38 }),
39 loadProposalsFn: () => [],
40 listMarkdownFilesFn: () => [],
41 });
42 const elapsed = performance.now() - start;
43 assert.equal(output.proposed, 20);
44 assert.ok(elapsed < 2_000, `local operation exceeded 2s budget: ${elapsed}ms`);
45 });
File History 1 commit
sha256:700fafdd1afa490919f9515d660ca6e75456bcd5bb67513abcd8757a634c01f6 docs: record AIP-b SD-21 land (KN #308) Human 9 days ago