go-common/app/job/main/member/dao/databus_test.go
2019-04-22 18:49:16 +08:00

50 lines
1.4 KiB
Go

package dao
import (
"context"
"fmt"
"reflect"
"testing"
"go-common/library/queue/databus"
"github.com/bouk/monkey"
"github.com/smartystreets/goconvey/convey"
)
func TestDaoDatabusAddLog(t *testing.T) {
convey.Convey("DatabusAddLog", t, func(convCtx convey.C) {
var (
c = context.Background()
mid = int64(0)
exp = int64(0)
toExp = int64(0)
ts = int64(0)
oper = ""
reason = ""
ip = ""
)
convCtx.Convey("When everything goes positive", func(convCtx convey.C) {
monkey.PatchInstanceMethod(reflect.TypeOf(d.plogDatabus), "Send", func(_ *databus.Databus, _ context.Context, _ string, _ interface{}) error {
return nil
})
defer monkey.UnpatchAll()
err := d.DatabusAddLog(c, mid, exp, toExp, ts, oper, reason, ip)
convCtx.Convey("Then err should be nil.", func(convCtx convey.C) {
convCtx.So(err, convey.ShouldBeNil)
})
})
convCtx.Convey("When everything goes negative", func(convCtx convey.C) {
monkey.PatchInstanceMethod(reflect.TypeOf(d.plogDatabus), "Send", func(_ *databus.Databus, _ context.Context, _ string, _ interface{}) error {
return fmt.Errorf("Failed send data err")
})
defer monkey.UnpatchAll()
err := d.DatabusAddLog(c, mid, exp, toExp, ts, oper, reason, ip)
convCtx.Convey("Then err should be nil.", func(convCtx convey.C) {
convCtx.So(err, convey.ShouldNotBeNil)
})
})
})
}