Files
msd-core/sdk/src/gsd-transport-policy.test.ts
Tom Boucher 0f98952a3d refactor(sdk): extract GSDTools transport seam + policy (#3058)
* refactor(sdk): extract gsdtools transport seam with per-command policy

* fix(sdk): address CodeRabbit transport policy and timeout findings

* fix(sdk): harden raw transport formatting and raw-path coverage
2026-05-03 08:20:05 -04:00

35 lines
1.3 KiB
TypeScript

import { describe, it, expect, afterEach } from 'vitest';
import { resolveTransportPolicy, setTransportPolicy, clearTransportPolicy } from './gsd-transport-policy.js';
describe('gsd-transport-policy', () => {
afterEach(() => {
clearTransportPolicy();
});
it('uses legacy-safe defaults for unknown command', () => {
const policy = resolveTransportPolicy('unknown-cmd');
expect(policy.preferNative).toBe(true);
expect(policy.allowFallbackToSubprocess).toBe(true);
expect(policy.outputMode).toBe('json');
});
it('applies built-in raw output override', () => {
const policy = resolveTransportPolicy('config-set');
expect(policy.outputMode).toBe('raw');
expect(policy.allowFallbackToSubprocess).toBe(true);
});
it('applies verify-summary alias raw overrides', () => {
expect(resolveTransportPolicy('verify-summary').outputMode).toBe('raw');
expect(resolveTransportPolicy('verify.summary').outputMode).toBe('raw');
expect(resolveTransportPolicy('verify summary').outputMode).toBe('raw');
});
it('supports per-command override updates', () => {
setTransportPolicy('state', { allowFallbackToSubprocess: false, outputMode: 'raw' });
const policy = resolveTransportPolicy('state');
expect(policy.allowFallbackToSubprocess).toBe(false);
expect(policy.outputMode).toBe('raw');
});
});