mirror of https://github.com/openclaw/openclaw.git
test: dedupe feishu signed webhook posts
This commit is contained in:
parent
4d1fcc1df2
commit
b213348665
|
|
@ -50,6 +50,14 @@ function encryptFeishuPayload(encryptKey: string, payload: Record<string, unknow
|
||||||
return Buffer.concat([iv, encrypted]).toString("base64");
|
return Buffer.concat([iv, encrypted]).toString("base64");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function postSignedPayload(url: string, payload: Record<string, unknown>) {
|
||||||
|
return await fetch(url, {
|
||||||
|
method: "POST",
|
||||||
|
headers: signFeishuPayload({ encryptKey: "encrypt_key", payload }),
|
||||||
|
body: JSON.stringify(payload),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
stopFeishuMonitor();
|
stopFeishuMonitor();
|
||||||
});
|
});
|
||||||
|
|
@ -143,11 +151,7 @@ describe("Feishu webhook signed-request e2e", () => {
|
||||||
monitorFeishuProvider,
|
monitorFeishuProvider,
|
||||||
async (url) => {
|
async (url) => {
|
||||||
const payload = { type: "url_verification", challenge: "challenge-token" };
|
const payload = { type: "url_verification", challenge: "challenge-token" };
|
||||||
const response = await fetch(url, {
|
const response = await postSignedPayload(url, payload);
|
||||||
method: "POST",
|
|
||||||
headers: signFeishuPayload({ encryptKey: "encrypt_key", payload }),
|
|
||||||
body: JSON.stringify(payload),
|
|
||||||
});
|
|
||||||
|
|
||||||
expect(response.status).toBe(200);
|
expect(response.status).toBe(200);
|
||||||
await expect(response.json()).resolves.toEqual({ challenge: "challenge-token" });
|
await expect(response.json()).resolves.toEqual({ challenge: "challenge-token" });
|
||||||
|
|
@ -172,11 +176,7 @@ describe("Feishu webhook signed-request e2e", () => {
|
||||||
header: { event_type: "unknown.event" },
|
header: { event_type: "unknown.event" },
|
||||||
event: {},
|
event: {},
|
||||||
};
|
};
|
||||||
const response = await fetch(url, {
|
const response = await postSignedPayload(url, payload);
|
||||||
method: "POST",
|
|
||||||
headers: signFeishuPayload({ encryptKey: "encrypt_key", payload }),
|
|
||||||
body: JSON.stringify(payload),
|
|
||||||
});
|
|
||||||
|
|
||||||
expect(response.status).toBe(200);
|
expect(response.status).toBe(200);
|
||||||
expect(await response.text()).toContain("no unknown.event event handle");
|
expect(await response.text()).toContain("no unknown.event event handle");
|
||||||
|
|
@ -202,11 +202,7 @@ describe("Feishu webhook signed-request e2e", () => {
|
||||||
challenge: "encrypted-challenge-token",
|
challenge: "encrypted-challenge-token",
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
const response = await fetch(url, {
|
const response = await postSignedPayload(url, payload);
|
||||||
method: "POST",
|
|
||||||
headers: signFeishuPayload({ encryptKey: "encrypt_key", payload }),
|
|
||||||
body: JSON.stringify(payload),
|
|
||||||
});
|
|
||||||
|
|
||||||
expect(response.status).toBe(200);
|
expect(response.status).toBe(200);
|
||||||
await expect(response.json()).resolves.toEqual({
|
await expect(response.json()).resolves.toEqual({
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue