152 lines
3.7 KiB
Go
152 lines
3.7 KiB
Go
package dao
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"testing"
|
|
|
|
"go-common/app/service/main/push/model"
|
|
|
|
. "github.com/smartystreets/goconvey/convey"
|
|
)
|
|
|
|
func Test_PingMc(t *testing.T) {
|
|
Convey("ping mc", t, WithDao(func(d *Dao) {
|
|
err := d.pingMC(context.Background())
|
|
So(err, ShouldBeNil)
|
|
}))
|
|
}
|
|
|
|
func TestAddReportsCacheByMids(t *testing.T) {
|
|
Convey("add reports cache by mids", t, WithDao(func(d *Dao) {
|
|
var err error
|
|
mrs := map[int64][]*model.Report{
|
|
910819: {{
|
|
APPID: 1,
|
|
PlatformID: 1,
|
|
Mid: 910819,
|
|
DeviceToken: "dt1",
|
|
}, {
|
|
APPID: 2,
|
|
PlatformID: 2,
|
|
Mid: 910819,
|
|
DeviceToken: "dt2",
|
|
}},
|
|
123456: {{
|
|
APPID: 3,
|
|
PlatformID: 3,
|
|
Mid: 123456,
|
|
DeviceToken: "dt3",
|
|
}},
|
|
}
|
|
err = d.AddReportsCacheByMids(context.Background(), mrs)
|
|
So(err, ShouldBeNil)
|
|
}))
|
|
}
|
|
|
|
func Test_ReportCache(t *testing.T) {
|
|
Convey("reports cache", t, WithDao(func(d *Dao) {
|
|
var err error
|
|
mrs := map[int64][]*model.Report{
|
|
910819: {{
|
|
APPID: 1,
|
|
PlatformID: 1,
|
|
Mid: 910819,
|
|
DeviceToken: "dt1",
|
|
}, {
|
|
APPID: 2,
|
|
PlatformID: 2,
|
|
Mid: 910819,
|
|
DeviceToken: "dt2",
|
|
}},
|
|
123456: {{
|
|
APPID: 3,
|
|
PlatformID: 3,
|
|
Mid: 123456,
|
|
DeviceToken: "dt3",
|
|
}},
|
|
}
|
|
err = d.AddReportsCacheByMids(context.Background(), mrs)
|
|
So(err, ShouldBeNil)
|
|
|
|
// add report
|
|
// err = d.AddReportCache(context.Background(), &model.Report{APPID: 3, PlatformID: 3, Mid: 123456, DeviceToken: "dt4"})
|
|
// So(err, ShouldBeNil)
|
|
// err = d.AddReportCache(context.Background(), &model.Report{APPID: 4, PlatformID: 4, Mid: 123456, DeviceToken: "dt5"})
|
|
// So(err, ShouldBeNil)
|
|
|
|
// delete report
|
|
err = d.DelReportCache(context.Background(), 910819, 2, "dt2")
|
|
So(err, ShouldBeNil)
|
|
|
|
// get report
|
|
rs, missed, err := d.ReportsCacheByMids(context.Background(), []int64{910819, 123456})
|
|
_ = missed
|
|
So(len(rs), ShouldEqual, 2)
|
|
So(err, ShouldBeNil)
|
|
for mid, v := range rs {
|
|
for _, vv := range v {
|
|
fmt.Printf("mid(%d) %+v \n", mid, vv)
|
|
}
|
|
}
|
|
|
|
// report miss
|
|
rs, misses, err := d.ReportsCacheByMids(context.Background(), []int64{1000000, 2000000})
|
|
So(len(rs), ShouldEqual, 0)
|
|
So(len(misses), ShouldEqual, 2)
|
|
So(err, ShouldBeNil)
|
|
}))
|
|
}
|
|
|
|
func Test_TokenCache(t *testing.T) {
|
|
Convey("add token cache", t, WithDao(func(d *Dao) {
|
|
token := "testtoken"
|
|
r := &model.Report{
|
|
APPID: 1,
|
|
DeviceToken: token,
|
|
}
|
|
err := d.AddTokenCache(context.Background(), r.DeviceToken, r)
|
|
So(err, ShouldBeNil)
|
|
m := make(map[string]*model.Report, 0)
|
|
m[r.DeviceToken] = r
|
|
d.AddTokensCache(context.Background(), m)
|
|
So(err, ShouldBeNil)
|
|
Convey("token cache", func() {
|
|
r, err := d.TokenCache(context.Background(), token)
|
|
So(err, ShouldBeNil)
|
|
t.Logf("report(%+v)", r)
|
|
|
|
Convey("delete token cache", func() {
|
|
err = d.DelTokenCache(context.Background(), token)
|
|
So(err, ShouldBeNil)
|
|
})
|
|
})
|
|
}))
|
|
}
|
|
|
|
func Test_TokensCache(t *testing.T) {
|
|
Convey("tokens cache", t, WithDao(func(d *Dao) {
|
|
r := &model.Report{APPID: 1, DeviceToken: "testtoken1"}
|
|
err := d.AddTokenCache(context.Background(), r.DeviceToken, r)
|
|
So(err, ShouldBeNil)
|
|
|
|
r = &model.Report{APPID: 1, DeviceToken: "testtoken2"}
|
|
err = d.AddTokenCache(context.Background(), r.DeviceToken, r)
|
|
So(err, ShouldBeNil)
|
|
|
|
res, missed, err := d.TokensCache(context.Background(), []string{"testtoken1", "testtoken2", "testtoken3"})
|
|
So(err, ShouldBeNil)
|
|
t.Logf("tokens cache missed(%v)", missed)
|
|
for token, val := range res {
|
|
t.Logf("token(%s) value(%+v)", token, val)
|
|
}
|
|
}))
|
|
}
|
|
|
|
func Test_ReportsCacheByMid(t *testing.T) {
|
|
Convey("Test_ReportsCacheByMid", t, WithDao(func(d *Dao) {
|
|
_, err := d.ReportsCacheByMid(context.Background(), 123)
|
|
So(err, ShouldBeNil)
|
|
}))
|
|
}
|