go-common/app/job/main/aegis/service/monitor_test.go
2019-04-22 18:49:16 +08:00

135 lines
2.9 KiB
Go

package service
import (
"context"
"github.com/golang/mock/gomock"
. "github.com/smartystreets/goconvey/convey"
"go-common/app/job/main/aegis/model/monitor"
accApi "go-common/app/service/main/account/api"
"testing"
)
func WithMock(t *testing.T, f func(mock *gomock.Controller)) func() {
return func() {
mockCtrl := gomock.NewController(t)
defer mockCtrl.Finish()
f(mockCtrl)
}
}
func TestService_monitorArchive(t *testing.T) {
var (
na = &monitor.BinlogArchive{
ID: 10111555,
State: -100,
Round: 10,
MID: 666,
TypeID: 2422,
}
)
Convey("monitorUpDelArc", t, func(ctx C) {
errs := s.monitorArchive("update", nil, na)
So(errs, ShouldNotBeEmpty)
})
}
func TestService_monitorUpDelArc(t *testing.T) {
var (
na = &monitor.BinlogArchive{
ID: 10111555,
State: -100,
Round: 10,
MID: 666,
TypeID: 24,
}
logs []string
)
Convey("monitorUpDelArc", t, func(ctx C) {
_, logs, _ = s.monitorUpDelArc(1, na)
So(logs, ShouldNotBeEmpty)
})
}
func TestService_monitorVideo(t *testing.T) {
var (
na = &monitor.BinlogVideo{
ID: 10134809,
Status: 0,
}
)
Convey("monitorVideo", t, func(ctx C) {
errs := s.monitorVideo("update", nil, na)
So(errs, ShouldBeEmpty)
})
}
func TestService_reflectIntVal(t *testing.T) {
var (
a = &monitor.BinlogArchive{
ID: 123,
State: 0,
Round: 10,
MID: 666,
TypeID: 22,
Addit: &monitor.ArchiveAddit{
MissionID: 999,
},
}
)
Convey("reflectIntVal", t, func(ctx C) {
_, err := s.reflectIntVal(a, "Addit.MissionID", 0)
So(err, ShouldBeNil)
_, err = s.reflectIntVal(a, "Addit111", 0)
So(err, ShouldNotBeNil)
_, err = s.reflectIntVal(a, "ID", 0)
So(err, ShouldBeNil)
})
}
func TestService_monitorCompSatisfy(t *testing.T) {
Convey("monitorCompSatisfy >=", t, func(ctx C) {
is, err := s.monitorCompSatisfy(">=10", 11)
So(err, ShouldBeNil)
So(is, ShouldBeTrue)
is, err = s.monitorCompSatisfy(">10", 10)
So(err, ShouldBeNil)
So(is, ShouldBeFalse)
is, err = s.monitorCompSatisfy("=10", 10)
So(err, ShouldBeNil)
So(is, ShouldBeTrue)
is, err = s.monitorCompSatisfy("in(10,20,30)", 10)
So(err, ShouldBeNil)
So(is, ShouldBeTrue)
is, err = s.monitorCompSatisfy("in(10,20,30)", 40)
So(err, ShouldBeNil)
So(is, ShouldBeFalse)
})
}
func TestService_monitorSave(t *testing.T) {
Convey("monitorSave", t, func(ctx C) {
_, errs := s.monitorSave([]string{"monitor_test_1"}, []string{"monitor_test_2"}, 123)
So(errs, ShouldBeEmpty)
})
}
func TestService_multiAccounts(t *testing.T) {
var c = context.Background()
Convey("multiAccounts", t, WithMock(t, func(mockCtrl *gomock.Controller) {
mock := accApi.NewMockAccountClient(mockCtrl)
s.acc = mock
mockReq := &accApi.MidReq{
Mid: 123,
}
mock.EXPECT().ProfileWithStat3(gomock.Any(), mockReq).Return(&accApi.ProfileStatReply{}, nil)
_, err := s.multiAccounts(c, []int64{123})
So(err, ShouldBeNil)
}))
}