Files
makelore/tests/unit/opencode-error-details.test.ts

22 lines
873 B
TypeScript

import { describe, expect, it } from 'vitest';
import { isOpencodeUpstreamSaturated } from '../../shared/opencode-error-details';
describe('isOpencodeUpstreamSaturated', () => {
it.each([
'当前分组上游负载已饱和,请稍后再试',
JSON.stringify({ error: { message: 'UPSTREAM capacity is SATURATED; try later' } }),
])('classifies explicit upstream saturation evidence: %s', (message) => {
expect(isOpencodeUpstreamSaturated(message)).toBe(true);
});
it.each([
'rate_limit_exceeded',
JSON.stringify({ error: { code: 'rate_limit_exceeded', message: 'Rate limit exceeded' } }),
'upstream request failed',
'provider saturated',
'user quota is not enough',
])('does not broaden saturation classification to other retry failures: %s', (message) => {
expect(isOpencodeUpstreamSaturated(message)).toBe(false);
});
});