Files
openmaic/OpenMAIC/tests/server/provider-access-response.test.ts
2026-08-16 14:58:47 +08:00

31 lines
1.1 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import { llmApiError } from '@/lib/server/llm-error-response';
import { ServerManagedProviderRequiredError } from '@/lib/server/provider-access-policy';
import { providerAccessApiError } from '@/lib/server/provider-access-response';
describe('provider access API response', () => {
it('maps the deployment denial to a stable 403/FORBIDDEN response', async () => {
const response = providerAccessApiError(new ServerManagedProviderRequiredError());
expect(response?.status).toBe(403);
await expect(response?.json()).resolves.toMatchObject({
success: false,
errorCode: 'FORBIDDEN',
});
});
it('leaves unrelated errors to the route-specific handler', () => {
expect(providerAccessApiError(new Error('upstream failed'))).toBeNull();
});
it('takes precedence in the shared LLM error mapper', async () => {
const response = llmApiError(new ServerManagedProviderRequiredError());
expect(response.status).toBe(403);
await expect(response.json()).resolves.toMatchObject({
success: false,
errorCode: 'FORBIDDEN',
});
});
});