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.
134 lines
2.9 KiB
134 lines
2.9 KiB
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) |
|
})) |
|
}
|
|
|