diff --git a/server/notification-providers/matrix.spec.js b/server/notification-providers/matrix.spec.js index 326d933..b70c569 100644 --- a/server/notification-providers/matrix.spec.js +++ b/server/notification-providers/matrix.spec.js @@ -33,7 +33,7 @@ describe("notification to act properly on send", () => { } }; axios.put.mockResolvedValueOnce(response); - Crypto.randomBytes.mockReturnValueOnce(new Buffer("abcd")); + Crypto.randomBytes.mockReturnValueOnce(Buffer.from("abcd")); let notif = new Matrix(); @@ -68,7 +68,7 @@ describe("notification to act properly on send", () => { } }; axios.put.mockResolvedValueOnce(response); - Crypto.randomBytes.mockReturnValueOnce(new Buffer("abcd")); + Crypto.randomBytes.mockReturnValueOnce(Buffer.from("abcd")); let notif = new Matrix(); let notificationConf = { @@ -100,7 +100,7 @@ describe("notification to act properly on error", () => { axios.put.mockImplementation(() => { throw new Error("Test Error"); }); - Crypto.randomBytes.mockReturnValueOnce(new Buffer("abcd")); + Crypto.randomBytes.mockReturnValueOnce(Buffer.from("abcd")); let notif = new Matrix(); let notificationConf = { @@ -142,7 +142,7 @@ describe("notification to get proper data from Notification.send", () => { } }; axios.put.mockResolvedValueOnce(response); - Crypto.randomBytes.mockReturnValueOnce(new Buffer("abcd")); + Crypto.randomBytes.mockReturnValueOnce(Buffer.from("abcd")); let notificationConf = { type: "matrix", diff --git a/server/notification-providers/pushover.spec.js b/server/notification-providers/pushover.spec.js index d86676b..d6ee4f7 100644 --- a/server/notification-providers/pushover.spec.js +++ b/server/notification-providers/pushover.spec.js @@ -18,124 +18,160 @@ describe("notification default information", () => { }); }); -// describe("notification to act properly on send", () => { -// it("should call axios with the proper default data", async () => { - -// let response = { -// data: { -// Message: "OK" -// } -// }; -// axios.post.mockResolvedValueOnce(response); - -// let notif = new Pushover(); -// let notificationConf = { -// type: "octopush", -// pushoveruserkey: "123", -// pushoverapptoken: "token", -// pushoversounds: "ding", -// pushoverpriority: "6", -// pushovertitle: "Important Title!", -// }; -// let monitorConf = { -// }; -// let heartbeatConf = { -// time: "example time", -// }; -// let msg = "PassedInMessage😀"; -// let res = await notif.send(notificationConf, msg, monitorConf, heartbeatConf); - -// expect(axios.post).toHaveBeenCalledWith("", { -// }); -// expect(res).toBe("Sent Successfully."); -// }); - -// it("should call axios with the proper data when monitor nil", async () => { -// let response = { -// data: { -// Message: "OK" -// } -// }; -// axios.post.mockResolvedValueOnce(response); - -// let notif = new Pushover(); -// let notificationConf = { -// type: "octopush", -// pushoveruserkey: "123", -// pushoverapptoken: "token", -// pushoversounds: "ding", -// pushoverpriority: "6", -// pushovertitle: "Important Title!", -// }; -// let msg = "PassedInMessage😀"; - -// let res = await notif.send(notificationConf, msg, null, null); - -// expect(axios.post).toHaveBeenCalledWith("", { -// }); -// expect(res).toBe("Sent Successfully."); -// }); - -// }); - -// describe("notification to act properly on error", () => { -// it("should respond with an axios error on error", async () => { - -// axios.post.mockImplementation(() => { -// throw new Error("Test Error"); -// }); -// let notif = new Pushover(); -// let notificationConf = { -// type: "octopush", -// pushoveruserkey: "123", -// pushoverapptoken: "token", -// pushoversounds: "ding", -// pushoverpriority: "6", -// pushovertitle: "Important Title!", -// }; -// let msg = "PassedInMessage😀"; - -// try { -// await notif.send(notificationConf, msg, null, null); -// expect("Error thrown").toBe(false); -// } catch (e) { -// expect(e.message).toBe("Error: Error: Test Error "); -// } - -// expect(axios.post).toHaveBeenCalledWith("", { -// }); -// }); - -// }); - -// describe("notification to get proper data from Notification.send", () => { -// it("should call axios with proper data", async () => { -// let response = { -// data: { -// Message: "OK" -// } -// }; -// axios.post.mockResolvedValueOnce(response); -// let notificationConf = { -// type: "octopush", -// pushoveruserkey: "123", -// pushoverapptoken: "token", -// pushoversounds: "ding", -// pushoverpriority: "6", -// pushovertitle: "Important Title!", -// }; -// let monitorConf = { -// }; -// let heartbeatConf = { -// time: "example time", -// }; -// let msg = "PassedInMessage😀"; - -// NotificationSend.Notification.init(); -// let res = await NotificationSend.Notification.send(notificationConf, msg, monitorConf, heartbeatConf); -// expect(axios.post).toHaveBeenCalledWith("", { -// }); -// expect(res).toBe("Sent Successfully."); -// }); - -// }); +describe("notification to act properly on send", () => { + it("should call axios with the proper default data", async () => { + + let response = { + data: { + Message: "OK" + } + }; + axios.post.mockResolvedValueOnce(response); + + let notif = new Pushover(); + let notificationConf = { + type: "octopush", + pushoveruserkey: "123", + pushoverapptoken: "token", + pushoversounds: "ding", + pushoverpriority: "6", + pushovertitle: "Important Title!", + }; + let monitorConf = { + }; + let heartbeatConf = { + time: "example time", + }; + let msg = "PassedInMessage😀"; + let res = await notif.send(notificationConf, msg, monitorConf, heartbeatConf); + + expect(axios.post).toHaveBeenCalledWith("https://api.pushover.net/1/messages.json", { + "expire": "3600", + "html": 1, + "message": "Uptime Kuma Alert\n\nMessage:PassedInMessage😀\nTime (UTC):example time", + "priority": "6", + "retry": "30", + "sound": "ding", + "title": "Important Title!", + "token": "token", + "user": "123", + }); + expect(res).toBe("Sent Successfully."); + }); + + it("should call axios with the proper data when monitor nil", async () => { + let response = { + data: { + Message: "OK" + } + }; + axios.post.mockResolvedValueOnce(response); + + let notif = new Pushover(); + let notificationConf = { + type: "octopush", + pushoveruserkey: "123", + pushoverapptoken: "token", + pushoversounds: "ding", + pushoverpriority: "6", + pushovertitle: "Important Title!", + }; + let msg = "PassedInMessage😀"; + + let res = await notif.send(notificationConf, msg, null, null); + + expect(axios.post).toHaveBeenCalledWith("https://api.pushover.net/1/messages.json", { + "expire": "3600", + "html": 1, + "message": "Uptime Kuma Pushover testing successful.", + "priority": "6", + "retry": "30", + "sound": "ding", + "title": "Important Title!", + "token": "token", + "user": "123", + }); + expect(res).toBe("Sent Successfully."); + }); + +}); + +describe("notification to act properly on error", () => { + it("should respond with an axios error on error", async () => { + + axios.post.mockImplementation(() => { + throw new Error("Test Error"); + }); + let notif = new Pushover(); + let notificationConf = { + type: "octopush", + pushoveruserkey: "123", + pushoverapptoken: "token", + pushoversounds: "ding", + pushoverpriority: "6", + pushovertitle: "Important Title!", + }; + let msg = "PassedInMessage😀"; + + try { + await notif.send(notificationConf, msg, null, null); + expect("Error thrown").toBe(false); + } catch (e) { + expect(e.message).toBe("Error: Error: Test Error "); + } + + expect(axios.post).toHaveBeenCalledWith("https://api.pushover.net/1/messages.json", { + "expire": "3600", + "html": 1, + "message": "Uptime Kuma Pushover testing successful.", + "priority": "6", + "retry": "30", + "sound": "ding", + "title": "Important Title!", + "token": "token", + "user": "123", + }); + }); + +}); + +describe("notification to get proper data from Notification.send", () => { + it("should call axios with proper data", async () => { + let response = { + data: { + Message: "OK" + } + }; + axios.post.mockResolvedValueOnce(response); + let notificationConf = { + type: "pushover", + pushoveruserkey: "123", + pushoverapptoken: "token", + pushoversounds: "ding", + pushoverpriority: "6", + pushovertitle: "Important Title!", + }; + let monitorConf = { + }; + let heartbeatConf = { + time: "example time", + }; + let msg = "PassedInMessage😀"; + + NotificationSend.Notification.init(); + let res = await NotificationSend.Notification.send(notificationConf, msg, monitorConf, heartbeatConf); + expect(axios.post).toHaveBeenCalledWith("https://api.pushover.net/1/messages.json", { + "expire": "3600", + "html": 1, + "message": "Uptime Kuma Alert\n\nMessage:PassedInMessage😀\nTime (UTC):example time", + "priority": "6", + "retry": "30", + "sound": "ding", + "title": "Important Title!", + "token": "token", + "user": "123", + }); + expect(res).toBe("Sent Successfully."); + }); + +});