Fix tests
This commit is contained in:
@@ -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"])
|
||||
}
|
||||
|
||||
|
||||
@@ -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"])
|
||||
}
|
||||
|
||||
|
||||
@@ -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))))
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user