Files
msd-core/sdk/src/query-failure-classification.test.ts

28 lines
901 B
TypeScript

import { describe, expect, it } from 'vitest';
import {
errorMessage,
isTimeoutMessage,
parseTimeoutMs,
timeoutMessage,
toFailureSignal,
} from './query-failure-classification.js';
import { GSDToolsError } from './gsd-tools-error.js';
describe('query failure classification', () => {
it('extracts timeout metadata from message', () => {
const msg = timeoutMessage('state', ['load'], 30000);
expect(isTimeoutMessage(msg)).toBe(true);
expect(parseTimeoutMs(msg)).toBe(30000);
});
it('normalizes unknown error values', () => {
expect(errorMessage('boom')).toBe('boom');
expect(errorMessage(new Error('x'))).toBe('x');
});
it('prefers typed classification from GSDToolsError', () => {
const err = GSDToolsError.timeout('x', 'state', ['load'], '', 2000);
expect(toFailureSignal(err)).toEqual({ kind: 'timeout', message: 'x', timeoutMs: 2000 });
});
});