mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-23 15:42:12 +03:00
Validado no worktree combinado: typecheck:core, changelog-integrity, complexity, cognitive-complexity, file-size, lint e 52 testes focados (kimi-jwt, kimi-credentials-extract, kimi-token-refresh, kimi-web-401-retry, provider-refresh-token-route, token-health-check-kimi) todos verdes. Implementação sólida e bem testada de ciclo de vida de token para Kimi Web. CI vermelho é o base-red já rastreado em #9985. Obrigado!
33 lines
1.2 KiB
TypeScript
33 lines
1.2 KiB
TypeScript
import { describe, it } from "node:test";
|
|
import assert from "node:assert/strict";
|
|
import {
|
|
extractKimiAccessToken,
|
|
extractKimiRefreshToken,
|
|
extractKimiCredentials,
|
|
} from "../../src/lib/providers/webCookieAuth.ts";
|
|
|
|
describe("Kimi Credential Extraction", () => {
|
|
it("extracts refresh_token from key-value or raw token", () => {
|
|
assert.equal(extractKimiRefreshToken("refresh_token=refresh_12345"), "refresh_12345");
|
|
assert.equal(extractKimiRefreshToken("refresh_token=refresh_abc; other=1"), "refresh_abc");
|
|
});
|
|
|
|
it("extracts both access_token and refresh_token from JSON localStorage dump", () => {
|
|
const jsonDump = JSON.stringify({
|
|
access_token: "access_jwt_xyz",
|
|
refresh_token: "refresh_jwt_abc",
|
|
user_id: "user_999",
|
|
});
|
|
const creds = extractKimiCredentials(jsonDump);
|
|
assert.equal(creds.accessToken, "access_jwt_xyz");
|
|
assert.equal(creds.refreshToken, "refresh_jwt_abc");
|
|
});
|
|
|
|
it("extracts credentials from plain access token", () => {
|
|
const plainToken = "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxMjMifQ.sig";
|
|
const creds = extractKimiCredentials(plainToken);
|
|
assert.equal(creds.accessToken, plainToken);
|
|
assert.equal(creds.refreshToken, "");
|
|
});
|
|
});
|