You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
1.9 KiB
84 lines
1.9 KiB
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() |
|
}) |
|
}) |
|
}
|
|
|