85 lines
1.9 KiB
Go
85 lines
1.9 KiB
Go
|
package service
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"flag"
|
||
|
. "github.com/smartystreets/goconvey/convey"
|
||
|
"go-common/app/interface/live/push-live/conf"
|
||
|
"go-common/library/cache/redis"
|
||
|
"path/filepath"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
s *Service
|
||
|
targetID int64
|
||
|
)
|
||
|
|
||
|
func initd() {
|
||
|
dir, _ := filepath.Abs("../cmd/push-live-test.toml")
|
||
|
flag.Set("conf", dir)
|
||
|
conf.Init()
|
||
|
s = New(conf.Conf)
|
||
|
}
|
||
|
|
||
|
func TestService_ConvertStrToInt64(t *testing.T) {
|
||
|
initd()
|
||
|
Convey("test convert", t, func() {
|
||
|
mStr := "1,2,3"
|
||
|
mInt64 := []int64{
|
||
|
int64(1), int64(2), int64(3),
|
||
|
}
|
||
|
mRes, err := s.convertStrToInt64(mStr)
|
||
|
|
||
|
So(err, ShouldBeNil)
|
||
|
So(mRes, ShouldResemble, mInt64)
|
||
|
})
|
||
|
}
|
||
|
|
||
|
func TestService_limitDecreaseUnique(t *testing.T) {
|
||
|
initd()
|
||
|
Convey("test limit decrease request unique", t, func() {
|
||
|
var (
|
||
|
err error
|
||
|
conn redis.Conn
|
||
|
key string
|
||
|
)
|
||
|
Convey("test success request", func() {
|
||
|
key = "test_request_unique"
|
||
|
conn, err = redis.Dial(s.c.Redis.PushInterval.Proto, s.c.Redis.PushInterval.Addr, s.dao.RedisOption()...)
|
||
|
So(err, ShouldBeNil)
|
||
|
err = s.limitDecreaseUnique(key)
|
||
|
So(err, ShouldBeNil)
|
||
|
// clean
|
||
|
conn.Do("DEL", key)
|
||
|
conn.Close()
|
||
|
})
|
||
|
})
|
||
|
}
|
||
|
|
||
|
func TestService_LimitDecrease(t *testing.T) {
|
||
|
initd()
|
||
|
Convey("test LimitDecrease service", t, func() {
|
||
|
var (
|
||
|
ctx = context.Background()
|
||
|
business, targetID, uuid, midStr string
|
||
|
err error
|
||
|
conn redis.Conn
|
||
|
)
|
||
|
Convey("test success", func() {
|
||
|
business = "111"
|
||
|
targetID = "123"
|
||
|
uuid = "test"
|
||
|
midStr = "1,2,3"
|
||
|
conn, err = redis.Dial(s.c.Redis.PushInterval.Proto, s.c.Redis.PushInterval.Addr, s.dao.RedisOption()...)
|
||
|
So(err, ShouldBeNil)
|
||
|
err = s.LimitDecrease(ctx, business, targetID, uuid, midStr)
|
||
|
So(err, ShouldBeNil)
|
||
|
// clean
|
||
|
key := getUniqueKey(business, targetID, uuid)
|
||
|
conn.Do("DEL", key)
|
||
|
conn.Close()
|
||
|
})
|
||
|
})
|
||
|
}
|