Files
core2026/tools/load-tests/test/sse.test.ts
T

20 lines
955 B
TypeScript

import assert from 'node:assert/strict';
import test from 'node:test';
import { containsForbiddenPublicField, SseParser } from '../src/sse.js';
void test('SSE parser handles chunk boundaries, CRLF, comments, and multiline data', () => {
const events: Array<{ event: string; data: string }> = [];
const parser = new SseParser((event) => events.push(event));
parser.push(': keepalive\r\nevent: rea');
parser.push('dy\r\ndata: {"ok":\r\ndata: true}\r\n\r\n');
parser.finish();
assert.deepEqual(events, [{ event: 'ready', data: '{"ok":\ntrue}' }]);
});
void test('public payload privacy scan checks nested forbidden identifiers and timing fields', () => {
assert.equal(containsForbiddenPublicField({ type: 'readModelInvalidated', context: true }), false);
assert.equal(containsForbiddenPublicField({ nested: { generalId: 3 } }), true);
assert.equal(containsForbiddenPublicField([{ lastTurnTime: 'secret' }]), true);
});