123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- package dao
- import (
- "context"
- "encoding/json"
- "testing"
- "time"
- "go-common/app/interface/main/push-archive/model"
- "github.com/smartystreets/goconvey/convey"
- )
- func Test_upperlimit(t *testing.T) {
- upper := int64(998)
- d.UpperLimitExpire = 1 // 1s
- exist, err := d.ExistUpperLimitCache(context.TODO(), upper)
- convey.Convey("upper主推送频率限制,没存储过", t, func() {
- convey.So(err, convey.ShouldBeNil)
- convey.So(exist, convey.ShouldEqual, false)
- })
- err = d.AddUpperLimitCache(context.TODO(), upper)
- convey.Convey("upper主推送频率限制,添加推送1次,再次获取已存在, 失效后不存在", t, func() {
- convey.So(err, convey.ShouldBeNil)
- exist, err = d.ExistUpperLimitCache(context.TODO(), upper)
- convey.So(err, convey.ShouldBeNil)
- convey.So(exist, convey.ShouldEqual, true)
- time.Sleep(2 * time.Second)
- exist, err = d.ExistUpperLimitCache(context.TODO(), upper)
- convey.So(err, convey.ShouldBeNil)
- convey.So(exist, convey.ShouldEqual, false)
- })
- }
- func Test_statisticscache(t *testing.T) {
- ps, err := d.GetStatisticsCache(context.TODO())
- convey.Convey("从redis获取统计数据, 没有数据", t, func() {
- convey.So(err, convey.ShouldBeNil)
- convey.So(ps, convey.ShouldBeNil)
- })
- per := int64(1000)
- start := int64(1000000)
- var mids []int64
- for i := start; i < start+per; i++ {
- mids = append(mids, i)
- }
- midscount := len(mids)
- midsstr, _ := json.Marshal(mids)
- ps = &model.PushStatistic{
- Aid: int64(121321),
- Group: "ai:pushlist_offline_up",
- Type: 1,
- Mids: string(midsstr),
- MidsCounter: midscount,
- CTime: time.Now(),
- }
- err = d.AddStatisticsCache(context.TODO(), ps)
- convey.Convey("添加统计数据到redis", t, func() {
- convey.So(err, convey.ShouldBeNil)
- })
- }
- func Test_perupperlimit(t *testing.T) {
- upper := int64(10)
- fan := int64(20)
- err := d.AddPerUpperLimitCache(context.TODO(), fan, upper, 1, 1)
- convey.Convey("添加推送次数限制", t, func() {
- convey.So(err, convey.ShouldEqual, nil)
- })
- total, err := d.GetPerUpperLimitCache(context.TODO(), fan, upper)
- convey.Convey("获取推送次数限制, 失效后不存在", t, func() {
- convey.So(err, convey.ShouldEqual, nil)
- convey.So(total, convey.ShouldEqual, 1)
- time.Sleep(time.Second * 2)
- total, err = d.GetPerUpperLimitCache(context.TODO(), fan, upper)
- convey.So(err, convey.ShouldEqual, nil)
- convey.So(total, convey.ShouldEqual, 0)
- })
- }
|