test: optimize gateway infra memory and security coverage

This commit is contained in:
Peter Steinberger
2026-02-21 21:43:20 +00:00
parent 58254b3b57
commit cc2ff68947
24 changed files with 1163 additions and 1284 deletions

View File

@@ -215,11 +215,6 @@ describe("hooks", () => {
expect(isMessageReceivedEvent(event)).toBe(true);
});
it("returns false for non-message events", () => {
const event = createInternalHookEvent("command", "new", "test-session");
expect(isMessageReceivedEvent(event)).toBe(false);
});
it("returns false for message:sent events", () => {
const context: MessageSentHookContext = {
to: "+1234567890",
@@ -230,14 +225,6 @@ describe("hooks", () => {
const event = createInternalHookEvent("message", "sent", "test-session", context);
expect(isMessageReceivedEvent(event)).toBe(false);
});
it("returns false when context is missing required fields", () => {
const event = createInternalHookEvent("message", "received", "test-session", {
from: "+1234567890",
// missing channelId
});
expect(isMessageReceivedEvent(event)).toBe(false);
});
});
describe("isMessageSentEvent", () => {
@@ -266,11 +253,6 @@ describe("hooks", () => {
expect(isMessageSentEvent(event)).toBe(true);
});
it("returns false for non-message events", () => {
const event = createInternalHookEvent("command", "new", "test-session");
expect(isMessageSentEvent(event)).toBe(false);
});
it("returns false for message:received events", () => {
const context: MessageReceivedHookContext = {
from: "+1234567890",
@@ -280,14 +262,41 @@ describe("hooks", () => {
const event = createInternalHookEvent("message", "received", "test-session", context);
expect(isMessageSentEvent(event)).toBe(false);
});
});
it("returns false when context is missing required fields", () => {
const event = createInternalHookEvent("message", "sent", "test-session", {
describe("message type-guard shared negatives", () => {
it("returns false for non-message and missing-context shapes", () => {
const cases: Array<{
match: (event: ReturnType<typeof createInternalHookEvent>) => boolean;
}> = [
{
match: isMessageReceivedEvent,
},
{
match: isMessageSentEvent,
},
];
const nonMessageEvent = createInternalHookEvent("command", "new", "test-session");
const missingReceivedContext = createInternalHookEvent(
"message",
"received",
"test-session",
{
from: "+1234567890",
// missing channelId
},
);
const missingSentContext = createInternalHookEvent("message", "sent", "test-session", {
to: "+1234567890",
channelId: "whatsapp",
// missing success
});
expect(isMessageSentEvent(event)).toBe(false);
for (const testCase of cases) {
expect(testCase.match(nonMessageEvent)).toBe(false);
}
expect(isMessageReceivedEvent(missingReceivedContext)).toBe(false);
expect(isMessageSentEvent(missingSentContext)).toBe(false);
});
});