Files
OmniRoute/tests/unit/public-client-ids-3493.test.ts
backryun 65e0aeda79 [Part 1/3]refactor(qwen): replace legacy Qwen Code and remove OAuth provider (#7866)
* refactor(cli): remove legacy Qwen Code integration

* refactor(qwen): remove deprecated Qwen OAuth provider

* feat(cli): rebuild Qwen Code integration for upstream V4

* fix(qwen): clear stale CLI auth on reset

* test(qwen): align retired provider coverage

* fix(db): renumber qwen-cleanup migration 129 -> 130

release/v3.8.49 tip took slot 129 via #7843 (usage_history_codex_strong_identity,
itself renumbered from 128 during the #7838/#7840 base-red cleanup) after this
branch forked; renumber remove_unregistered_qwen_data to 130.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

---------

Co-authored-by: Diego Rodrigues de Sa e Souza <8016841+diegosouzapw@users.noreply.github.com>
2026-07-20 17:53:04 -03:00

53 lines
2.0 KiB
TypeScript

import test from "node:test";
import assert from "node:assert/strict";
import { resolvePublicCred } from "../../open-sse/utils/publicCreds.ts";
// #3493 — public OAuth client_ids were migrated from string literals to
// resolvePublicCred() (Hard Rule #11). These assertions guard that the embedded
// masked-byte defaults still decode to the exact public client_ids, so the OAuth
// flows are byte-for-byte unchanged, and that env overrides still win.
const EXPECTED_CLIENT_IDS: Record<string, string> = {
claude_id: "9d1c250a-e61b-44d9-88ed-5944d1962f5e",
codex_id: "app_EMoamEEZ73f0CkXaXp7hrann",
kimi_id: "17e5f671-d194-4dfb-9706-5516cb48c098",
github_copilot_id: "Iv1.b507a08c87ecfe98",
};
test("#3493 embedded public client_ids decode to their original literals", () => {
for (const [key, expected] of Object.entries(EXPECTED_CLIENT_IDS)) {
assert.equal(
resolvePublicCred(key as never),
expected,
`${key} must decode to its public client_id (OAuth flow unchanged)`
);
}
});
test("#3493 env override takes priority over the embedded default", () => {
const prev = process.env.CLAUDE_OAUTH_CLIENT_ID;
process.env.CLAUDE_OAUTH_CLIENT_ID = "custom-override-id";
try {
assert.equal(
resolvePublicCred("claude_id" as never, "CLAUDE_OAUTH_CLIENT_ID"),
"custom-override-id"
);
} finally {
if (prev === undefined) delete process.env.CLAUDE_OAUTH_CLIENT_ID;
else process.env.CLAUDE_OAUTH_CLIENT_ID = prev;
}
});
test("#3493 the migrated OAuth/registry configs resolve to the expected client_ids", async () => {
const { CLAUDE_CONFIG, CODEX_CONFIG } = await import("../../src/lib/oauth/constants/oauth.ts");
// Only assert when env doesn't override (CI/dev may set these); skip the assert
// for any that are env-overridden so the test stays deterministic.
if (!process.env.CLAUDE_OAUTH_CLIENT_ID) {
assert.equal(CLAUDE_CONFIG.clientId, EXPECTED_CLIENT_IDS.claude_id);
}
if (!process.env.CODEX_OAUTH_CLIENT_ID) {
assert.equal(CODEX_CONFIG.clientId, EXPECTED_CLIENT_IDS.codex_id);
}
});