From 08fd34632afaecc469b68ff5844f161c1e5b029b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Schw=C3=B6rer?= Date: Mon, 19 Jan 2026 18:25:44 +0100 Subject: [PATCH] Fix tests --- scnserver/test/compat_test.go | 23 ++++++++-------- scnserver/test/send_test.go | 52 +++++++++++++++++------------------ scnserver/test/user_test.go | 13 +++++---- scnserver/test/util/common.go | 6 ++-- 4 files changed, 49 insertions(+), 45 deletions(-) diff --git a/scnserver/test/compat_test.go b/scnserver/test/compat_test.go index dc12749..f10778b 100644 --- a/scnserver/test/compat_test.go +++ b/scnserver/test/compat_test.go @@ -1,13 +1,14 @@ package test import ( - "blackforestbytes.com/simplecloudnotifier/push" - tt "blackforestbytes.com/simplecloudnotifier/test/util" "fmt" - "github.com/gin-gonic/gin" "net/url" "testing" "time" + + "blackforestbytes.com/simplecloudnotifier/push" + tt "blackforestbytes.com/simplecloudnotifier/test/util" + "github.com/gin-gonic/gin" ) func TestSendCompatWithOldUser(t *testing.T) { @@ -309,7 +310,7 @@ func TestCompatRegister(t *testing.T) { tt.AssertEqual(t, "success", true, r0["success"]) tt.AssertEqual(t, "message", "New user registered", r0["message"]) tt.AssertEqual(t, "quota", 0, r0["quota"]) - tt.AssertEqual(t, "quota_max", 50, r0["quota_max"]) + tt.AssertEqual(t, "quota_max", 500, r0["quota_max"]) tt.AssertEqual(t, "is_pro", false, r0["is_pro"]) } @@ -321,7 +322,7 @@ func TestCompatRegisterPro(t *testing.T) { tt.AssertEqual(t, "success", true, r0["success"]) tt.AssertEqual(t, "message", "New user registered", r0["message"]) tt.AssertEqual(t, "quota", 0, r0["quota"]) - tt.AssertEqual(t, "quota_max", 5000, r0["quota_max"]) + tt.AssertEqual(t, "quota_max", 15000, r0["quota_max"]) tt.AssertEqual(t, "is_pro", true, r0["is_pro"]) r1 := tt.RequestGet[gin.H](t, baseUrl, fmt.Sprintf("/api/register.php?fcm_token=%s&pro=%s&pro_token=%s", "DUMMY_FCM", "true", url.QueryEscape("INVALID"))) @@ -345,7 +346,7 @@ func TestCompatInfo(t *testing.T) { tt.AssertEqual(t, "is_pro", 0, r1["is_pro"]) tt.AssertEqual(t, "message", "ok", r1["message"]) tt.AssertEqual(t, "quota", 0, r1["quota"]) - tt.AssertEqual(t, "quota_max", 50, r1["quota_max"]) + tt.AssertEqual(t, "quota_max", 500, r1["quota_max"]) tt.AssertEqual(t, "unack_count", 0, r1["unack_count"]) tt.AssertEqual(t, "user_id", userid, r1["user_id"]) tt.AssertEqual(t, "user_key", userkey, r1["user_key"]) @@ -363,7 +364,7 @@ func TestCompatInfo(t *testing.T) { tt.AssertEqual(t, "is_pro", 0, r2["is_pro"]) tt.AssertEqual(t, "message", "ok", r2["message"]) tt.AssertEqual(t, "quota", 1, r2["quota"]) - tt.AssertEqual(t, "quota_max", 50, r2["quota_max"]) + tt.AssertEqual(t, "quota_max", 500, r2["quota_max"]) tt.AssertEqual(t, "unack_count", 1, r2["unack_count"]) tt.AssertEqual(t, "user_id", userid, r2["user_id"]) tt.AssertEqual(t, "user_key", userkey, r2["user_key"]) @@ -490,7 +491,7 @@ func TestCompatUpdateUserKey(t *testing.T) { tt.AssertEqual(t, "is_pro", 0, r1["is_pro"]) tt.AssertEqual(t, "message", "ok", r1["message"]) tt.AssertEqual(t, "quota", 1, r1["quota"]) - tt.AssertEqual(t, "quota_max", 50, r1["quota_max"]) + tt.AssertEqual(t, "quota_max", 500, r1["quota_max"]) tt.AssertEqual(t, "unack_count", 1, r1["unack_count"]) tt.AssertEqual(t, "user_id", userid, r1["user_id"]) tt.AssertEqual(t, "user_key", newkey, r1["user_key"]) @@ -527,7 +528,7 @@ func TestCompatUpdateFCM(t *testing.T) { tt.AssertEqual(t, "is_pro", 0, r1["is_pro"]) tt.AssertEqual(t, "message", "ok", r1["message"]) tt.AssertEqual(t, "quota", 1, r1["quota"]) - tt.AssertEqual(t, "quota_max", 50, r1["quota_max"]) + tt.AssertEqual(t, "quota_max", 500, r1["quota_max"]) tt.AssertEqual(t, "unack_count", 1, r1["unack_count"]) tt.AssertEqual(t, "user_id", userid, r1["user_id"]) tt.AssertEqual(t, "user_key", newkey, r1["user_key"]) @@ -554,7 +555,7 @@ func TestCompatUpgrade(t *testing.T) { tt.AssertEqual(t, "success", true, r0["success"]) tt.AssertEqual(t, "message", "New user registered", r0["message"]) tt.AssertEqual(t, "quota", 0, r0["quota"]) - tt.AssertEqual(t, "quota_max", 50, r0["quota_max"]) + tt.AssertEqual(t, "quota_max", 500, r0["quota_max"]) tt.AssertEqual(t, "is_pro", false, r0["is_pro"]) userid := int64(r0["user_id"].(float64)) @@ -564,7 +565,7 @@ func TestCompatUpgrade(t *testing.T) { tt.AssertEqual(t, "success", true, r1["success"]) tt.AssertEqual(t, "message", "user updated", r1["message"]) tt.AssertEqual(t, "quota", 0, r1["quota"]) - tt.AssertEqual(t, "quota_max", 5000, r1["quota_max"]) + tt.AssertEqual(t, "quota_max", 15000, r1["quota_max"]) tt.AssertEqual(t, "is_pro", true, r1["is_pro"]) } diff --git a/scnserver/test/send_test.go b/scnserver/test/send_test.go index 4b79c73..3119a6c 100644 --- a/scnserver/test/send_test.go +++ b/scnserver/test/send_test.go @@ -1174,8 +1174,8 @@ func TestQuotaExceededNoPro(t *testing.T) { sendtok := r0["send_key"].(string) tt.AssertStrRepEqual(t, "quota.0", 0, r0["quota_used"]) - tt.AssertStrRepEqual(t, "quota.0", 50, r0["quota_max"]) - tt.AssertStrRepEqual(t, "quota.0", 50, r0["quota_remaining"]) + tt.AssertStrRepEqual(t, "quota.0", 500, r0["quota_max"]) + tt.AssertStrRepEqual(t, "quota.0", 500, r0["quota_remaining"]) { msg1 := tt.RequestPost[gin.H](t, baseUrl, "/", gin.H{ @@ -1184,18 +1184,18 @@ func TestQuotaExceededNoPro(t *testing.T) { "title": tt.ShortLipsum0(2), }) tt.AssertStrRepEqual(t, "quota.msg.1", 1, msg1["quota"]) - tt.AssertStrRepEqual(t, "quota.msg.1", 50, msg1["quota_max"]) + tt.AssertStrRepEqual(t, "quota.msg.1", 500, msg1["quota_max"]) } { usr := tt.RequestAuthGet[gin.H](t, admintok, baseUrl, fmt.Sprintf("/api/v2/users/%s", uid)) tt.AssertStrRepEqual(t, "quota.1", 1, usr["quota_used"]) - tt.AssertStrRepEqual(t, "quota.1", 50, usr["quota_max"]) - tt.AssertStrRepEqual(t, "quota.1", 49, usr["quota_remaining"]) + tt.AssertStrRepEqual(t, "quota.1", 500, usr["quota_max"]) + tt.AssertStrRepEqual(t, "quota.1", 499, usr["quota_remaining"]) } - for i := 0; i < 48; i++ { + for i := 0; i < 498; i++ { tt.RequestPost[gin.H](t, baseUrl, "/", gin.H{ "key": sendtok, @@ -1207,24 +1207,24 @@ func TestQuotaExceededNoPro(t *testing.T) { { usr := tt.RequestAuthGet[gin.H](t, admintok, baseUrl, fmt.Sprintf("/api/v2/users/%s", uid)) - tt.AssertStrRepEqual(t, "quota.49", 49, usr["quota_used"]) - tt.AssertStrRepEqual(t, "quota.49", 50, usr["quota_max"]) + tt.AssertStrRepEqual(t, "quota.49", 499, usr["quota_used"]) + tt.AssertStrRepEqual(t, "quota.49", 500, usr["quota_max"]) tt.AssertStrRepEqual(t, "quota.49", 1, usr["quota_remaining"]) } - msg50 := tt.RequestPost[gin.H](t, baseUrl, "/", gin.H{ + msg500 := tt.RequestPost[gin.H](t, baseUrl, "/", gin.H{ "key": sendtok, "user_id": uid, "title": tt.ShortLipsum0(2), }) - tt.AssertStrRepEqual(t, "quota.msg.50", 50, msg50["quota"]) - tt.AssertStrRepEqual(t, "quota.msg.50", 50, msg50["quota_max"]) + tt.AssertStrRepEqual(t, "quota.msg.50", 500, msg500["quota"]) + tt.AssertStrRepEqual(t, "quota.msg.50", 500, msg500["quota_max"]) { usr := tt.RequestAuthGet[gin.H](t, admintok, baseUrl, fmt.Sprintf("/api/v2/users/%s", uid)) - tt.AssertStrRepEqual(t, "quota.50", 50, usr["quota_used"]) - tt.AssertStrRepEqual(t, "quota.50", 50, usr["quota_max"]) + tt.AssertStrRepEqual(t, "quota.50", 500, usr["quota_used"]) + tt.AssertStrRepEqual(t, "quota.50", 500, usr["quota_max"]) tt.AssertStrRepEqual(t, "quota.50", 0, usr["quota_remaining"]) } @@ -1252,8 +1252,8 @@ func TestQuotaExceededPro(t *testing.T) { sendtok := r0["send_key"].(string) tt.AssertStrRepEqual(t, "quota.0", 0, r0["quota_used"]) - tt.AssertStrRepEqual(t, "quota.0", 5000, r0["quota_max"]) - tt.AssertStrRepEqual(t, "quota.0", 5000, r0["quota_remaining"]) + tt.AssertStrRepEqual(t, "quota.0", 15000, r0["quota_max"]) + tt.AssertStrRepEqual(t, "quota.0", 15000, r0["quota_remaining"]) { msg1 := tt.RequestPost[gin.H](t, baseUrl, "/", gin.H{ @@ -1262,18 +1262,18 @@ func TestQuotaExceededPro(t *testing.T) { "title": tt.ShortLipsum0(2), }) tt.AssertStrRepEqual(t, "quota.msg.1", 1, msg1["quota"]) - tt.AssertStrRepEqual(t, "quota.msg.1", 5000, msg1["quota_max"]) + tt.AssertStrRepEqual(t, "quota.msg.1", 15000, msg1["quota_max"]) } { usr := tt.RequestAuthGet[gin.H](t, admintok, baseUrl, fmt.Sprintf("/api/v2/users/%s", uid)) tt.AssertStrRepEqual(t, "quota.1", 1, usr["quota_used"]) - tt.AssertStrRepEqual(t, "quota.1", 5000, usr["quota_max"]) - tt.AssertStrRepEqual(t, "quota.1", 4999, usr["quota_remaining"]) + tt.AssertStrRepEqual(t, "quota.1", 15000, usr["quota_max"]) + tt.AssertStrRepEqual(t, "quota.1", 14999, usr["quota_remaining"]) } - for i := 0; i < 4998; i++ { + for i := 0; i < 14998; i++ { tt.RequestPost[gin.H](t, baseUrl, "/", gin.H{ "key": sendtok, @@ -1285,9 +1285,9 @@ func TestQuotaExceededPro(t *testing.T) { { usr := tt.RequestAuthGet[gin.H](t, admintok, baseUrl, fmt.Sprintf("/api/v2/users/%s", uid)) - tt.AssertStrRepEqual(t, "quota.999", 4999, usr["quota_used"]) - tt.AssertStrRepEqual(t, "quota.999", 5000, usr["quota_max"]) - tt.AssertStrRepEqual(t, "quota.999", 1, usr["quota_remaining"]) + tt.AssertStrRepEqual(t, "quota.14999", 14999, usr["quota_used"]) + tt.AssertStrRepEqual(t, "quota.14999", 15000, usr["quota_max"]) + tt.AssertStrRepEqual(t, "quota.14999", 1, usr["quota_remaining"]) } msg50 := tt.RequestPost[gin.H](t, baseUrl, "/", gin.H{ @@ -1295,14 +1295,14 @@ func TestQuotaExceededPro(t *testing.T) { "user_id": uid, "title": tt.ShortLipsum0(2), }) - tt.AssertStrRepEqual(t, "quota.msg.5000", 5000, msg50["quota"]) - tt.AssertStrRepEqual(t, "quota.msg.5000", 5000, msg50["quota_max"]) + tt.AssertStrRepEqual(t, "quota.msg.5000", 15000, msg50["quota"]) + tt.AssertStrRepEqual(t, "quota.msg.5000", 15000, msg50["quota_max"]) { usr := tt.RequestAuthGet[gin.H](t, admintok, baseUrl, fmt.Sprintf("/api/v2/users/%s", uid)) - tt.AssertStrRepEqual(t, "quota.5000", 5000, usr["quota_used"]) - tt.AssertStrRepEqual(t, "quota.5000", 5000, usr["quota_max"]) + tt.AssertStrRepEqual(t, "quota.5000", 15000, usr["quota_used"]) + tt.AssertStrRepEqual(t, "quota.5000", 15000, usr["quota_max"]) tt.AssertStrRepEqual(t, "quota.5000", 0, usr["quota_remaining"]) } diff --git a/scnserver/test/user_test.go b/scnserver/test/user_test.go index 6a0d242..b140c96 100644 --- a/scnserver/test/user_test.go +++ b/scnserver/test/user_test.go @@ -1,11 +1,12 @@ package test import ( + "fmt" + "testing" + "blackforestbytes.com/simplecloudnotifier/api/apierr" tt "blackforestbytes.com/simplecloudnotifier/test/util" - "fmt" "github.com/gin-gonic/gin" - "testing" ) func TestCreateUserNoClient(t *testing.T) { @@ -451,8 +452,8 @@ func TestGetUserNoPro(t *testing.T) { tt.AssertEqual(t, "timestamp_lastsent", nil, r1["timestamp_lastsent"]) tt.AssertEqual(t, "messages_sent", "0", fmt.Sprintf("%v", r1["messages_sent"])) tt.AssertEqual(t, "quota_used", "0", fmt.Sprintf("%v", r1["quota_used"])) - tt.AssertEqual(t, "quota_remaining", "50", fmt.Sprintf("%v", r1["quota_remaining"])) - tt.AssertEqual(t, "quota_max", "50", fmt.Sprintf("%v", r1["quota_max"])) + tt.AssertEqual(t, "quota_remaining", "500", fmt.Sprintf("%v", r1["quota_remaining"])) + tt.AssertEqual(t, "quota_max", "500", fmt.Sprintf("%v", r1["quota_max"])) tt.AssertEqual(t, "is_pro", "false", fmt.Sprintf("%v", r1["is_pro"])) tt.AssertEqual(t, "default_channel", "main", fmt.Sprintf("%v", r1["default_channel"])) tt.AssertEqual(t, "max_body_size", "2048", fmt.Sprintf("%v", r1["max_body_size"])) @@ -485,8 +486,8 @@ func TestGetUserPro(t *testing.T) { tt.AssertEqual(t, "timestamp_lastsent", nil, r1["timestamp_lastsent"]) tt.AssertEqual(t, "messages_sent", "0", fmt.Sprintf("%v", r1["messages_sent"])) tt.AssertEqual(t, "quota_used", "0", fmt.Sprintf("%v", r1["quota_used"])) - tt.AssertEqual(t, "quota_remaining", "5000", fmt.Sprintf("%v", r1["quota_remaining"])) - tt.AssertEqual(t, "quota_max", "5000", fmt.Sprintf("%v", r1["quota_max"])) + tt.AssertEqual(t, "quota_remaining", "15000", fmt.Sprintf("%v", r1["quota_remaining"])) + tt.AssertEqual(t, "quota_max", "15000", fmt.Sprintf("%v", r1["quota_max"])) tt.AssertEqual(t, "is_pro", "true", fmt.Sprintf("%v", r1["is_pro"])) tt.AssertEqual(t, "default_channel", "main", fmt.Sprintf("%v", r1["default_channel"])) tt.AssertEqual(t, "max_body_size", "2097152", fmt.Sprintf("%d", (int64)(r1["max_body_size"].(float64)))) diff --git a/scnserver/test/util/common.go b/scnserver/test/util/common.go index deec6ba..388639c 100644 --- a/scnserver/test/util/common.go +++ b/scnserver/test/util/common.go @@ -3,13 +3,14 @@ package util import ( "encoding/json" "fmt" - "git.blackforestbytes.com/BlackForestBytes/goext/langext" - "github.com/gin-gonic/gin" "math" "reflect" "runtime/debug" "strings" "testing" + + "git.blackforestbytes.com/BlackForestBytes/goext/langext" + "github.com/gin-gonic/gin" ) func AssertJsonMapEqual(t *testing.T, key string, expected map[string]any, actual map[string]any) { @@ -36,6 +37,7 @@ func AssertJsonMapEqual(t *testing.T, key string, expected map[string]any, actua } func AssertEqual(t *testing.T, key string, expected any, actual any) { + t.Helper() // try to fix types, kinda hacky, but its only unit tests... switch vex := expected.(type) {