mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-16 04:10:45 +00:00
test: tighten twilio api assertions
This commit is contained in:
@@ -41,15 +41,11 @@ describe("twilioApiRequest", () => {
|
||||
expect(auditContext).toBe("voice-call.twilio.api");
|
||||
expect(policy).toEqual({ allowedHostnames: ["api.twilio.com"] });
|
||||
expect(timeoutMs).toBe(30_000);
|
||||
expect(init).toEqual(
|
||||
expect.objectContaining({
|
||||
method: "POST",
|
||||
headers: {
|
||||
Authorization: `Basic ${Buffer.from("AC123:secret").toString("base64")}`,
|
||||
"Content-Type": "application/x-www-form-urlencoded",
|
||||
},
|
||||
}),
|
||||
);
|
||||
expect(init?.method).toBe("POST");
|
||||
expect(init?.headers).toEqual({
|
||||
Authorization: `Basic ${Buffer.from("AC123:secret").toString("base64")}`,
|
||||
"Content-Type": "application/x-www-form-urlencoded",
|
||||
});
|
||||
const requestBody = init?.body;
|
||||
if (!(requestBody instanceof URLSearchParams)) {
|
||||
throw new Error("expected URLSearchParams request body");
|
||||
@@ -126,20 +122,25 @@ describe("twilioApiRequest", () => {
|
||||
release,
|
||||
});
|
||||
|
||||
await expect(
|
||||
twilioApiRequest({
|
||||
try {
|
||||
await twilioApiRequest({
|
||||
baseUrl: "https://api.twilio.com",
|
||||
accountSid: "AC123",
|
||||
authToken: "secret",
|
||||
endpoint: "/Calls/CA123.json",
|
||||
body: {},
|
||||
}),
|
||||
).rejects.toMatchObject({
|
||||
name: "TwilioApiError",
|
||||
httpStatus: 400,
|
||||
twilioCode: 21220,
|
||||
message: "Twilio API error: 400 Call is not in-progress. Cannot redirect.",
|
||||
} satisfies Partial<TwilioApiError>);
|
||||
});
|
||||
throw new Error("expected Twilio API request to reject");
|
||||
} catch (error) {
|
||||
expect(error).toBeInstanceOf(TwilioApiError);
|
||||
const twilioError = error as TwilioApiError;
|
||||
expect(twilioError.name).toBe("TwilioApiError");
|
||||
expect(twilioError.httpStatus).toBe(400);
|
||||
expect(twilioError.twilioCode).toBe(21220);
|
||||
expect(twilioError.message).toBe(
|
||||
"Twilio API error: 400 Call is not in-progress. Cannot redirect.",
|
||||
);
|
||||
}
|
||||
expect(release).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user