123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package service
- import (
- "context"
- "testing"
- "time"
- "go-common/library/ecode"
- . "github.com/smartystreets/goconvey/convey"
- )
- func TestService_Generate(t *testing.T) {
- Convey("Generate 10 codes in batch", t, func() {
- mid := int64(88888970)
- num := int64(10)
- expireDay := int64(30)
- res, err := s.Generate(context.Background(), mid, num, expireDay)
- So(err, ShouldBeNil)
- So(len(res), ShouldEqual, num)
- })
- }
- func TestService_List(t *testing.T) {
- Convey("List when account's invite codes is not empty", t, func() {
- mid := int64(88888970)
- now := time.Now().Unix()
- start, end := now-86400, now+86400
- res, err := s.List(context.Background(), mid, start, end)
- So(err, ShouldBeNil)
- So(len(res), ShouldBeGreaterThan, 0)
- })
- }
- func TestService_ConcurrentGeneInviteCode(t *testing.T) {
- Convey("Generate 1000 codes in concurrency", t, func() {
- num := 1000
- mid := int64(88888970)
- ts := time.Now().Unix()
- m, err := concurrentGenerateCode(mid, ts, num, _geneSubCount)
- So(err, ShouldBeNil)
- So(len(m), ShouldEqual, num)
- })
- }
- func TestService_FetchMultiInfo(t *testing.T) {
- time.Sleep(time.Second * 2)
- Convey("Fetch multi info", t, func() {
- mids := []int64{88888970}
- Convey("when not timeout", func() {
- res, err := s.fetchInfos(context.Background(), mids, time.Second)
- So(err, ShouldBeNil)
- So(len(res), ShouldEqual, len(mids))
- })
- Convey("when timeout", func() {
- _, err := s.fetchInfos(context.Background(), mids, time.Millisecond)
- So(err, ShouldEqual, ecode.Deadline.Error())
- })
- })
- }
|