go-common/app/job/main/reply-feed/dao/redis_test.go
2019-04-22 18:49:16 +08:00

402 lines
10 KiB
Go

package dao
import (
"context"
"testing"
"go-common/app/job/main/reply-feed/model"
"github.com/smartystreets/goconvey/convey"
)
func TestDaokeyUV(t *testing.T) {
convey.Convey("keyUV", t, func(ctx convey.C) {
var (
action = ""
hour = 0
slot = 0
kind = ""
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
p1 := keyUV(action, hour, slot, kind)
ctx.Convey("Then p1 should not be nil.", func(ctx convey.C) {
ctx.So(p1, convey.ShouldNotBeNil)
})
})
})
}
func TestDaoUV(t *testing.T) {
convey.Convey("addUV+countUV", t, func(ctx convey.C) {
var (
action = "test"
hour = 0
slot = 0
kind = "test"
mid = int64(0)
err error
counts []int64
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
err = d.AddUV(context.Background(), action, hour, slot, mid, kind)
ctx.So(err, convey.ShouldBeNil)
keys := []string{keyUV(action, hour, slot, kind)}
counts, err = d.CountUV(context.Background(), keys)
ctx.So(err, convey.ShouldBeNil)
ctx.So(len(counts), convey.ShouldEqual, 1)
})
})
}
func TestDaokeyRefreshChecker(t *testing.T) {
convey.Convey("keyRefreshChecker", t, func(ctx convey.C) {
var (
oid = int64(0)
tp = int(0)
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
p1 := keyRefreshChecker(oid, tp)
ctx.Convey("Then p1 should not be nil.", func(ctx convey.C) {
ctx.So(p1, convey.ShouldNotBeNil)
})
})
})
}
func TestDaokeyReplyZSet(t *testing.T) {
convey.Convey("keyReplyZSet", t, func(ctx convey.C) {
var (
name = ""
oid = int64(0)
tp = int(0)
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
p1 := keyReplyZSet(name, oid, tp)
ctx.Convey("Then p1 should not be nil.", func(ctx convey.C) {
ctx.So(p1, convey.ShouldNotBeNil)
})
})
})
}
func TestDaokeyReplySet(t *testing.T) {
convey.Convey("keyReplySet", t, func(ctx convey.C) {
var (
oid = int64(0)
tp = int(0)
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
p1 := keyReplySet(oid, tp)
ctx.Convey("Then p1 should not be nil.", func(ctx convey.C) {
ctx.So(p1, convey.ShouldNotBeNil)
})
})
})
}
func TestDaoPingRedis(t *testing.T) {
convey.Convey("PingRedis", t, func(ctx convey.C) {
ctx.Convey("When everything goes positive", func(ctx convey.C) {
err := d.PingRedis(context.Background())
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
})
})
})
}
func TestDaoExpireCheckerRds(t *testing.T) {
convey.Convey("ExpireCheckerRds", t, func(ctx convey.C) {
var (
oid = int64(0)
tp = int(0)
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
ok, err := d.ExpireCheckerRds(context.Background(), oid, tp)
ctx.Convey("Then err should be nil.ok should not be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
ctx.So(ok, convey.ShouldNotBeNil)
})
})
})
}
func TestDaoExpireReplyZSetRds(t *testing.T) {
convey.Convey("ExpireReplyZSetRds", t, func(ctx convey.C) {
var (
name = ""
oid = int64(0)
tp = int(0)
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
ok, err := d.ExpireReplyZSetRds(context.Background(), name, oid, tp)
ctx.Convey("Then err should be nil.ok should not be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
ctx.So(ok, convey.ShouldNotBeNil)
})
})
})
}
func TestDaoExpireReplySetRds(t *testing.T) {
convey.Convey("ExpireReplySetRds", t, func(ctx convey.C) {
var (
oid = int64(0)
tp = int(0)
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
ok, err := d.ExpireReplySetRds(context.Background(), oid, tp)
ctx.Convey("Then err should be nil.ok should not be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
ctx.So(ok, convey.ShouldNotBeNil)
})
})
})
}
func TestDaoGetReplySetRds(t *testing.T) {
convey.Convey("ReplySetRds", t, func(ctx convey.C) {
var (
oid = int64(-1)
tp = int(-1)
idMap = make(map[int64]struct{})
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
for i := 0; i < 10; i++ {
if err := d.AddReplySetRds(context.Background(), oid, tp, int64(i)); err != nil {
return
}
idMap[int64(i)] = struct{}{}
}
d.ExpireReplySetRds(context.Background(), oid, tp)
rpIDs, err := d.ReplySetRds(context.Background(), oid, tp)
ctx.Convey("Then err should be nil.rpIDs should not be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
ctx.So(len(rpIDs), convey.ShouldEqual, 10)
for _, rpID := range rpIDs {
if _, ok := idMap[rpID]; !ok {
t.Fatal("id not match")
}
}
})
})
})
}
func TestDaoSetReplySetRds(t *testing.T) {
convey.Convey("SetReplySetRds", t, func(ctx convey.C) {
var (
oid = int64(0)
tp = int(0)
rpIDs = []int64{}
c = context.Background()
)
for i := 0; i < 10000; i++ {
rpIDs = append(rpIDs, int64(i))
}
ctx.Convey("When everything goes positive", func(ctx convey.C) {
err := d.SetReplySetRds(c, oid, tp, rpIDs)
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
})
receivedRpIDs, err := d.ReplySetRds(c, oid, tp)
if err != nil {
t.Fatal(err)
}
ctx.So(len(receivedRpIDs), convey.ShouldEqual, len(rpIDs))
})
d.DelReplySetRds(c, oid, tp)
})
}
func TestDaoRemReplySetRds(t *testing.T) {
convey.Convey("RemReplySetRds", t, func(ctx convey.C) {
var (
oid = int64(0)
rpID = int64(0)
tp = int(0)
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
err := d.RemReplySetRds(context.Background(), oid, rpID, tp)
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
})
})
})
}
func TestDaoDelReplySetRds(t *testing.T) {
convey.Convey("DelReplySetRds", t, func(ctx convey.C) {
var (
oid = int64(0)
tp = int(0)
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
err := d.DelReplySetRds(context.Background(), oid, tp)
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
})
})
})
}
func TestDaoAddReplySetRds(t *testing.T) {
convey.Convey("AddReplySetRds", t, func(ctx convey.C) {
var (
oid = int64(0)
tp = int(0)
rpID = int64(0)
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
err := d.AddReplySetRds(context.Background(), oid, tp, rpID)
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
})
})
})
}
func TestDaoGetReplyZSetRds(t *testing.T) {
convey.Convey("ReplyZSetRds", t, func(ctx convey.C) {
var (
name = ""
oid = int64(0)
tp = int(0)
start = int(0)
end = int(0)
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
rpIDs, err := d.ReplyZSetRds(context.Background(), name, oid, tp, start, end)
ctx.Convey("Then err should be nil.rpIDs should not be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
ctx.So(rpIDs, convey.ShouldBeNil)
})
})
})
}
func TestDaoSetReplyZSetRds(t *testing.T) {
convey.Convey("SetReplyZSetRds", t, func(ctx convey.C) {
var (
name = "test"
oid = int64(0)
tp = int(0)
c = context.Background()
rs = []*model.ReplyScore{}
)
for i := 0; i < 10000; i++ {
rs = append(rs, &model.ReplyScore{RpID: int64(i), Score: float64(i)})
}
ctx.Convey("When everything goes positive", func(ctx convey.C) {
err := d.SetReplyZSetRds(c, name, oid, tp, rs)
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
})
rpIDs, err := d.ReplyZSetRds(c, name, oid, tp, 0, -1)
if err != nil {
t.Fatal(err)
}
ctx.So(len(rpIDs), convey.ShouldEqual, len(rs))
})
d.DelReplyZSetRds(c, []string{name}, oid, tp)
})
}
func TestDaoAddReplyZSetRds(t *testing.T) {
convey.Convey("AddReplyZSetRds", t, func(ctx convey.C) {
var (
name = ""
oid = int64(0)
tp = int(0)
rs = &model.ReplyScore{}
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
err := d.AddReplyZSetRds(context.Background(), name, oid, tp, rs)
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
})
})
})
}
func TestDaoRemReplyZSetRds(t *testing.T) {
convey.Convey("RemReplyZSetRds", t, func(ctx convey.C) {
var (
name = ""
oid = int64(0)
tp = int(0)
rpID = int64(0)
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
err := d.RemReplyZSetRds(context.Background(), name, oid, tp, rpID)
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
})
})
})
}
func TestDaoDelReplyZSetRds(t *testing.T) {
convey.Convey("DelReplyZSetRds", t, func(ctx convey.C) {
var (
names = []string{}
oid = int64(0)
tp = int(0)
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
err := d.DelReplyZSetRds(context.Background(), names, oid, tp)
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
})
})
})
}
func TestDaoGetCheckerTsRds(t *testing.T) {
convey.Convey("CheckerTsRds", t, func(ctx convey.C) {
var (
oid = int64(-1)
tp = int(0)
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
ts, err := d.CheckerTsRds(context.Background(), oid, tp)
ctx.Convey("Then err should be nil.ts should not be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
ctx.So(ts, convey.ShouldEqual, 0)
})
})
})
}
func TestDaoSetCheckerTsRds(t *testing.T) {
convey.Convey("SetCheckerTsRds", t, func(ctx convey.C) {
var (
oid = int64(0)
tp = int(0)
)
ctx.Convey("When everything goes positive", func(ctx convey.C) {
err := d.SetCheckerTsRds(context.Background(), oid, tp)
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
})
})
})
}
func TestDaoRangeReplyZSetRds(t *testing.T) {
convey.Convey("RangeReplyZSetRds", t, func(ctx convey.C) {
var (
oid = int64(0)
tp = int(0)
name = ""
)
ctx.Convey("When everything gose positive", func(ctx convey.C) {
rpIDs, err := d.RangeReplyZSetRds(context.Background(), name, oid, tp, 0, 0)
ctx.Convey("Then err should be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
ctx.So(len(rpIDs), convey.ShouldEqual, 0)
})
})
})
}