Files
core2026/tools/load-tests/test/trpc.test.ts
T
Hide_D fb3ce3da70 test: 300접속 capacity calibration을 재현 가능하게 구성
비밀값 자동 준비, 4 CPU/8GiB API launcher, fixture 검증 기반 calibration config를 추가한다. tRPC v11 GET input encoding 오류를 고치고 300 SSE/HTTP 실제 실행 절차를 문서화한다.
2026-08-16 18:54:34 +00:00

36 lines
1.5 KiB
TypeScript

import assert from 'node:assert/strict';
import test from 'node:test';
import { buildTrpcQuery, extractDashboardRevisions } from '../src/trpc.js';
void test('tRPC query uses bearer auth without putting the token in the URL', () => {
const token = 'ga_example_secret_token';
const request = buildTrpcQuery(
'http://127.0.0.1:15001',
'/api/trpc',
{ name: 'own', procedure: 'dashboard.getContextBundleDelta', type: 'query', weight: 1, input: { include: { context: true } } },
token
);
assert.equal(new Headers(request.init.headers).get('authorization'), `Bearer ${token}`);
assert.equal(request.url.includes(token), false);
assert.equal(new URL(request.url).pathname, '/api/trpc/dashboard.getContextBundleDelta');
assert.deepEqual(JSON.parse(new URL(request.url).searchParams.get('input')!), { include: { context: true } });
});
void test('dashboard observations retain only opaque revisions and aggregate-safe result kinds', () => {
const revision = 'Abcdefghijklmnopqrstuv';
assert.deepEqual(
extractDashboardRevisions({
result: {
data: {
json: {
context: { kind: 'unchanged', revision, data: { general: { id: 123 } } },
commandTable: { kind: 'snapshot', revision },
},
},
},
}),
{ revisions: { context: revision, commandTable: revision }, resultKinds: ['unchanged', 'snapshot'] }
);
});