fix: prevent duplicate codex base_url entries (#4316)

This commit is contained in:
Sean Wang
2026-06-16 17:01:01 +08:00
committed by GitHub
parent 1042fb2a32
commit caa912e3a3
2 changed files with 92 additions and 18 deletions
@@ -63,6 +63,48 @@ describe("Codex TOML utils", () => {
expect(extractCodexModelName(output2)).toBe("new-model");
});
it("updates a double-quoted base_url containing single quotes without duplicating it", () => {
const input = [
'model_provider = "custom"',
'model = "gpt-5.4"',
"",
"[model_providers.custom]",
'name = "custom"',
"base_url = \"https://su'us.codes/v1\"",
'wire_api = "responses"',
'requires_openai_auth = true',
"",
].join("\n");
const output = setCodexBaseUrl(input, "https://su'us'd.codes/v1");
expect(extractCodexBaseUrl(output)).toBe("https://su'us'd.codes/v1");
expect(output.match(/^\s*base_url\s*=/gm)).toHaveLength(1);
expect(output).toContain("base_url = \"https://su'us'd.codes/v1\"");
});
it("collapses duplicate base_url lines when editing the active provider section", () => {
const input = [
'model_provider = "custom"',
'model = "gpt-5.4"',
"",
"[model_providers.custom]",
'name = "custom"',
'base_url = "https://old.example/v1"',
'base_url = "https://older.example/v1"',
'wire_api = "responses"',
'requires_openai_auth = true',
"",
].join("\n");
const output = setCodexBaseUrl(input, "https://new.example/v1");
expect(extractCodexBaseUrl(output)).toBe("https://new.example/v1");
expect(output.match(/^\s*base_url\s*=/gm)).toHaveLength(1);
expect(output).toContain('base_url = "https://new.example/v1"');
expect(output).not.toContain("older.example");
});
it("reads and writes base_url in the active provider section", () => {
const input = [
'model_provider = "custom"',