接口测试

This commit is contained in:
zhaocy 2022-07-18 13:39:00 +08:00
parent 59ed0e621a
commit a6d674cf1e
8 changed files with 111 additions and 63 deletions

View File

@ -30,6 +30,7 @@ func Execute() {
func init() {
RootCmd.AddCommand(runCmd)
initLog()
robot.InitDb()
}
var account = flag.String("account", "", "登录账号")

View File

@ -6,7 +6,9 @@ package robot
// 理这类问题,这个助手可以返回合适的数据,作为输入参数。
type assistant struct {
//TODO
}
func NewAssistant() *assistant {
return &assistant{}
}

38
cmd/robot/db.go Normal file
View File

@ -0,0 +1,38 @@
package robot
import (
"context"
"log"
"sync"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
)
var dbOnce sync.Once
var mgoCli *mongo.Client
var mgoDb *mongo.Database
func InitDb() {
dbOnce.Do(func() {
var err error
// Set client options
clientOptions := options.Client().ApplyURI("mongodb://admin:123456@10.0.0.9:27018")
// Connect to MongoDB
mgoCli, err = mongo.Connect(context.TODO(), clientOptions)
if err != nil {
log.Fatal(err)
}
// Check the connection
err = mgoCli.Ping(context.TODO(), nil)
if err != nil {
log.Fatal(err)
}
mgoDb = mgoCli.Database("dreamfactory")
})
}

View File

@ -42,21 +42,7 @@ var (
// r := rsp.(*pb.HeroInfoResp)
// fmt.Printf("%v\n", r)
// },
next: func(robot *Robot, rsp proto.Message) {
tcs := []*TestCase{
{
desc: "觉醒",
mainType: string(comm.ModuleHero),
subType: hero.Awaken,
req: &pb.HeroAwakenReq{
HeroObjID: heroId,
},
rsp: &pb.HeroAwakenResp{},
//enabled: true,
},
}
robot.addBuilders(tcs)
},
}
tcs = append(tcs, tc)
}
@ -105,39 +91,36 @@ var (
},
},
rsp: &pb.HeroStrengthenUpStarResp{},
enabled: true,
// enabled: true,
}
tcs = append(tcs, tc)
}
robot.addBuilders(tcs)
}
},
}, {
desc: "英雄列表",
mainType: string(comm.ModuleHero),
subType: hero.HeroSubTypeList,
req: &pb.HeroListReq{},
rsp: &pb.HeroListResp{},
enabled: true,
next: func(robot *Robot, rsp proto.Message) {
if r, ok := rsp.(*pb.HeroListResp); ok {
tcs := []*TestCase{}
// selHero := r.List[0] //选中的英雄
for _, v := range r.List {
heroId := v.Id
tc := &TestCase{
tc2 := &TestCase{
desc: "英雄升级",
mainType: string(comm.ModuleHero),
subType: hero.StrengthenUplv,
req: &pb.HeroStrengthenUplvReq{
HeroObjID: heroId,
ExpCardID: "62d124700625e43054ba307d",
Amount: 1,
ExpCards: map[string]int32{
"62d124700625e43054ba307d": 1,
},
},
rsp: &pb.HeroStrengthenUplvResp{},
enabled: true,
}
tcs = append(tcs, tc)
tcs = append(tcs, tc2)
tc3 := &TestCase{
desc: "觉醒",
mainType: string(comm.ModuleHero),
subType: hero.Awaken,
req: &pb.HeroAwakenReq{
HeroObjID: heroId,
},
rsp: &pb.HeroAwakenResp{},
//enabled: true,
}
tcs = append(tcs, tc3)
}
robot.addBuilders(tcs)
}

View File

@ -1,6 +1,7 @@
package robot
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/modules/task"
"go_dreamfactory/pb"
@ -15,32 +16,39 @@ var (
mainType: string(comm.ModuleTask),
subType: task.TaskSubTypeList,
req: &pb.TaskListReq{
TaskTag: int32(comm.TASK_DAILY),
//设置任务类型
TaskTag: int32(comm.TASK_DAILY), //每天任务
// TaskTag: int32(comm.TASK_WEEKLY), //周任务
// TaskTag: int32(comm.TASK_ACHIEVE),
},
rsp: &pb.TaskListResp{},
// print: func(rsp proto.Message) {
// out := rsp.(*pb.TaskListResp)
// for _, v := range out.List {
// fmt.Printf("%v \n", v)
// }
// },
// enabled: true,
print: func(rsp proto.Message) {
out := rsp.(*pb.TaskListResp)
for _, v := range out.List {
fmt.Printf("%v \n", v)
}
},
enabled: true,
next: func(robot *Robot, rsp proto.Message) {
tcs := []*TestCase{}
if _, ok := rsp.(*pb.TaskListResp); ok {
}
robot.addBuilders(tcs)
},
}, {
if v, ok := rsp.(*pb.TaskListResp); ok {
for _, tt := range v.List {
tc := &TestCase{
desc: "领取任务奖励",
mainType: string(comm.ModuleTask),
subType: task.TaskSubTypeReceive,
req: &pb.TaskReceiveReq{
TaskTag: int32(comm.TASK_DAILY),
Id: "62c5681374c83911207fa265",
Id: tt.Id,
},
rsp: &pb.TaskReceiveResp{},
// enabled: true,
enabled: true,
}
tcs = append(tcs, tc)
}
robot.addBuilders(tcs)
}
},
}, {
desc: "活跃度",
mainType: string(comm.ModuleTask),
@ -55,7 +63,7 @@ var (
mainType: string(comm.ModuleTask),
subType: task.TaskSubTypeActiveReceive,
req: &pb.TaskActiveReceiveReq{
Id: "62c676d57deea8b9af8884fb",
Id: "62d4c90c3ccfe7787f317975",
TaskTag: int32(comm.TASK_DAILY),
},
rsp: &pb.TaskActiveReceiveResp{},

View File

@ -24,19 +24,31 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.TaskReceiveReq)
resp := &pb.TaskReceiveResp{}
defer func() {
err := session.SendMsg(string(this.moduleTask.GetType()), TaskSubTypeList, resp)
err := session.SendMsg(string(this.moduleTask.GetType()), TaskSubTypeReceive, resp)
if err != nil {
code = pb.ErrorCode_SystemError
}
utils.TraceFunc(session.GetUserId(), string(this.moduleTask.GetType()), TaskSubTypeList, req, resp)
utils.TraceFunc(session.GetUserId(), string(this.moduleTask.GetType()), TaskSubTypeReceive, req, resp)
}()
userTask := this.moduleTask.modelTask.getUserTask(session.GetUserId(), comm.TaskTag(req.TaskTag), req.Id)
if userTask != nil {
//判断是否完成
if userTask.Status == 0{
code = pb.ErrorCode_TaskHandle
return
}
//判断任务是否领取
if userTask.Received == 1 {
code = pb.ErrorCode_TaskReceived
return
}
conf, err := this.moduleTask.configure.getTaskById(userTask.TaskId)
if err != nil {
log.Errorf("get task config err:%v", err)
return
}
//奖励
if code = this.moduleTask.CheckConsumeRes(session.GetUserId(), conf.Reword, true); code != pb.ErrorCode_Success {
return

View File

@ -70,7 +70,10 @@ func (this *ModelTaskActive) getUserActive(uid, id string, taskTag comm.TaskTag)
return nil
}
func (this *ModelTaskActive) updateReceive(uid, id string, taskTag comm.TaskTag, data map[string]interface{}) error {
func (this *ModelTaskActive) updateReceive(uid, id string, taskTag comm.TaskTag, data map[string]interface{}) (err error) {
if len(data) == 0 {
return
}
return this.moduleTask.modelTaskActive.ChangeList(swapKey(uid, taskTag), id, data)
}

View File

@ -87,4 +87,5 @@ enum ErrorCode {
TaskActiveInit = 1606; //
TaskActiveNofound = 1604; //
TaskActiveNoenough = 1605; //
TaskNoFinished = 1606; //
}