From 2d93adfe8f6eeac35c81f91b55238519a364caf4 Mon Sep 17 00:00:00 2001 From: Diego Rodrigues de Sa e Souza Date: Wed, 15 Jul 2026 19:52:00 -0300 Subject: [PATCH] test(provider): regen golden snapshot + bump family-count for Chenzk gateway The Chenzk provider added in a616b88c9 registered a new APIKEY_PROVIDERS entry (gateways.ts) but did not update the two characterization tests that assert exact provider counts: the translate-path golden snapshot (missing the chenzk entry) and the 167-entry family-merge count in providers-constants-split.test.ts (now 168, verified as a strict partition sum across the 6 family files, no loss/dup). Co-authored-by: Ahmad Putra Cahyo --- tests/snapshots/provider/translate-path.json | 23 ++++++++++++++++++++ tests/unit/providers-constants-split.test.ts | 13 ++++++----- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/tests/snapshots/provider/translate-path.json b/tests/snapshots/provider/translate-path.json index ec208cafd1..d8fc6518c9 100644 --- a/tests/snapshots/provider/translate-path.json +++ b/tests/snapshots/provider/translate-path.json @@ -658,6 +658,29 @@ "stream": "https://chatgpt.com/backend-api/conversation" } }, + "chenzk": { + "format": "openai", + "headers": { + "apiKey": { + "Accept": "text/event-stream", + "Authorization": "Bearer ", + "Content-Type": "application/json" + }, + "nonStream": { + "Authorization": "Bearer ", + "Content-Type": "application/json" + }, + "oauth": { + "Accept": "text/event-stream", + "Authorization": "Bearer ", + "Content-Type": "application/json" + } + }, + "url": { + "nonStream": "https://chenzk.top/v1/chat/completions", + "stream": "https://chenzk.top/v1/chat/completions" + } + }, "chipotle": { "format": "openai", "headers": { diff --git a/tests/unit/providers-constants-split.test.ts b/tests/unit/providers-constants-split.test.ts index dd7143b53d..6571070027 100644 --- a/tests/unit/providers-constants-split.test.ts +++ b/tests/unit/providers-constants-split.test.ts @@ -1,13 +1,14 @@ // Characterization of the providers.ts catalog split (god-file decomposition): the host became a // barrel that re-exports 10 data catalogs now living under constants/providers/*, and APIKEY is // merged from 6 semantic family files (apikey/.ts). Locks: the public surface (every catalog -// + helpers still exported), the spread-merge integrity (167 APIKEY entries, no loss/dup), and that +// + helpers still exported), the spread-merge integrity (168 APIKEY entries, no loss/dup), and that // load-time Zod validation still runs. Pure-data move → behavior must be identical. // Count was 171 before obsolete provider removals (PR #6675: glhf/kluster/cablyai/inclusionai etc., // 171->167) plus #6126 (ClinePass dual-auth): the API-key-only APIKEY_PROVIDERS_GATEWAYS entry was // removed as a duplicate now that clinepass is OAuth-primary (OAUTH_PROVIDERS.clinepass) with its // BYOK path admitted through the DUAL_AUTH_APIKEY_PROVIDER_IDS gate instead (167->166), then the -// OpenVecta inference-gateway addition brought it back to 167. +// OpenVecta inference-gateway addition brought it back to 167, then #7246 (Chenzk API gateway) +// brought it to 168. import { test } from "node:test"; import assert from "node:assert/strict"; @@ -36,10 +37,10 @@ test("barrel still exports every catalog + key helpers", () => { } }); -test("APIKEY_PROVIDERS merges the 6 family files into 167 entries (no loss / no dup)", async () => { +test("APIKEY_PROVIDERS merges the 6 family files into 168 entries (no loss / no dup)", async () => { const keys = Object.keys((P as Record).APIKEY_PROVIDERS); - assert.equal(keys.length, 167); - assert.equal(new Set(keys).size, 167, "duplicate keys after spread-merge"); + assert.equal(keys.length, 168); + assert.equal(new Set(keys).size, 168, "duplicate keys after spread-merge"); // the merged object's entry-count equals the sum of the 6 semantic family files; families are a // strict partition (every provider in exactly one), so the sum must be exactly 167. const families: [string, string][] = [ @@ -61,7 +62,7 @@ test("APIKEY_PROVIDERS merges the 6 family files into 167 entries (no loss / no seen.add(k); } } - assert.equal(famTotal, 167, "families must partition all 167 providers"); + assert.equal(famTotal, 168, "families must partition all 168 providers"); }); test("AI_PROVIDERS Proxy aggregates all sections; lookups resolve", () => {