2019-04-22 02:59:20 +00:00

69 lines
2.0 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package fcm
import (
"encoding/json"
"fmt"
"strings"
"testing"
"time"
"unicode"
. "github.com/smartystreets/goconvey/convey"
)
const apiKey = "AIzaSyBtMplqJkuTIDyIx-CM74MoPHbxHCBcYYQ"
func TestPush(t *testing.T) {
Convey("test jpush", t, func() {
data := map[string]string{
"task_id": "123456",
// "scheme": model.Scheme(model.LinkTypeVideo, "123", model.PlatformAndroid, 390000),
"scheme": "bilibili://video/123",
}
client := NewClient(apiKey, 5*time.Second)
message := &Message{
// DryRun: true, // 如果是 true消息不会下发给用户用于测试
Data: data,
RegistrationIDs: []string{"fpICefK-jfE:APA91bHjZTxe503tpFoFMmXXX9LAiMmg7OwgTPYmTb8Ox-yF88umTQnmTQUGbALplxqre7R6v3d0-vSK5MyT4jFtSqklbY1GIaM4d8uZ0wJlwWrRWdBDeOJ4rlpvamd3aGyBlHKAH18N"},
Priority: PriorityHigh,
DelayWhileIdle: true,
Notification: Notification{
Title: "Hello",
Body: "World",
ClickAction: "com.bilibili.app.in.com.bilibili.push.FCM_MESSAGE",
},
CollapseKey: strings.TrimFunc("t123456", func(r rune) bool {
return !unicode.IsNumber(r)
}), // 值转成 int 传到客户端
TimeToLive: int(time.Hour.Seconds()),
Android: Android{Priority: PriorityHigh},
}
response, err := client.Send(message)
msgb, _ := json.Marshal(message)
fmt.Printf("msg(%s)", msgb)
So(err, ShouldNotBeNil)
if err != nil {
t.Errorf("fcm send response(%+v) error(%v)", response, err)
} else {
fmt.Println("Status Code :", response.StatusCode)
fmt.Println("Success :", response.Success)
fmt.Println("Fail :", response.Fail)
fmt.Println("Canonical_ids :", response.CanonicalIDs)
fmt.Println("Topic MsgId :", response.MsgID)
}
})
}
func Test_ClientFaild(t *testing.T) {
Convey("test jpush", t, func() {
client := NewClient(apiKey, 5*time.Second)
err := client.Failed(&Response{})
So(err, ShouldBeNil)
r := &Response{RetryAfter: "3m"}
_, err = r.GetRetryAfterTime()
So(err, ShouldBeNil)
})
}