mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-20 05:56:53 +00:00
39 lines
1.4 KiB
TypeScript
39 lines
1.4 KiB
TypeScript
/**
|
|
* MCP env tuning knobs (#1414): MCP_SESSION_TTL + MCP_SSE_KEEPALIVE parsing.
|
|
*/
|
|
import { resolveSessionTtlMs, resolveKeepaliveMs } from '../../../src/mcp/config';
|
|
|
|
import { describe, it, expect } from 'vitest';
|
|
|
|
describe('resolveSessionTtlMs', () => {
|
|
it('defaults to 1 hour when unset or invalid', () => {
|
|
expect(resolveSessionTtlMs(undefined)).toBe(60 * 60 * 1000);
|
|
expect(resolveSessionTtlMs('')).toBe(60 * 60 * 1000);
|
|
expect(resolveSessionTtlMs('nope')).toBe(60 * 60 * 1000);
|
|
expect(resolveSessionTtlMs('0')).toBe(60 * 60 * 1000);
|
|
expect(resolveSessionTtlMs('-5')).toBe(60 * 60 * 1000);
|
|
});
|
|
|
|
it('reads seconds from MCP_SESSION_TTL', () => {
|
|
expect(resolveSessionTtlMs('3600')).toBe(3600 * 1000);
|
|
expect(resolveSessionTtlMs('120')).toBe(120 * 1000);
|
|
});
|
|
|
|
it('clamps to 24h so a milliseconds typo cannot yield a 1000-hour session', () => {
|
|
expect(resolveSessionTtlMs('3600000')).toBe(24 * 60 * 60 * 1000);
|
|
});
|
|
});
|
|
|
|
describe('resolveKeepaliveMs', () => {
|
|
it('defaults to 25s when unset or invalid', () => {
|
|
expect(resolveKeepaliveMs(undefined)).toBe(25_000);
|
|
expect(resolveKeepaliveMs('abc')).toBe(25_000);
|
|
expect(resolveKeepaliveMs('-1')).toBe(25_000);
|
|
});
|
|
|
|
it('reads seconds and allows 0 to disable', () => {
|
|
expect(resolveKeepaliveMs('30')).toBe(30_000);
|
|
expect(resolveKeepaliveMs('0')).toBe(0);
|
|
});
|
|
});
|