135 lines
2.9 KiB
Go
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)
|
|
}))
|
|
}
|