Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_test",
"go_library",
)
go_test(
name = "go_default_test",
srcs = [
"advance_test.go",
"dm_test.go",
"mask_test.go",
"subtitle_test.go",
],
embed = [":go_default_library"],
rundir = ".",
tags = ["automanaged"],
deps = [
"//app/interface/main/dm2/model:go_default_library",
"//vendor/github.com/smartystreets/goconvey/convey:go_default_library",
],
)
go_library(
name = "go_default_library",
srcs = [
"advance.go",
"dm.go",
"mask.go",
"subtitle.go",
],
importpath = "go-common/app/interface/main/dm2/rpc/client",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/main/dm2/model:go_default_library",
"//library/net/rpc:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,52 @@
package client
import (
"context"
"go-common/app/interface/main/dm2/model"
)
const (
_buyAdvance = "RPC.BuyAdvance"
_advanceState = "RPC.AdvanceState"
_advances = "RPC.Advances"
_passAdvance = "RPC.PassAdvance"
_denyAdvance = "RPC.DenyAdvance"
_cancelAdvance = "RPC.CancelAdvance"
)
// BuyAdvance 购买高级弹幕
func (s *Service) BuyAdvance(c context.Context, arg *model.ArgAdvance) (err error) {
err = s.client.Call(c, _buyAdvance, arg, &_noArg)
return
}
// AdvanceState 高级弹幕状态
func (s *Service) AdvanceState(c context.Context, arg *model.ArgAdvance) (res *model.AdvState, err error) {
err = s.client.Call(c, _advanceState, arg, &res)
return
}
// Advances 高级弹幕申请列表
func (s *Service) Advances(c context.Context, arg *model.ArgMid) (res []*model.Advance, err error) {
err = s.client.Call(c, _advances, arg, &res)
return
}
// PassAdvance 通过高级弹幕申请
func (s *Service) PassAdvance(c context.Context, arg *model.ArgUpAdvance) (err error) {
err = s.client.Call(c, _passAdvance, arg, _noArg)
return
}
// DenyAdvance 拒绝高级弹幕申请
func (s *Service) DenyAdvance(c context.Context, arg *model.ArgUpAdvance) (err error) {
err = s.client.Call(c, _denyAdvance, arg, _noArg)
return
}
// CancelAdvance 取消高级弹幕申请
func (s *Service) CancelAdvance(c context.Context, arg *model.ArgUpAdvance) (err error) {
err = s.client.Call(c, _cancelAdvance, arg, _noArg)
return
}

View File

@@ -0,0 +1,95 @@
package client
import (
"context"
"fmt"
"testing"
"go-common/app/interface/main/dm2/model"
. "github.com/smartystreets/goconvey/convey"
)
func TestBuyAdvance(t *testing.T) {
var (
mid int64 = 27515260
cid int64 = 10107292
mode = "sp"
)
Convey("test buy advance dm", t, func() {
arg := &model.ArgAdvance{
Mid: mid,
Cid: cid,
Mode: mode,
}
err := svr.BuyAdvance(context.TODO(), arg)
fmt.Println(err)
So(err, ShouldBeNil)
})
}
func TestAdvanceState(t *testing.T) {
var (
mid int64 = 27515330
cid int64 = 10107292
mode = "sp"
)
Convey("test advance dm state", t, func() {
arg := &model.ArgAdvance{
Mid: mid,
Cid: cid,
Mode: mode,
}
res, err := svr.AdvanceState(context.TODO(), arg)
So(err, ShouldBeNil)
So(res, ShouldNotBeEmpty)
})
}
func TestAdvances(t *testing.T) {
var (
mid int64 = 27515260
)
Convey("test dm advances", t, func() {
arg := &model.ArgMid{Mid: mid}
res, err := svr.Advances(context.TODO(), arg)
So(err, ShouldBeNil)
So(res, ShouldNotBeEmpty)
})
}
func TestPassAdvance(t *testing.T) {
var (
mid int64 = 7158471
id int64 = 2
)
Convey("test pass advance dm", t, func() {
arg := &model.ArgUpAdvance{Mid: mid, ID: id}
err := svr.PassAdvance(context.TODO(), arg)
So(err, ShouldBeNil)
})
}
func TestDenyAdvance(t *testing.T) {
var (
mid int64 = 27515615
id int64 = 107
)
Convey("test deny advance dm", t, func() {
arg := &model.ArgUpAdvance{Mid: mid, ID: id}
err := svr.DenyAdvance(context.TODO(), arg)
So(err, ShouldBeNil)
})
}
func TestCancelAdvance(t *testing.T) {
var (
mid int64 = 27515615
id int64 = 107
)
Convey("test cancel advance dm", t, func() {
arg := &model.ArgUpAdvance{Mid: mid, ID: id}
err := svr.CancelAdvance(context.TODO(), arg)
So(err, ShouldBeNil)
})
}

View File

@@ -0,0 +1,138 @@
package client
import (
"context"
"go-common/app/interface/main/dm2/model"
"go-common/library/net/rpc"
)
const (
_subjectInfos = "RPC.SubjectInfos"
_editDMState = "RPC.EditDMState"
_editDMPool = "RPC.EditDMPool"
_editDMAttr = "RPC.EditDMAttr"
_addUserFilters = "RPC.AddUserFilters"
_userFilters = "RPC.UserFilters"
_delUserFilters = "RPC.DelUserFilters"
_addUpFilters = "RPC.AddUpFilters"
_upFilters = "RPC.UpFilters"
_banUsers = "RPC.BanUsers"
_cancelBanUsers = "RPC.CancelBanUsers"
_editUpFilters = "RPC.EditUpFilters"
_addGblFilter = "RPC.AddGlobalFilter"
_globalFilters = "RPC.GlobalFilters"
_delGlbFilters = "RPC.DelGlobalFilters"
)
const (
_appid = "community.service.dm"
)
var (
_noArg = &struct{}{}
)
// Service dm rpc client.
type Service struct {
client *rpc.Client2
}
// New new a dm rpc client.
func New(c *rpc.ClientConfig) (s *Service) {
s = &Service{}
s.client = rpc.NewDiscoveryCli(_appid, c)
return
}
// SubjectInfos multi get dm subject info by type and oids.
func (s *Service) SubjectInfos(c context.Context, arg *model.ArgOids) (res map[int64]*model.SubjectInfo, err error) {
err = s.client.Call(c, _subjectInfos, arg, &res)
return
}
// EditDMState update dm state.
// 0正常、1删除10用户删除、11举报脚本删除
func (s *Service) EditDMState(c context.Context, arg *model.ArgEditDMState) (err error) {
err = s.client.Call(c, _editDMState, arg, _noArg)
return
}
// EditDMAttr update dm attr.
func (s *Service) EditDMAttr(c context.Context, arg *model.ArgEditDMAttr) (err error) {
err = s.client.Call(c, _editDMAttr, arg, _noArg)
return
}
// EditDMPool update dm pool.
// 0:普通弹幕池、1:字幕弹幕池
func (s *Service) EditDMPool(c context.Context, arg *model.ArgEditDMPool) (err error) {
err = s.client.Call(c, _editDMPool, arg, _noArg)
return
}
// AddUserFilters add user filter.
func (s *Service) AddUserFilters(c context.Context, arg *model.ArgAddUserFilters) (res []*model.UserFilter, err error) {
err = s.client.Call(c, _addUserFilters, arg, &res)
return
}
// UserFilters multi get user filters.
func (s *Service) UserFilters(c context.Context, arg *model.ArgMid) (res []*model.UserFilter, err error) {
err = s.client.Call(c, _userFilters, arg, &res)
return
}
// DelUserFilters delete user filters by filter id.
func (s *Service) DelUserFilters(c context.Context, arg *model.ArgDelUserFilters) (affect int64, err error) {
err = s.client.Call(c, _delUserFilters, arg, &affect)
return
}
// AddUpFilters add up filters.
func (s *Service) AddUpFilters(c context.Context, arg *model.ArgAddUpFilters) (err error) {
err = s.client.Call(c, _addUpFilters, arg, &_noArg)
return
}
// UpFilters multi get up filters.
func (s *Service) UpFilters(c context.Context, arg *model.ArgUpFilters) (res []*model.UpFilter, err error) {
err = s.client.Call(c, _upFilters, arg, &res)
return
}
// BanUsers ban user by upper or assist.
func (s *Service) BanUsers(c context.Context, arg *model.ArgBanUsers) (err error) {
err = s.client.Call(c, _banUsers, arg, &_noArg)
return
}
// CancelBanUsers cancel users by upper or assiat.
func (s *Service) CancelBanUsers(c context.Context, arg *model.ArgCancelBanUsers) (err error) {
err = s.client.Call(c, _cancelBanUsers, arg, &_noArg)
return
}
// EditUpFilters edit upper filters.
func (s *Service) EditUpFilters(c context.Context, arg *model.ArgEditUpFilters) (affect int64, err error) {
err = s.client.Call(c, _editUpFilters, arg, &affect)
return
}
// AddGlobalFilter add global filters.
func (s *Service) AddGlobalFilter(c context.Context, arg *model.ArgAddGlobalFilter) (res *model.GlobalFilter, err error) {
err = s.client.Call(c, _addGblFilter, arg, &res)
return
}
// GlobalFilters multi get global filters.
func (s *Service) GlobalFilters(c context.Context, arg *model.ArgGlobalFilters) (res []*model.GlobalFilter, err error) {
err = s.client.Call(c, _globalFilters, arg, &res)
return
}
// DelGlobalFilters delete global filter.
func (s *Service) DelGlobalFilters(c context.Context, arg *model.ArgDelGlobalFilters) (affect int64, err error) {
err = s.client.Call(c, _delGlbFilters, arg, &affect)
return
}

View File

@@ -0,0 +1,35 @@
package client
import (
"context"
"os"
"testing"
"go-common/app/interface/main/dm2/model"
. "github.com/smartystreets/goconvey/convey"
)
var svr *Service
func TestMain(m *testing.M) {
// new rpc client
svr = New(nil)
os.Exit(m.Run())
}
func TestSubjectInfos(t *testing.T) {
var (
tp int32 = 1
oids = []int64{1221, 1491, 1352, 1391, 1291, 10109227}
)
Convey("test dm subject info", t, func() {
arg := &model.ArgOids{Type: tp, Oids: oids, Plat: 1}
res, err := svr.SubjectInfos(context.TODO(), arg)
So(err, ShouldBeNil)
So(res, ShouldNotBeEmpty)
for oid, v := range res {
t.Logf("oid:%d,%+v", oid, v)
}
})
}

View File

@@ -0,0 +1,15 @@
package client
import (
"context"
"go-common/app/interface/main/dm2/model"
)
const _mask = "RPC.Mask"
// Mask get mask
func (s *Service) Mask(c context.Context, arg *model.ArgMask) (res *model.Mask, err error) {
err = s.client.Call(c, _mask, arg, &res)
return
}

View File

@@ -0,0 +1,23 @@
package client
import (
"context"
"testing"
"go-common/app/interface/main/dm2/model"
. "github.com/smartystreets/goconvey/convey"
)
func TestMask(t *testing.T) {
var (
cid int64 = 632
)
Convey("test mask", t, func() {
arg := &model.ArgMask{Cid: cid, Plat: 0}
res, err := svr.Mask(context.TODO(), arg)
So(err, ShouldBeNil)
So(res, ShouldNotBeEmpty)
t.Logf("===============%+v", res)
})
}

View File

@@ -0,0 +1,31 @@
package client
import (
"context"
"go-common/app/interface/main/dm2/model"
)
const (
_subtitleGet = "RPC.SubtitleGet"
_subtitleSujectSubmit = "RPC.SubtitleSujectSubmit"
_subtitleSubjectSubmitGet = "RPC.SubtitleSubjectSubmitGet"
)
// SubtitleGet get mask list
func (s *Service) SubtitleGet(c context.Context, arg *model.ArgSubtitleGet) (res *model.VideoSubtitles, err error) {
err = s.client.Call(c, _subtitleGet, arg, &res)
return
}
// SubtitleSujectSubmit .
func (s *Service) SubtitleSujectSubmit(c context.Context, arg *model.ArgSubtitleAllowSubmit) (err error) {
err = s.client.Call(c, _subtitleSujectSubmit, arg, _noArg)
return
}
// SubtitleSubjectSubmitGet .
func (s *Service) SubtitleSubjectSubmitGet(c context.Context, arg *model.ArgArchiveID) (res *model.SubtitleSubjectReply, err error) {
err = s.client.Call(c, _subtitleSubjectSubmitGet, arg, &res)
return
}

View File

@@ -0,0 +1,43 @@
package client
import (
"context"
"testing"
"go-common/app/interface/main/dm2/model"
. "github.com/smartystreets/goconvey/convey"
)
func TestSubtitleGet(t *testing.T) {
var (
cid int64 = 401
aid int64 = 4052462
tp int32 = 1
)
Convey("test mask list", t, func() {
arg := &model.ArgSubtitleGet{Oid: cid, Aid: aid, Type: tp}
res, err := svr.SubtitleGet(context.TODO(), arg)
So(err, ShouldBeNil)
So(res, ShouldNotBeEmpty)
t.Logf("===============%+v", res)
})
}
func TestSubtitleSujectSubmit(t *testing.T) {
Convey("test mask list", t, func() {
arg := &model.ArgSubtitleAllowSubmit{Aid: 4052462, AllowSubmit: true, Lan: "zh-CN"}
err := svr.SubtitleSujectSubmit(context.TODO(), arg)
So(err, ShouldBeNil)
})
}
func TestSubtitleSubjectSubmitGet(t *testing.T) {
Convey("test mask list", t, func() {
arg := &model.ArgArchiveID{Aid: 4052462}
res, err := svr.SubtitleSubjectSubmitGet(context.TODO(), arg)
So(err, ShouldBeNil)
So(res, ShouldNotBeEmpty)
t.Logf("===============%+v", res)
})
}

View File

@@ -0,0 +1,52 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_test",
"go_library",
)
go_test(
name = "go_default_test",
srcs = ["rpc_test.go"],
embed = [":go_default_library"],
rundir = ".",
tags = ["automanaged"],
deps = [
"//app/interface/main/dm2/conf:go_default_library",
"//app/interface/main/dm2/model:go_default_library",
"//app/interface/main/dm2/service:go_default_library",
"//library/net/rpc:go_default_library",
"//vendor/github.com/smartystreets/goconvey/convey:go_default_library",
],
)
go_library(
name = "go_default_library",
srcs = ["rpc.go"],
importpath = "go-common/app/interface/main/dm2/rpc/server",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/main/dm2/conf:go_default_library",
"//app/interface/main/dm2/model:go_default_library",
"//app/interface/main/dm2/service:go_default_library",
"//library/ecode:go_default_library",
"//library/net/rpc:go_default_library",
"//library/net/rpc/context:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,217 @@
package server
import (
"go-common/app/interface/main/dm2/conf"
"go-common/app/interface/main/dm2/model"
"go-common/app/interface/main/dm2/service"
"go-common/library/ecode"
"go-common/library/net/rpc"
"go-common/library/net/rpc/context"
)
// RPC rpc server.
type RPC struct {
s *service.Service
}
// New new a rpc server.
func New(c *conf.Config, s *service.Service) (svr *rpc.Server) {
r := &RPC{s: s}
svr = rpc.NewServer(c.RPCServer)
if err := svr.Register(r); err != nil {
panic(err)
}
return
}
// Auth check connection success.
func (r *RPC) Auth(c context.Context, arg *rpc.Auth, res *struct{}) (err error) {
return
}
// Ping checks connection success.
func (r *RPC) Ping(c context.Context, arg *struct{}, res *struct{}) (err error) {
return
}
// SubjectInfos multi get dm subject info by type and oids.
func (r *RPC) SubjectInfos(c context.Context, a *model.ArgOids, res *map[int64]*model.SubjectInfo) (err error) {
*res, err = r.s.SubjectInfos(c, a.Type, a.Plat, a.Oids)
return
}
// EditDMState edit dm state.
func (r *RPC) EditDMState(c context.Context, a *model.ArgEditDMState, res *struct{}) (err error) {
err = r.s.EditDMState(c, a.Type, a.Mid, a.Oid, a.State, a.Dmids, a.Source, a.OperatorType)
return
}
// EditDMPool edit dm pool.
func (r *RPC) EditDMPool(c context.Context, a *model.ArgEditDMPool, res *struct{}) (err error) {
err = r.s.EditDMPool(c, a.Type, a.Mid, a.Oid, a.Pool, a.Dmids, a.Source, a.OperatorType)
return
}
// EditDMAttr edit dm attr
func (r *RPC) EditDMAttr(c context.Context, a *model.ArgEditDMAttr, res *struct{}) (err error) {
_, err = r.s.EditDMAttr(c, a.Type, a.Mid, a.Oid, a.Bit, a.Value, a.Dmids, a.Source, a.OperatorType)
return
}
// BuyAdvance 购买高级弹幕
func (r *RPC) BuyAdvance(c context.Context, a *model.ArgAdvance, res *struct{}) (err error) {
err = r.s.BuyAdvance(c, a.Mid, a.Cid, a.Mode)
return
}
// AdvanceState 高级弹幕状态
func (r *RPC) AdvanceState(c context.Context, a *model.ArgAdvance, res *model.AdvState) (err error) {
var v *model.AdvState
if v, err = r.s.AdvanceState(c, a.Mid, a.Cid, a.Mode); err == nil {
*res = *v
}
return
}
// Advances 高级弹幕申请列表
func (r *RPC) Advances(c context.Context, a *model.ArgMid, res *[]*model.Advance) (err error) {
*res, err = r.s.Advances(c, a.Mid)
return
}
// PassAdvance 通过高级弹幕申请
func (r *RPC) PassAdvance(c context.Context, a *model.ArgUpAdvance, res *struct{}) (err error) {
err = r.s.PassAdvance(c, a.Mid, a.ID)
return
}
// DenyAdvance 拒绝高级弹幕申请
func (r *RPC) DenyAdvance(c context.Context, a *model.ArgUpAdvance, res *struct{}) (err error) {
err = r.s.DenyAdvance(c, a.Mid, a.ID)
return
}
// CancelAdvance 取消高级弹幕申请
func (r *RPC) CancelAdvance(c context.Context, a *model.ArgUpAdvance, res *struct{}) (err error) {
err = r.s.CancelAdvance(c, a.Mid, a.ID)
return
}
// AddUserFilters add user filter.
func (r *RPC) AddUserFilters(c context.Context, a *model.ArgAddUserFilters, res *[]*model.UserFilter) (err error) {
fltMap := make(map[string]string)
for _, filter := range a.Filters {
fltMap[filter] = a.Comment
}
*res, err = r.s.AddUserFilters(c, a.Mid, a.Type, fltMap)
return
}
// UserFilters multi get user filters.
func (r *RPC) UserFilters(c context.Context, a *model.ArgMid, res *[]*model.UserFilter) (err error) {
*res, err = r.s.UserFilters(c, a.Mid)
return
}
// DelUserFilters delete user filters by filter id.
func (r *RPC) DelUserFilters(c context.Context, a *model.ArgDelUserFilters, affect *int64) (err error) {
*affect, err = r.s.DelUserFilters(c, a.Mid, a.IDs)
return
}
// AddUpFilters add up filters.
func (r *RPC) AddUpFilters(c context.Context, a *model.ArgAddUpFilters, res *struct{}) (err error) {
fltMap := make(map[string]string)
for _, filter := range a.Filters {
fltMap[filter] = "" // NOTE here should be comment assignment
}
err = r.s.AddUpFilters(c, a.Mid, a.Type, fltMap)
return
}
// UpFilters multi get up filters.
func (r *RPC) UpFilters(c context.Context, a *model.ArgUpFilters, res *[]*model.UpFilter) (err error) {
*res, err = r.s.UpFilters(c, a.Mid)
return
}
// BanUsers ban user by upper or assist.
func (r *RPC) BanUsers(c context.Context, a *model.ArgBanUsers, res *struct{}) (err error) {
err = r.s.BanUsers(c, a.Mid, a.Oid, a.DMIDs)
return
}
// CancelBanUsers cancel users by upper or assiat.
func (r *RPC) CancelBanUsers(c context.Context, a *model.ArgCancelBanUsers, res *struct{}) (err error) {
err = r.s.CancelBanUsers(c, a.Mid, a.Aid, a.Filters)
return
}
// EditUpFilters edit upper filters.
func (r *RPC) EditUpFilters(c context.Context, a *model.ArgEditUpFilters, res *int64) (err error) {
*res, err = r.s.EditUpFilters(c, a.Mid, a.Type, a.Active, a.Filters)
return
}
// AddGlobalFilter add global filters.
func (r *RPC) AddGlobalFilter(c context.Context, a *model.ArgAddGlobalFilter, res *model.GlobalFilter) (err error) {
var v *model.GlobalFilter
if v, err = r.s.AddGlobalFilter(c, a.Type, a.Filter); err == nil {
*res = *v
}
return
}
// GlobalFilters multi get global filters.
func (r *RPC) GlobalFilters(c context.Context, a *model.ArgGlobalFilters, res *[]*model.GlobalFilter) (err error) {
if a == nil {
err = ecode.RequestErr
return
}
*res, err = r.s.GlobalFilters(c)
return
}
// DelGlobalFilters delete global filter.
func (r *RPC) DelGlobalFilters(c context.Context, a *model.ArgDelGlobalFilters, affect *int64) (err error) {
*affect, err = r.s.DelGlobalFilters(c, a.IDs)
return
}
// Mask get web mask.
func (r *RPC) Mask(c context.Context, a *model.ArgMask, res *model.Mask) (err error) {
if a == nil {
err = ecode.RequestErr
return
}
var m *model.Mask
if m, err = r.s.MaskList(c, a.Cid, a.Plat); err == nil && m != nil {
*res = *m
}
return
}
// SubtitleGet .
func (r *RPC) SubtitleGet(c context.Context, arg *model.ArgSubtitleGet, res *model.VideoSubtitles) (err error) {
var v *model.VideoSubtitles
if v, err = r.s.GetWebVideoSubtitle(c, arg.Aid, arg.Oid, arg.Type); err == nil {
*res = *v
}
return
}
// SubtitleSujectSubmit set archive allow submit
func (r *RPC) SubtitleSujectSubmit(c context.Context, arg *model.ArgSubtitleAllowSubmit, res *struct{}) (err error) {
err = r.s.SubtitleSubjectSubmit(c, arg.Aid, arg.AllowSubmit, arg.Lan)
return
}
// SubtitleSubjectSubmitGet get archive allow submit
func (r *RPC) SubtitleSubjectSubmitGet(c context.Context, arg *model.ArgArchiveID, res *model.SubtitleSubjectReply) (err error) {
var (
reply *model.SubtitleSubjectReply
)
reply, err = r.s.SubtitleSubject(c, arg.Aid)
*res = *reply
return
}

View File

@@ -0,0 +1,183 @@
package server
import (
"flag"
"net/rpc"
"os"
"path/filepath"
"testing"
"go-common/app/interface/main/dm2/conf"
"go-common/app/interface/main/dm2/model"
"go-common/app/interface/main/dm2/service"
rpcx "go-common/library/net/rpc"
. "github.com/smartystreets/goconvey/convey"
)
var (
client *rpc.Client
_noArg = &struct{}{}
)
const (
_addr = "127.0.0.1:6709"
_subjectInfos = "RPC.SubjectInfos"
_buyAdvance = "RPC.BuyAdvance"
_advanceState = "RPC.AdvanceState"
_advances = "RPC.Advances"
_passAdvance = "RPC.PassAdvance"
_denyAdvance = "RPC.DenyAdvance"
_cancelAdvance = "RPC.CancelAdvance"
_mask = "RPC.Mask"
)
func TestMain(m *testing.M) {
var err error
dir, _ := filepath.Abs("../../cmd/dm2-test.toml")
if err = flag.Set("conf", dir); err != nil {
panic(err)
}
if err = conf.Init(); err != nil {
panic(err)
}
svr := service.New(conf.Conf)
r := &RPC{s: svr}
server := rpcx.NewServer(conf.Conf.RPCServer)
if err = server.Register(r); err != nil {
panic(err)
}
if client, err = rpc.Dial("tcp", _addr); err != nil {
panic(err)
}
os.Exit(m.Run())
}
func TestSubjectInfos(t *testing.T) {
var (
tp int32 = 1
oids = []int64{1221, 1231}
res = make(map[int64]*model.SubjectInfo)
)
Convey("get dm subject info", t, func() {
arg := model.ArgOids{Type: tp, Oids: oids}
err := client.Call(_subjectInfos, arg, &res)
So(err, ShouldBeNil)
So(res, ShouldNotBeEmpty)
for cid, r := range res {
t.Logf("=====cid:%d Infos:%+v", cid, r)
}
})
}
func TestBuyAdvance(t *testing.T) {
var (
mid int64 = 27515260
cid int64 = 10107292
mode = "sp"
)
Convey("buy advance dm", t, func() {
arg := &model.ArgAdvance{
Mid: mid,
Cid: cid,
Mode: mode,
}
err := client.Call(_buyAdvance, arg, _noArg)
So(err, ShouldBeNil)
})
}
func TestAdvanceState(t *testing.T) {
var (
mid int64 = 27515330
cid int64 = 10107292
mode = "sp"
res = &model.AdvState{}
)
Convey("get advance dm state", t, func() {
arg := &model.ArgAdvance{
Mid: mid,
Cid: cid,
Mode: mode,
}
err := client.Call(_advanceState, arg, res)
So(err, ShouldBeNil)
So(res, ShouldNotBeEmpty)
})
}
func TestAdvances(t *testing.T) {
var (
mid int64 = 27515260
res = make([]*model.Advance, 10)
)
Convey("get advances dm", t, func() {
arg := &model.ArgMid{
Mid: mid,
}
err := client.Call(_advances, arg, &res)
So(err, ShouldBeNil)
So(res, ShouldNotBeEmpty)
})
}
func TestPassAdvance(t *testing.T) {
var (
mid int64 = 7158471
id int64 = 2
)
Convey("pass advance dm ", t, func() {
arg := &model.ArgUpAdvance{
Mid: mid,
ID: id,
}
err := client.Call(_passAdvance, arg, _noArg)
So(err, ShouldBeNil)
})
}
func TestDenyAdvance(t *testing.T) {
var (
mid int64 = 27515615
id int64 = 107
)
Convey("deny advance dm", t, func() {
arg := &model.ArgUpAdvance{
Mid: mid,
ID: id,
}
err := client.Call(_denyAdvance, arg, _noArg)
So(err, ShouldBeNil)
})
}
func TestCancelAdvance(t *testing.T) {
var (
mid int64 = 27515615
id int64 = 122
)
Convey("cancel advance dm", t, func() {
arg := &model.ArgUpAdvance{
Mid: mid,
ID: id,
}
err := client.Call(_cancelAdvance, arg, _noArg)
So(err, ShouldBeNil)
})
}
func TestMask(t *testing.T) {
var (
cid int64 = 32
res = &model.Mask{}
)
Convey("test mask list", t, func() {
arg := &model.ArgMask{
Cid: cid,
}
err := client.Call(_mask, arg, res)
t.Logf("=========%+v", res)
So(err, ShouldBeNil)
})
}