0546d06c0a
Build Electron Desktop App / Validate version (push) Failing after 32s
Build Electron Desktop App / Build Electron (macos-arm64) (push) Has been skipped
Build Electron Desktop App / Build Electron (linux) (push) Has been skipped
Build Electron Desktop App / Build Electron (macos-intel) (push) Has been skipped
Build Electron Desktop App / Build Electron (windows) (push) Has been skipped
Build Electron Desktop App / Create Release (push) Has been skipped
Also fix syntax error in openai-to-claude-strip-empty.test.mjs (tool/assistant messages were incorrectly nested)
36 lines
1.4 KiB
JavaScript
36 lines
1.4 KiB
JavaScript
import test from "node:test";
|
|
import assert from "node:assert/strict";
|
|
|
|
const { classifyProviderError, PROVIDER_ERROR_TYPES } =
|
|
await import("../../open-sse/services/errorClassifier.ts");
|
|
|
|
test("classifyProviderError: 401 + account_deactivated => ACCOUNT_DEACTIVATED", () => {
|
|
const body = JSON.stringify({
|
|
error: { message: "account_deactivated: this account has been disabled" },
|
|
});
|
|
const result = classifyProviderError(401, body);
|
|
assert.equal(result, PROVIDER_ERROR_TYPES.ACCOUNT_DEACTIVATED);
|
|
});
|
|
|
|
test("classifyProviderError: plain 401 => UNAUTHORIZED", () => {
|
|
const result = classifyProviderError(401, { error: { message: "token expired" } });
|
|
assert.equal(result, PROVIDER_ERROR_TYPES.UNAUTHORIZED);
|
|
});
|
|
|
|
test("classifyProviderError: 402 => QUOTA_EXHAUSTED", () => {
|
|
const result = classifyProviderError(402, { error: { message: "payment required" } });
|
|
assert.equal(result, PROVIDER_ERROR_TYPES.QUOTA_EXHAUSTED);
|
|
});
|
|
|
|
test("classifyProviderError: 400 + billing signal => QUOTA_EXHAUSTED", () => {
|
|
const result = classifyProviderError(400, {
|
|
error: { message: "insufficient_quota: exceeded your current quota" },
|
|
});
|
|
assert.equal(result, PROVIDER_ERROR_TYPES.QUOTA_EXHAUSTED);
|
|
});
|
|
|
|
test("classifyProviderError: 429 without billing signal => RATE_LIMITED", () => {
|
|
const result = classifyProviderError(429, { error: { message: "too many requests" } });
|
|
assert.equal(result, PROVIDER_ERROR_TYPES.RATE_LIMITED);
|
|
});
|