123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package dao
- import (
- "context"
- "reflect"
- "testing"
- "go-common/app/service/main/secure/model"
- "go-common/library/cache/memcache"
- "github.com/bouk/monkey"
- . "github.com/smartystreets/goconvey/convey"
- )
- func TestAddLocsCache(t *testing.T) {
- Convey("TestAddLocsCache", t, func() {
- err := d.AddLocsCache(context.TODO(), 3, &model.Locs{LocsCount: map[int64]int64{3: 2, 4: 3}})
- So(err, ShouldBeNil)
- })
- Convey("TestAddLocsCacheErr", t, func() {
- connGuard := monkey.PatchInstanceMethod(reflect.TypeOf(d.mc), "Get", func(_ *memcache.Pool, _ context.Context) memcache.Conn {
- return memcache.MockWith(memcache.ErrItemObject)
- })
- defer connGuard.Unpatch()
- err := d.AddLocsCache(context.TODO(), 3, &model.Locs{LocsCount: map[int64]int64{3: 2, 4: 3}})
- So(err, ShouldEqual, memcache.ErrItemObject)
- })
- }
- func TestLocsCache(t *testing.T) {
- Convey("TestGetLocsCache", t, func() {
- locs, err := d.LocsCache(context.TODO(), 3)
- So(err, ShouldBeNil)
- So(locs, ShouldNotBeNil)
- })
- Convey("TestGetLocsCacheGetErr", t, func() {
- connGuard := monkey.PatchInstanceMethod(reflect.TypeOf(d.mc), "Get", func(_ *memcache.Pool, _ context.Context) memcache.Conn {
- return memcache.MockWith(memcache.ErrNotFound)
- })
- defer connGuard.Unpatch()
- locs, err := d.LocsCache(context.TODO(), 3)
- So(err, ShouldBeNil)
- So(locs, ShouldBeNil)
- })
- Convey("TestGetLocsCacheScanErr", t, func() {
- connGuard := monkey.PatchInstanceMethod(reflect.TypeOf(d.mc), "Get", func(_ *memcache.Pool, _ context.Context) memcache.Conn {
- return memcache.MockWith(memcache.ErrItemObject)
- })
- defer connGuard.Unpatch()
- locs, err := d.LocsCache(context.TODO(), 3)
- So(err, ShouldEqual, memcache.ErrItemObject)
- So(locs, ShouldBeNil)
- })
- }
- func TestMcPing(t *testing.T) {
- Convey("TestMcPing", t, func() {
- err := d.pingMC(context.Background())
- So(err, ShouldBeNil)
- })
- Convey("TestMcPingErr", t, func() {
- connGuard := monkey.PatchInstanceMethod(reflect.TypeOf(d.mc), "Get", func(_ *memcache.Pool, _ context.Context) memcache.Conn {
- return memcache.MockWith(memcache.ErrConnClosed)
- })
- defer connGuard.Unpatch()
- err := d.pingMC(context.Background())
- So(err, ShouldNotBeNil)
- So(err, ShouldEqual, memcache.ErrConnClosed)
- })
- }
|