54 lines
1.2 KiB
Go
54 lines
1.2 KiB
Go
package service
|
|
|
|
import (
|
|
"testing"
|
|
|
|
. "github.com/smartystreets/goconvey/convey"
|
|
"go-common/app/interface/live/push-live/dao"
|
|
"go-common/app/interface/live/push-live/model"
|
|
"go-common/library/cache/redis"
|
|
"math/rand"
|
|
)
|
|
|
|
func TestService_MidFilter(t *testing.T) {
|
|
initd()
|
|
Convey("test mid filter", t, func() {
|
|
var (
|
|
total int
|
|
midList map[int64]bool
|
|
business int
|
|
resMids []int64
|
|
task *model.ApPushTask
|
|
err error
|
|
conn redis.Conn
|
|
)
|
|
business = rand.Intn(99) + 1 // should through all filters
|
|
// init mids input
|
|
total = 10
|
|
midList = make(map[int64]bool, total)
|
|
for i := 0; i < total; i++ {
|
|
mid := rand.Int63()
|
|
midList[mid] = true
|
|
}
|
|
// init task
|
|
task = &model.ApPushTask{
|
|
LinkValue: "test",
|
|
}
|
|
// do mid filter
|
|
resMids = s.midFilter(midList, business, task)
|
|
So(len(resMids), ShouldEqual, total)
|
|
// clean
|
|
conn, err = redis.Dial(s.c.Redis.PushInterval.Proto, s.c.Redis.PushInterval.Addr, s.dao.RedisOption()...)
|
|
So(err, ShouldBeNil)
|
|
for mid := range midList {
|
|
keys := []string{
|
|
dao.GetDailyLimitKey(mid),
|
|
dao.GetIntervalKey(mid),
|
|
}
|
|
for _, key := range keys {
|
|
conn.Do("DEL", key)
|
|
}
|
|
}
|
|
})
|
|
}
|