From 19a4b673512ef185a440cb0a700e9136fb4d2a36 Mon Sep 17 00:00:00 2001 From: risqy Date: Tue, 1 Aug 2023 20:21:09 +0200 Subject: [PATCH] test se fuckn endpoint --- scnserver/test/send_test.go | 40 +++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/scnserver/test/send_test.go b/scnserver/test/send_test.go index c2f89c2..092ead3 100644 --- a/scnserver/test/send_test.go +++ b/scnserver/test/send_test.go @@ -1780,3 +1780,43 @@ func TestSendWithPermissionSendKey(t *testing.T) { func TestSendDeliveryRetry(t *testing.T) { t.SkipNow() //TODO } + +func TestUptimeKuma(t *testing.T) { + ws, baseUrl, stop := tt.StartSimpleWebserver(t) + defer stop() + + pusher := ws.Pusher.(*push.TestSink) + + r0 := tt.RequestPost[gin.H](t, baseUrl, "/api/v2/users", gin.H{ + "agent_model": "DUMMY_PHONE", + "agent_version": "4X", + "client_type": "ANDROID", + "fcm_token": "DUMMY_FCM", + }) + + uid := r0["user_id"].(string) + admintok := r0["admin_key"].(string) + sendtok := r0["send_key"].(string) + + suffix := fmt.Sprintf("/webhook/uptime-kuma?user_id=%v&key=%v", uid, sendtok) + _ = tt.RequestPost[gin.H](t, baseUrl, suffix, gin.H{ + "msg": "Uptime Kuma failed with 503!", + "heartbeat": gin.H{ + "status": 0, + }, + "monitor": gin.H{ + "name": "Test-Kuma", + }, + }) + + tt.AssertEqual(t, "messageCount", 1, len(pusher.Data)) + tt.AssertStrRepEqual(t, "msg.title", "[UptimeKuma] Test-Kuma down!", pusher.Last().Message.Title) + + type mglist struct { + Messages []gin.H `json:"messages"` + } + + msgList1 := tt.RequestAuthGet[mglist](t, admintok, baseUrl, "/api/v2/messages") + tt.AssertEqual(t, "len(messages)", 1, len(msgList1.Messages)) + tt.AssertStrRepEqual(t, "msg.title", "[UptimeKuma] Test-Kuma down!", msgList1.Messages[0]["title"]) +}