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.
99 lines
3.1 KiB
99 lines
3.1 KiB
package block |
|
|
|
import ( |
|
"context" |
|
"testing" |
|
"time" |
|
|
|
"go-common/app/service/main/member/conf" |
|
model "go-common/app/service/main/member/model/block" |
|
|
|
"github.com/smartystreets/goconvey/convey" |
|
) |
|
|
|
func TestDaouserKey(t *testing.T) { |
|
convey.Convey("userKey", t, func(ctx convey.C) { |
|
var ( |
|
mid = int64(46333) |
|
) |
|
ctx.Convey("When everything right", func(ctx convey.C) { |
|
key := userKey(mid) |
|
ctx.Convey("Then key should equal u_mid.", func(ctx convey.C) { |
|
ctx.So(key, convey.ShouldEqual, "u_46333") |
|
}) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoSetUserCache(t *testing.T) { |
|
convey.Convey("SetUserCache", t, func(ctx convey.C) { |
|
var ( |
|
c = context.Background() |
|
mid = int64(46333) |
|
status = model.BlockStatusForever |
|
startTime = time.Now().Unix() |
|
endTime = time.Now().Add(time.Minute).Unix() |
|
) |
|
ctx.Convey("When SetUserCache", func(ctx convey.C) { |
|
err := d.SetUserCache(c, mid, status, startTime, endTime) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
ctx.Convey("When get UsersCache", func(ctx convey.C) { |
|
res, err := d.UsersCache(c, []int64{mid}) |
|
ctx.Convey("Then err should be nil.res should not be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
ctx.So(res, convey.ShouldNotBeNil) |
|
}) |
|
}) |
|
ctx.Convey("When delete UsersCache", func(ctx convey.C) { |
|
err := d.DeleteUserCache(c, mid) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
}) |
|
}) |
|
}) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaomcUserExpire(t *testing.T) { |
|
convey.Convey("mcUserExpire", t, func(ctx convey.C) { |
|
ctx.Convey("When everything right", func(ctx convey.C) { |
|
sec := d.mcUserExpire("ut_key") |
|
ctx.Convey("Then sec should >=mcUserExpireBase and <=mcUserExpireBase*conf.Conf.Memcache.Expire.UserMaxRate .", func(ctx convey.C) { |
|
ctx.So(d.UserTTL, convey.ShouldBeGreaterThan, 0) |
|
ctx.So(conf.Conf.BlockCacheTTL.UserMaxRate, convey.ShouldBeGreaterThan, 0) |
|
ctx.So(sec, convey.ShouldBeGreaterThanOrEqualTo, d.UserTTL) |
|
ctx.So(sec, convey.ShouldBeLessThanOrEqualTo, int32(conf.Conf.BlockCacheTTL.UserMaxRate*float64(d.UserTTL))) |
|
}) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoSetUserDetailCache(t *testing.T) { |
|
convey.Convey("SetUserDetailCache", t, func(ctx convey.C) { |
|
var ( |
|
c = context.Background() |
|
mid = int64(46333) |
|
) |
|
ctx.Convey("When SetUserDetailCache", func(ctx convey.C) { |
|
err := d.SetUserDetailCache(c, mid, &model.MCUserDetail{BlockCount: 12}) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
ctx.Convey("When get UserDetailCache", func(ctx convey.C) { |
|
res, err := d.UserDetailsCache(c, []int64{mid}) |
|
ctx.Convey("Then err should be nil.res should not be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
ctx.So(res, convey.ShouldNotBeNil) |
|
}) |
|
}) |
|
ctx.Convey("When delete UsersDetailCache", func(ctx convey.C) { |
|
err := d.DeleteUserDetailCache(c, mid) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
}) |
|
}) |
|
}) |
|
}) |
|
}) |
|
}
|
|
|