mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 07:29:34 +00:00
test: tighten relay smoke + slack token validation
This commit is contained in:
@@ -33,4 +33,39 @@ describe("Slack token config fields", () => {
|
|||||||
});
|
});
|
||||||
expect(res.ok).toBe(true);
|
expect(res.ok).toBe(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("rejects invalid userTokenReadOnly types", () => {
|
||||||
|
const res = validateConfigObject({
|
||||||
|
channels: {
|
||||||
|
slack: {
|
||||||
|
botToken: "xoxb-any",
|
||||||
|
appToken: "xapp-any",
|
||||||
|
userToken: "xoxp-any",
|
||||||
|
// oxlint-disable-next-line typescript/no-explicit-any
|
||||||
|
userTokenReadOnly: "no" as any,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
expect(res.ok).toBe(false);
|
||||||
|
if (!res.ok) {
|
||||||
|
expect(res.issues.some((iss) => iss.path.includes("userTokenReadOnly"))).toBe(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
it("rejects invalid userToken types", () => {
|
||||||
|
const res = validateConfigObject({
|
||||||
|
channels: {
|
||||||
|
slack: {
|
||||||
|
botToken: "xoxb-any",
|
||||||
|
appToken: "xapp-any",
|
||||||
|
// oxlint-disable-next-line typescript/no-explicit-any
|
||||||
|
userToken: 123 as any,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
expect(res.ok).toBe(false);
|
||||||
|
if (!res.ok) {
|
||||||
|
expect(res.issues.some((iss) => iss.path.includes("userToken"))).toBe(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -10,6 +10,18 @@ describe("parseRelaySmokeTest", () => {
|
|||||||
expect(parseRelaySmokeTest(["--smoke", "qr"], {})).toBe("qr");
|
expect(parseRelaySmokeTest(["--smoke", "qr"], {})).toBe("qr");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("rejects --smoke without a value", () => {
|
||||||
|
expect(() => parseRelaySmokeTest(["--smoke"], {})).toThrow(
|
||||||
|
"Missing value for --smoke (expected: qr)",
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("rejects --smoke when the next arg is another flag", () => {
|
||||||
|
expect(() => parseRelaySmokeTest(["--smoke", "--smoke-qr"], {})).toThrow(
|
||||||
|
"Missing value for --smoke (expected: qr)",
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
it("parses --smoke-qr", () => {
|
it("parses --smoke-qr", () => {
|
||||||
expect(parseRelaySmokeTest(["--smoke-qr"], {})).toBe("qr");
|
expect(parseRelaySmokeTest(["--smoke-qr"], {})).toBe("qr");
|
||||||
});
|
});
|
||||||
@@ -19,9 +31,18 @@ describe("parseRelaySmokeTest", () => {
|
|||||||
expect(parseRelaySmokeTest(["send"], { OPENCLAW_SMOKE_QR: "1" })).toBe(null);
|
expect(parseRelaySmokeTest(["send"], { OPENCLAW_SMOKE_QR: "1" })).toBe(null);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("supports OPENCLAW_SMOKE=qr only when no args", () => {
|
||||||
|
expect(parseRelaySmokeTest([], { OPENCLAW_SMOKE: "qr" })).toBe("qr");
|
||||||
|
expect(parseRelaySmokeTest(["send"], { OPENCLAW_SMOKE: "qr" })).toBe(null);
|
||||||
|
});
|
||||||
|
|
||||||
it("rejects unknown smoke values", () => {
|
it("rejects unknown smoke values", () => {
|
||||||
expect(() => parseRelaySmokeTest(["--smoke", "nope"], {})).toThrow("Unknown smoke test");
|
expect(() => parseRelaySmokeTest(["--smoke", "nope"], {})).toThrow("Unknown smoke test");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("prefers explicit --smoke over env vars", () => {
|
||||||
|
expect(parseRelaySmokeTest(["--smoke", "qr"], { OPENCLAW_SMOKE: "nope" })).toBe("qr");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("runRelaySmokeTest", () => {
|
describe("runRelaySmokeTest", () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user