* inspect * fixes * improvements * fixes * fixes * improvements * fix null cdp url * fix rust reader loop * improvements * improvements * fixes
36 lines
1.3 KiB
TypeScript
36 lines
1.3 KiB
TypeScript
import { describe, it, expect } from 'vitest';
|
|
import { injectSessionId, stripSessionId } from './inspect-server.js';
|
|
|
|
describe('injectSessionId', () => {
|
|
it('should inject sessionId into a command', () => {
|
|
const input = '{"id":1,"method":"DOM.getDocument"}';
|
|
const result = JSON.parse(injectSessionId(input, 'abc123'));
|
|
expect(result.sessionId).toBe('abc123');
|
|
expect(result.method).toBe('DOM.getDocument');
|
|
expect(result.id).toBe(1);
|
|
});
|
|
|
|
it('should inject sessionId into an empty object', () => {
|
|
const result = JSON.parse(injectSessionId('{}', 'abc'));
|
|
expect(result.sessionId).toBe('abc');
|
|
});
|
|
});
|
|
|
|
describe('stripSessionId', () => {
|
|
it('should remove sessionId from a message', () => {
|
|
const input = '{"id":1,"result":{},"sessionId":"abc123"}';
|
|
const result = JSON.parse(stripSessionId(input));
|
|
expect(result.sessionId).toBeUndefined();
|
|
expect(result.id).toBe(1);
|
|
});
|
|
});
|
|
|
|
describe('inject then strip roundtrip', () => {
|
|
it('should return the original message after inject + strip', () => {
|
|
const input = '{"id":42,"method":"Runtime.evaluate"}';
|
|
const injected = injectSessionId(input, 'sess1');
|
|
const stripped = stripSessionId(injected);
|
|
expect(JSON.parse(stripped)).toEqual(JSON.parse(input));
|
|
});
|
|
});
|