Tests[SendContentMessage]
This commit is contained in:
parent
7aa7eb234d
commit
11a6517156
@ -42,7 +42,8 @@ func TestSendSimpleMessageJSON(t *testing.T) {
|
|||||||
}, 401, 1311)
|
}, 401, 1311)
|
||||||
|
|
||||||
tt.AssertEqual(t, "messageCount", 1, len(pusher.Data))
|
tt.AssertEqual(t, "messageCount", 1, len(pusher.Data))
|
||||||
tt.AssertEqual(t, "msg.title", "HelloWorld_001", pusher.Last().Message.Title)
|
tt.AssertStrRepEqual(t, "msg.title", "HelloWorld_001", pusher.Last().Message.Title)
|
||||||
|
tt.AssertStrRepEqual(t, "msg.content", nil, pusher.Last().Message.Content)
|
||||||
tt.AssertStrRepEqual(t, "msg.scn_msg_id", msg1["scn_msg_id"], pusher.Last().Message.SCNMessageID)
|
tt.AssertStrRepEqual(t, "msg.scn_msg_id", msg1["scn_msg_id"], pusher.Last().Message.SCNMessageID)
|
||||||
|
|
||||||
type mglist struct {
|
type mglist struct {
|
||||||
@ -53,8 +54,8 @@ func TestSendSimpleMessageJSON(t *testing.T) {
|
|||||||
tt.AssertEqual(t, "len(messages)", 1, len(msgList1.Messages))
|
tt.AssertEqual(t, "len(messages)", 1, len(msgList1.Messages))
|
||||||
|
|
||||||
msg1Get := tt.RequestAuthGet[gin.H](t, admintok, baseUrl, "/api/messages/"+fmt.Sprintf("%v", msg1["scn_msg_id"]))
|
msg1Get := tt.RequestAuthGet[gin.H](t, admintok, baseUrl, "/api/messages/"+fmt.Sprintf("%v", msg1["scn_msg_id"]))
|
||||||
tt.AssertEqual(t, "msg.title", "HelloWorld_001", msg1Get["title"])
|
tt.AssertStrRepEqual(t, "msg.title", "HelloWorld_001", msg1Get["title"])
|
||||||
tt.AssertEqual(t, "msg.channel_name", "main", msg1Get["channel_name"])
|
tt.AssertStrRepEqual(t, "msg.channel_name", "main", msg1Get["channel_name"])
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSendSimpleMessageQuery(t *testing.T) {
|
func TestSendSimpleMessageQuery(t *testing.T) {
|
||||||
@ -79,7 +80,8 @@ func TestSendSimpleMessageQuery(t *testing.T) {
|
|||||||
msg1 := tt.RequestPost[gin.H](t, baseUrl, fmt.Sprintf("/?user_id=%d&user_key=%s&title=%s", uid, sendtok, url.QueryEscape("Hello World 2134")), nil)
|
msg1 := tt.RequestPost[gin.H](t, baseUrl, fmt.Sprintf("/?user_id=%d&user_key=%s&title=%s", uid, sendtok, url.QueryEscape("Hello World 2134")), nil)
|
||||||
|
|
||||||
tt.AssertEqual(t, "messageCount", 1, len(pusher.Data))
|
tt.AssertEqual(t, "messageCount", 1, len(pusher.Data))
|
||||||
tt.AssertEqual(t, "msg.title", "Hello World 2134", pusher.Last().Message.Title)
|
tt.AssertStrRepEqual(t, "msg.title", "Hello World 2134", pusher.Last().Message.Title)
|
||||||
|
tt.AssertStrRepEqual(t, "msg.content", nil, pusher.Last().Message.Content)
|
||||||
tt.AssertStrRepEqual(t, "msg.scn_msg_id", msg1["scn_msg_id"], pusher.Last().Message.SCNMessageID)
|
tt.AssertStrRepEqual(t, "msg.scn_msg_id", msg1["scn_msg_id"], pusher.Last().Message.SCNMessageID)
|
||||||
|
|
||||||
type mglist struct {
|
type mglist struct {
|
||||||
@ -90,8 +92,8 @@ func TestSendSimpleMessageQuery(t *testing.T) {
|
|||||||
tt.AssertEqual(t, "len(messages)", 1, len(msgList1.Messages))
|
tt.AssertEqual(t, "len(messages)", 1, len(msgList1.Messages))
|
||||||
|
|
||||||
msg1Get := tt.RequestAuthGet[gin.H](t, admintok, baseUrl, "/api/messages/"+fmt.Sprintf("%v", msg1["scn_msg_id"]))
|
msg1Get := tt.RequestAuthGet[gin.H](t, admintok, baseUrl, "/api/messages/"+fmt.Sprintf("%v", msg1["scn_msg_id"]))
|
||||||
tt.AssertEqual(t, "msg.title", "Hello World 2134", msg1Get["title"])
|
tt.AssertStrRepEqual(t, "msg.title", "Hello World 2134", msg1Get["title"])
|
||||||
tt.AssertEqual(t, "msg.channel_name", "main", msg1Get["channel_name"])
|
tt.AssertStrRepEqual(t, "msg.channel_name", "main", msg1Get["channel_name"])
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSendSimpleMessageForm(t *testing.T) {
|
func TestSendSimpleMessageForm(t *testing.T) {
|
||||||
@ -120,7 +122,8 @@ func TestSendSimpleMessageForm(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
tt.AssertEqual(t, "messageCount", 1, len(pusher.Data))
|
tt.AssertEqual(t, "messageCount", 1, len(pusher.Data))
|
||||||
tt.AssertEqual(t, "msg.title", "Hello World 9999 [$$$]", pusher.Last().Message.Title)
|
tt.AssertStrRepEqual(t, "msg.title", "Hello World 9999 [$$$]", pusher.Last().Message.Title)
|
||||||
|
tt.AssertStrRepEqual(t, "msg.content", nil, pusher.Last().Message.Content)
|
||||||
tt.AssertStrRepEqual(t, "msg.scn_msg_id", msg1["scn_msg_id"], pusher.Last().Message.SCNMessageID)
|
tt.AssertStrRepEqual(t, "msg.scn_msg_id", msg1["scn_msg_id"], pusher.Last().Message.SCNMessageID)
|
||||||
|
|
||||||
type mglist struct {
|
type mglist struct {
|
||||||
@ -131,8 +134,8 @@ func TestSendSimpleMessageForm(t *testing.T) {
|
|||||||
tt.AssertEqual(t, "len(messages)", 1, len(msgList1.Messages))
|
tt.AssertEqual(t, "len(messages)", 1, len(msgList1.Messages))
|
||||||
|
|
||||||
msg1Get := tt.RequestAuthGet[gin.H](t, admintok, baseUrl, "/api/messages/"+fmt.Sprintf("%v", msg1["scn_msg_id"]))
|
msg1Get := tt.RequestAuthGet[gin.H](t, admintok, baseUrl, "/api/messages/"+fmt.Sprintf("%v", msg1["scn_msg_id"]))
|
||||||
tt.AssertEqual(t, "msg.title", "Hello World 9999 [$$$]", msg1Get["title"])
|
tt.AssertStrRepEqual(t, "msg.title", "Hello World 9999 [$$$]", msg1Get["title"])
|
||||||
tt.AssertEqual(t, "msg.channel_name", "main", msg1Get["channel_name"])
|
tt.AssertStrRepEqual(t, "msg.channel_name", "main", msg1Get["channel_name"])
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSendSimpleMessageFormAndQuery(t *testing.T) {
|
func TestSendSimpleMessageFormAndQuery(t *testing.T) {
|
||||||
@ -160,7 +163,7 @@ func TestSendSimpleMessageFormAndQuery(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
tt.AssertEqual(t, "messageCount", 1, len(pusher.Data))
|
tt.AssertEqual(t, "messageCount", 1, len(pusher.Data))
|
||||||
tt.AssertEqual(t, "msg.title", "1111111", pusher.Last().Message.Title)
|
tt.AssertStrRepEqual(t, "msg.title", "1111111", pusher.Last().Message.Title)
|
||||||
tt.AssertStrRepEqual(t, "msg.scn_msg_id", msg1["scn_msg_id"], pusher.Last().Message.SCNMessageID)
|
tt.AssertStrRepEqual(t, "msg.scn_msg_id", msg1["scn_msg_id"], pusher.Last().Message.SCNMessageID)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -189,11 +192,41 @@ func TestSendSimpleMessageJSONAndQuery(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
tt.AssertEqual(t, "messageCount", 1, len(pusher.Data))
|
tt.AssertEqual(t, "messageCount", 1, len(pusher.Data))
|
||||||
tt.AssertEqual(t, "msg.title", "1111111", pusher.Last().Message.Title)
|
tt.AssertStrRepEqual(t, "msg.title", "1111111", pusher.Last().Message.Title)
|
||||||
|
tt.AssertStrRepEqual(t, "msg.scn_msg_id", msg1["scn_msg_id"], pusher.Last().Message.SCNMessageID)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSendContentMessage(t *testing.T) {
|
||||||
|
ws, stop := tt.StartSimpleWebserver(t)
|
||||||
|
defer stop()
|
||||||
|
|
||||||
|
pusher := ws.Pusher.(*push.TestSink)
|
||||||
|
|
||||||
|
baseUrl := "http://127.0.0.1:" + ws.Port
|
||||||
|
|
||||||
|
r0 := tt.RequestPost[gin.H](t, baseUrl, "/api/users", gin.H{
|
||||||
|
"agent_model": "DUMMY_PHONE",
|
||||||
|
"agent_version": "4X",
|
||||||
|
"client_type": "ANDROID",
|
||||||
|
"fcm_token": "DUMMY_FCM",
|
||||||
|
})
|
||||||
|
|
||||||
|
uid := int(r0["user_id"].(float64))
|
||||||
|
sendtok := r0["send_key"].(string)
|
||||||
|
|
||||||
|
msg1 := tt.RequestPost[gin.H](t, baseUrl, "/", gin.H{
|
||||||
|
"user_key": sendtok,
|
||||||
|
"user_id": uid,
|
||||||
|
"title": "HelloWorld_042",
|
||||||
|
"content": "I am Content\nasdf",
|
||||||
|
})
|
||||||
|
|
||||||
|
tt.AssertEqual(t, "messageCount", 1, len(pusher.Data))
|
||||||
|
tt.AssertStrRepEqual(t, "msg.title", "HelloWorld_042", pusher.Last().Message.Title)
|
||||||
|
tt.AssertStrRepEqual(t, "msg.content", "I am Content\nasdf", pusher.Last().Message.Content)
|
||||||
tt.AssertStrRepEqual(t, "msg.scn_msg_id", msg1["scn_msg_id"], pusher.Last().Message.SCNMessageID)
|
tt.AssertStrRepEqual(t, "msg.scn_msg_id", msg1["scn_msg_id"], pusher.Last().Message.SCNMessageID)
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO send content
|
|
||||||
//TODO sendername
|
//TODO sendername
|
||||||
|
|
||||||
//TODO trim too-long content
|
//TODO trim too-long content
|
||||||
|
@ -2,6 +2,7 @@ package util
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"reflect"
|
||||||
"runtime/debug"
|
"runtime/debug"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
@ -34,19 +35,19 @@ func AssertEqual(t *testing.T, key string, expected any, actual any) {
|
|||||||
if expected != actual {
|
if expected != actual {
|
||||||
t.Errorf("Value [%s] differs (%T <-> %T):\n", key, expected, actual)
|
t.Errorf("Value [%s] differs (%T <-> %T):\n", key, expected, actual)
|
||||||
|
|
||||||
str1 := fmt.Sprintf("%v", expected)
|
strExp := fmt.Sprintf("%v", expected)
|
||||||
str2 := fmt.Sprintf("%v", actual)
|
strAct := fmt.Sprintf("%v", actual)
|
||||||
|
|
||||||
if strings.Contains(str1, "\n") {
|
if strings.Contains(strAct, "\n") {
|
||||||
t.Errorf("Actual:\n~~~~~~~~~~~~~~~~\n%v\n~~~~~~~~~~~~~~~~\n\n", expected)
|
t.Errorf("Actual:\n~~~~~~~~~~~~~~~~\n%v\n~~~~~~~~~~~~~~~~\n\n", actual)
|
||||||
} else {
|
} else {
|
||||||
t.Errorf("Actual := \"%v\"\n", expected)
|
t.Errorf("Actual := \"%v\"\n", actual)
|
||||||
}
|
}
|
||||||
|
|
||||||
if strings.Contains(str2, "\n") {
|
if strings.Contains(strExp, "\n") {
|
||||||
t.Errorf("Expected:\n~~~~~~~~~~~~~~~~\n%v\n~~~~~~~~~~~~~~~~\n\n", actual)
|
t.Errorf("Expected:\n~~~~~~~~~~~~~~~~\n%v\n~~~~~~~~~~~~~~~~\n\n", expected)
|
||||||
} else {
|
} else {
|
||||||
t.Errorf("Expected := \"%v\"\n", actual)
|
t.Errorf("Expected := \"%v\"\n", expected)
|
||||||
}
|
}
|
||||||
|
|
||||||
t.Error(string(debug.Stack()))
|
t.Error(string(debug.Stack()))
|
||||||
@ -56,22 +57,22 @@ func AssertEqual(t *testing.T, key string, expected any, actual any) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func AssertStrRepEqual(t *testing.T, key string, expected any, actual any) {
|
func AssertStrRepEqual(t *testing.T, key string, expected any, actual any) {
|
||||||
str1 := fmt.Sprintf("%v", expected)
|
strExp := fmt.Sprintf("%v", unpointer(expected))
|
||||||
str2 := fmt.Sprintf("%v", actual)
|
strAct := fmt.Sprintf("%v", unpointer(actual))
|
||||||
|
|
||||||
if str1 != str2 {
|
if strAct != strExp {
|
||||||
t.Errorf("Value [%s] differs (%T <-> %T):\n", key, expected, actual)
|
t.Errorf("Value [%s] differs (%T <-> %T):\n", key, expected, actual)
|
||||||
|
|
||||||
if strings.Contains(str1, "\n") {
|
if strings.Contains(strAct, "\n") {
|
||||||
t.Errorf("Actual:\n~~~~~~~~~~~~~~~~\n%v\n~~~~~~~~~~~~~~~~\n\n", expected)
|
t.Errorf("Actual:\n~~~~~~~~~~~~~~~~\n%v\n~~~~~~~~~~~~~~~~\n\n", strAct)
|
||||||
} else {
|
} else {
|
||||||
t.Errorf("Actual := \"%v\"\n", expected)
|
t.Errorf("Actual := \"%v\"\n", strAct)
|
||||||
}
|
}
|
||||||
|
|
||||||
if strings.Contains(str2, "\n") {
|
if strings.Contains(strExp, "\n") {
|
||||||
t.Errorf("Expected:\n~~~~~~~~~~~~~~~~\n%v\n~~~~~~~~~~~~~~~~\n\n", actual)
|
t.Errorf("Expected:\n~~~~~~~~~~~~~~~~\n%v\n~~~~~~~~~~~~~~~~\n\n", strExp)
|
||||||
} else {
|
} else {
|
||||||
t.Errorf("Expected := \"%v\"\n", actual)
|
t.Errorf("Expected := \"%v\"\n", strExp)
|
||||||
}
|
}
|
||||||
|
|
||||||
t.Error(string(debug.Stack()))
|
t.Error(string(debug.Stack()))
|
||||||
@ -119,3 +120,12 @@ func TestFailErr(t *testing.T, e error) {
|
|||||||
t.Error(fmt.Sprintf("Failed with error:\n%s\n\nError:\n%+v\n\nTrace:\n%s", e.Error(), e, string(debug.Stack())))
|
t.Error(fmt.Sprintf("Failed with error:\n%s\n\nError:\n%+v\n\nTrace:\n%s", e.Error(), e, string(debug.Stack())))
|
||||||
t.FailNow()
|
t.FailNow()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func unpointer(v any) any {
|
||||||
|
val := reflect.ValueOf(v)
|
||||||
|
if val.Kind() == reflect.Ptr {
|
||||||
|
val = val.Elem()
|
||||||
|
return unpointer(val.Interface())
|
||||||
|
}
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user