mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-13 19:10:39 +00:00
98 lines
2.6 KiB
TypeScript
98 lines
2.6 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import type { OpenClawConfig } from "../config/types.js";
|
|
import { ensureBrowserControlAuth } from "./control-auth.js";
|
|
|
|
describe("ensureBrowserControlAuth", () => {
|
|
async function expectNoAutoGeneratedAuth(cfg: OpenClawConfig): Promise<void> {
|
|
const result = await ensureBrowserControlAuth({
|
|
cfg,
|
|
env: { OPENCLAW_BROWSER_AUTO_AUTH: "1" },
|
|
});
|
|
expect(result.generatedToken).toBeUndefined();
|
|
expect(result.auth.token).toBeUndefined();
|
|
expect(result.auth.password).toBeUndefined();
|
|
}
|
|
|
|
describe("trusted-proxy mode", () => {
|
|
it("should not auto-generate token when auth mode is trusted-proxy", 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 not auto-generate token when auth mode is password (even if password not set)", async () => {
|
|
const cfg: OpenClawConfig = {
|
|
gateway: {
|
|
auth: {
|
|
mode: "password",
|
|
},
|
|
},
|
|
};
|
|
await expectNoAutoGeneratedAuth(cfg);
|
|
});
|
|
});
|
|
|
|
describe("none mode", () => {
|
|
it("should not auto-generate token when auth mode is none", 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: { OPENCLAW_BROWSER_AUTO_AUTH: "1" },
|
|
});
|
|
|
|
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();
|
|
});
|
|
});
|
|
});
|