import { describe, expect, it } from "vitest" ;
import type { OpenClawConfig } from "../../test-support.js" ;
import { ensureBrowserControlAuth } from "./control-auth.js" ;
describe("ensureBrowserControlAuth" , () => {
async function expectNoAutoGeneratedAuth(cfg: OpenClawConfig): Promise<void > {
const result = await ensureBrowserControlAuth({
cfg,
env: { NODE_ENV: "test" },
});
expect(result.generatedToken).toBeUndefined();
expect(result.auth.token).toBeUndefined();
expect(result.auth.password).toBeUndefined();
}
describe("trusted-proxy mode" , () => {
it("should skip auto-generation in test mode" , async () => {
const cfg: OpenClawConfig = {
gateway: {
auth: {
mode: "trusted-proxy" ,
trustedProxy: {
userHeader: "x-forwarded-user" ,
},
},
trustedProxies: ["192.168.1.1" ],
},
};
await expectNoAutoGeneratedAuth(cfg);
});
});
describe("password mode" , () => {
it("should skip auto-generation in test mode" , async () => {
const cfg: OpenClawConfig = {
gateway: {
auth: {
mode: "password" ,
},
},
};
await expectNoAutoGeneratedAuth(cfg);
});
});
describe("none mode" , () => {
it("should skip auto-generation in test mode" , async () => {
const cfg: OpenClawConfig = {
gateway: {
auth: {
mode: "none" ,
},
},
};
await expectNoAutoGeneratedAuth(cfg);
});
});
describe("token mode" , () => {
it("should return existing token if configured" , async () => {
const cfg: OpenClawConfig = {
gateway: {
auth: {
mode: "token" ,
token: "existing-token-123" ,
},
},
};
const result = await ensureBrowserControlAuth({
cfg,
env: {} as NodeJS.ProcessEnv,
});
expect(result.generatedToken).toBeUndefined();
expect(result.auth.token).toBe("existing-token-123" );
});
it("should skip auto-generation in test environment" , async () => {
const cfg: OpenClawConfig = {
gateway: {
auth: {
mode: "token" ,
},
},
};
const result = await ensureBrowserControlAuth({
cfg,
env: { NODE_ENV: "test" },
});
expect(result.generatedToken).toBeUndefined();
expect(result.auth.token).toBeUndefined();
});
});
});
Messung V0.5 in Prozent C=93 H=97 G=94
¤ Dauer der Verarbeitung: 0.17 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland