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.
397 lines
9.8 KiB
397 lines
9.8 KiB
package dao |
|
|
|
import ( |
|
"context" |
|
"testing" |
|
|
|
"go-common/app/service/main/account/model" |
|
mc "go-common/library/cache/memcache" |
|
|
|
"github.com/smartystreets/goconvey/convey" |
|
) |
|
|
|
func TestDaokeyInfo(t *testing.T) { |
|
var ( |
|
mid = int64(2205) |
|
) |
|
convey.Convey("Generate info-key", t, func(ctx convey.C) { |
|
p1 := keyInfo(mid) |
|
ctx.Convey("Then info-key should contains info prefix.", func(ctx convey.C) { |
|
ctx.So(p1, convey.ShouldContainSubstring, _prefixInfo) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaokeyCard(t *testing.T) { |
|
var ( |
|
mid = int64(2205) |
|
) |
|
convey.Convey("Generate card-info-key", t, func(ctx convey.C) { |
|
p1 := keyCard(mid) |
|
ctx.Convey("Then card-info-key should contains card prefix.", func(ctx convey.C) { |
|
ctx.So(p1, convey.ShouldContainSubstring, _prefixCard) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaokeyVip(t *testing.T) { |
|
var ( |
|
mid = int64(2205) |
|
) |
|
convey.Convey("Generate vip-info-key", t, func(ctx convey.C) { |
|
p1 := keyVip(mid) |
|
ctx.Convey("Then vip-info-key should contains vip prefix.", func(ctx convey.C) { |
|
ctx.So(p1, convey.ShouldContainSubstring, _prefixVip) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaokeyProfile(t *testing.T) { |
|
var ( |
|
mid = int64(2205) |
|
) |
|
convey.Convey("Generate profile-key", t, func(ctx convey.C) { |
|
p1 := keyProfile(mid) |
|
ctx.Convey("Then profile-key should contains profile prefix.", func(ctx convey.C) { |
|
ctx.So(p1, convey.ShouldContainSubstring, _prefixProfile) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoCacheInfo(t *testing.T) { |
|
var ( |
|
c = context.TODO() |
|
mid = int64(2205) |
|
) |
|
convey.Convey("Get member base-info from cache", t, func(ctx convey.C) { |
|
_, err := d.CacheInfo(c, mid) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoAddCacheInfo(t *testing.T) { |
|
var ( |
|
c = context.TODO() |
|
mid = int64(2205) |
|
v = &model.Info{ |
|
Mid: 2205, |
|
Name: "Haha", |
|
Sex: "男", |
|
Face: "http://i1.hdslb.com/bfs/face/4b12a3e65d344e31a11e6425767863019738c7bc.jpg", |
|
Sign: "来电只是", |
|
Rank: 500, |
|
} |
|
) |
|
convey.Convey("Add member base-info to cache", t, func(ctx convey.C) { |
|
err := d.AddCacheInfo(c, mid, v) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoCacheInfos(t *testing.T) { |
|
var ( |
|
c = context.TODO() |
|
mids = []int64{2205, 2805} |
|
) |
|
convey.Convey("Batch get members' base-info", t, func(ctx convey.C) { |
|
res, err := d.CacheInfos(c, mids) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
ctx.So(res, convey.ShouldNotBeNil) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoAddCacheInfos(t *testing.T) { |
|
var ( |
|
c = context.TODO() |
|
im = map[int64]*model.Info{ |
|
2205: { |
|
Mid: 2205, |
|
Name: "板桥真菜", |
|
Sex: "2", |
|
Face: "/bfs/face/e93098c3aa8c18b24001740e707ebe2df180f5f7.jpg", |
|
Sign: "没有", |
|
Rank: 10000, |
|
}, |
|
3305: { |
|
Mid: 3305, |
|
Name: "FGNB", |
|
Sex: "1", |
|
Face: "/bfs/face/e93098c3aa8c18b24001740e707ebe2df180f5f7.jpg", |
|
Sign: "啦啦", |
|
Rank: 5000, |
|
}, |
|
} |
|
) |
|
convey.Convey("Batch set members' base-info to cache", t, func(ctx convey.C) { |
|
err := d.AddCacheInfos(c, im) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoCacheCard(t *testing.T) { |
|
var ( |
|
c = context.TODO() |
|
mid = int64(2805) |
|
) |
|
convey.Convey("Get card-info from cache", t, func(ctx convey.C) { |
|
_, err := d.CacheCard(c, mid) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoAddCacheCard(t *testing.T) { |
|
var ( |
|
c = context.TODO() |
|
mid = int64(2805) |
|
|
|
v = &model.Card{ |
|
Mid: 10920044, |
|
Name: "冠冠爱看书", |
|
Sex: "男", |
|
Face: "http://i1.hdslb.com/bfs/face/4b12a3e65d344e31a11e6425767863019738c7bc.jpg", |
|
Sign: "来点字", |
|
Rank: 10000, |
|
Level: 5, //等级 |
|
Silence: 0, |
|
Vip: model.VipInfo{ |
|
Type: 2, |
|
Status: 1, |
|
DueDate: 162930240, |
|
}, |
|
Pendant: model.PendantInfo{ |
|
Pid: 159, |
|
Name: "2018拜年祭", |
|
Image: "http://i2.hdslb.com/bfs/face/aace621fa64a698f2ca94d13645a26e9a7a99ed2.png", |
|
Expire: 1566367231, |
|
}, |
|
Nameplate: model.NameplateInfo{ |
|
Nid: 7, |
|
Name: "见习搬运工", |
|
Image: "http://i1.hdslb.com/bfs/face/8478fb7c54026cd47f09daa493a1b1683113a90d.png", |
|
ImageSmall: "http://i0.hdslb.com/bfs/face/50eef47c3a30a75659d3cc298cfb09031d1a2ce5.png", |
|
Level: "普通勋章", |
|
Condition: "转载视频", |
|
}, |
|
} |
|
) |
|
convey.Convey("Add card-info to cache", t, func(ctx convey.C) { |
|
err := d.AddCacheCard(c, mid, v) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoCacheCards(t *testing.T) { |
|
var ( |
|
c = context.TODO() |
|
mids = []int64{110017381, 110019061, 110020081} |
|
) |
|
convey.Convey("Batch get card-info from cache", t, func(ctx convey.C) { |
|
res, err := d.CacheCards(c, mids) |
|
ctx.Convey("Then err should be nil and res should not be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
ctx.So(res, convey.ShouldNotBeNil) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoAddCacheCards(t *testing.T) { |
|
var ( |
|
c = context.TODO() |
|
card1 = &model.Card{ |
|
Mid: 10920044, |
|
Name: "冠冠爱看书", |
|
Sex: "男", |
|
Face: "http://i1.hdslb.com/bfs/face/4b12a3e65d344e31a11e6425767863019738c7bc.jpg", |
|
Sign: "来点字", |
|
Rank: 10000, |
|
Level: 5, //等级 |
|
Silence: 0, |
|
Vip: model.VipInfo{ |
|
Type: 2, |
|
Status: 1, |
|
DueDate: 162930240, |
|
}, |
|
Pendant: model.PendantInfo{ |
|
Pid: 159, |
|
Name: "2018拜年祭", |
|
Image: "http://i2.hdslb.com/bfs/face/aace621fa64a698f2ca94d13645a26e9a7a99ed2.png", |
|
Expire: 1566367231, |
|
}, |
|
Nameplate: model.NameplateInfo{ |
|
Nid: 7, |
|
Name: "见习搬运工", |
|
Image: "http://i1.hdslb.com/bfs/face/8478fb7c54026cd47f09daa493a1b1683113a90d.png", |
|
ImageSmall: "http://i0.hdslb.com/bfs/face/50eef47c3a30a75659d3cc298cfb09031d1a2ce5.png", |
|
Level: "普通勋章", |
|
Condition: "转载视频", |
|
}, |
|
} |
|
cm = map[int64]*model.Card{ |
|
card1.Mid: card1, |
|
} |
|
) |
|
convey.Convey("Batch set card-info to cache", t, func(ctx convey.C) { |
|
err := d.AddCacheCards(c, cm) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoCacheVip(t *testing.T) { |
|
var ( |
|
c = context.TODO() |
|
mid = int64(110003731) |
|
) |
|
convey.Convey("Get vip-info from cache", t, func(ctx convey.C) { |
|
_, err := d.CacheVip(c, mid) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoAddCacheVip(t *testing.T) { |
|
var ( |
|
c = context.TODO() |
|
mid = int64(110003731) |
|
v = &model.VipInfo{ |
|
Type: 2, |
|
Status: 1, |
|
DueDate: 162930240, |
|
} |
|
) |
|
convey.Convey("Set vip-cache to cache", t, func(ctx convey.C) { |
|
err := d.AddCacheVip(c, mid, v) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoCacheVips(t *testing.T) { |
|
var ( |
|
c = context.TODO() |
|
mids = []int64{110002741, 110004601, 110006251} |
|
) |
|
convey.Convey("Batch get vip-infos from cache", t, func(ctx convey.C) { |
|
res, err := d.CacheVips(c, mids) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
ctx.So(res, convey.ShouldNotBeNil) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoAddCacheVips(t *testing.T) { |
|
var ( |
|
c = context.TODO() |
|
vm = map[int64]*model.VipInfo{ |
|
110007391: { |
|
Type: 2, |
|
Status: 1, |
|
DueDate: 162930240, |
|
}, |
|
110010271: { |
|
Type: 2, |
|
Status: 1, |
|
DueDate: 162930240, |
|
}, |
|
} |
|
) |
|
convey.Convey("Batch set vip-infos to cache", t, func(ctx convey.C) { |
|
err := d.AddCacheVips(c, vm) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoCacheProfile(t *testing.T) { |
|
var ( |
|
c = context.TODO() |
|
mid = int64(110011831) |
|
) |
|
convey.Convey("Get profile-info from cache", t, func(ctx convey.C) { |
|
_, err := d.CacheProfile(c, mid) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoAddCacheProfile(t *testing.T) { |
|
var ( |
|
c = context.TODO() |
|
mid = int64(110011951) |
|
v = &model.Profile{ |
|
Mid: 10920044, |
|
Name: "冠冠爱看书", |
|
Sex: "男", |
|
Face: "http://i1.hdslb.com/bfs/face/4b12a3e65d344e31a11e6425767863019738c7bc.jpg", |
|
Sign: "来点字", |
|
Rank: 10000, |
|
Level: 5, |
|
JoinTime: 1503296503, |
|
Moral: 71, |
|
Silence: 0, |
|
EmailStatus: 1, |
|
TelStatus: 1, |
|
Identification: 0, |
|
Vip: model.VipInfo{ |
|
Type: 2, |
|
Status: 1, |
|
DueDate: 1629302400000, |
|
}, |
|
Pendant: model.PendantInfo{ |
|
Pid: 159, |
|
Name: "2018拜年祭", |
|
Image: "http://i2.hdslb.com/bfs/face/aace621fa64a698f2ca94d13645a26e9a7a99ed2.png", |
|
Expire: 1551413548, |
|
}, |
|
Nameplate: model.NameplateInfo{ |
|
Nid: 7, |
|
Name: "见习搬运工", |
|
Image: "http://i1.hdslb.com/bfs/face/8478fb7c54026cd47f09daa493a1b1683113a90d.png", |
|
ImageSmall: "http://i0.hdslb.com/bfs/face/50eef47c3a30a75659d3cc298cfb09031d1a2ce5.png", |
|
Level: "普通勋章", |
|
Condition: "转载视频投稿通过总数>=10", |
|
}, |
|
} |
|
) |
|
convey.Convey("Set profile-info to cache", t, func(ctx convey.C) { |
|
err := d.AddCacheProfile(c, mid, v) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
ctx.So(err, convey.ShouldBeNil) |
|
}) |
|
}) |
|
} |
|
|
|
func TestDaoDelCache(t *testing.T) { |
|
var ( |
|
c = context.TODO() |
|
mid = int64(110014081) |
|
) |
|
convey.Convey("Delete member's cache", t, func(ctx convey.C) { |
|
errs := d.DelCache(c, mid) |
|
ctx.Convey("Then err should be nil.", func(ctx convey.C) { |
|
for _, e := range errs { |
|
if e != mc.ErrNotFound { |
|
ctx.So(e, convey.ShouldBeNil) |
|
} |
|
} |
|
}) |
|
}) |
|
}
|
|
|