fix: clear gateway auth on off selection

This commit is contained in:
Ayaan Zaidi
2026-01-12 22:59:37 +05:30
parent 6aed3c0fd3
commit 4bba49770d
2 changed files with 88 additions and 20 deletions

View File

@@ -0,0 +1,55 @@
import { describe, expect, it } from "vitest";
import { buildGatewayAuthConfig } from "./configure.js";
describe("buildGatewayAuthConfig", () => {
it("clears token/password when auth is off", () => {
const result = buildGatewayAuthConfig({
existing: { mode: "token", token: "abc", password: "secret" },
mode: "off",
});
expect(result).toBeUndefined();
});
it("preserves allowTailscale when auth is off", () => {
const result = buildGatewayAuthConfig({
existing: {
mode: "token",
token: "abc",
allowTailscale: true,
},
mode: "off",
});
expect(result).toEqual({ allowTailscale: true });
});
it("drops password when switching to token", () => {
const result = buildGatewayAuthConfig({
existing: {
mode: "password",
password: "secret",
allowTailscale: false,
},
mode: "token",
token: "abc",
});
expect(result).toEqual({
mode: "token",
token: "abc",
allowTailscale: false,
});
});
it("drops token when switching to password", () => {
const result = buildGatewayAuthConfig({
existing: { mode: "token", token: "abc" },
mode: "password",
password: "secret",
});
expect(result).toEqual({ mode: "password", password: "secret" });
});
});