UNPKG

@davidbolaji/termii-node

Version:

Node.js SDK for Termii API – send SMS, voice, OTP, and manage messaging with ease.

39 lines (38 loc) 1.38 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const crypto_1 = __importDefault(require("crypto")); const EventService_1 = require("../insights/EventService"); describe("EventService", () => { let service; beforeEach(() => { service = new EventService_1.EventService(); }); it("verifies a valid signature", () => { const rawPayload = "payload"; const secretKey = "secret"; const signature = crypto_1.default.createHmac("sha512", secretKey).update(rawPayload).digest("hex"); expect(service.verifySignature(rawPayload, signature, secretKey)).toBe(true); }); it("rejects an invalid signature", () => { expect(service.verifySignature("a", "b", "secret")).toBe(false); }); it("parses event payload", () => { const payload = { type: "outbound_message", id: "1", message_id: "mid", receiver: "r", sender: "s", message: "msg", sent_at: "now", cost: "0", status: "DELIVERED", channel: "generic", }; const result = service.parseEvent(payload); expect(result).toEqual(payload); }); });