@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
JavaScript
;
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);
});
});