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.
183 lines
3.5 KiB
183 lines
3.5 KiB
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) |
|
}) |
|
}
|
|
|