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.
49 lines
1.4 KiB
49 lines
1.4 KiB
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) |
|
}) |
|
}) |
|
}) |
|
}
|
|
|