63 lines
1.2 KiB
Go
63 lines
1.2 KiB
Go
package service
|
|
|
|
import (
|
|
"go_dreamfactory/cmd/v2/lib"
|
|
"go_dreamfactory/cmd/v2/lib/common"
|
|
"go_dreamfactory/comm"
|
|
"go_dreamfactory/pb"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/Pallinder/go-randomdata"
|
|
"google.golang.org/protobuf/proto"
|
|
)
|
|
|
|
func loginReq() ([]byte, error) {
|
|
head := &pb.UserMessage{MainType: "user", SubType: "login"}
|
|
sid := "dfz"
|
|
account := randomdata.SillyName()
|
|
head.Sec = common.BuildSecStr(sid, account)
|
|
if comm.ProtoMarshal(&pb.UserLoginReq{
|
|
Sid: sid,
|
|
Account: account,
|
|
}, head) {
|
|
data, err := proto.Marshal(head)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return data, nil
|
|
}
|
|
return nil, nil
|
|
}
|
|
|
|
func TestStart(t *testing.T) {
|
|
wsAddr := "ws://10.0.0.238:7891/gateway"
|
|
h, err := NewWsCli(wsAddr, 2*time.Second)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
b, err := loginReq()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
h.SetReq(b, false)
|
|
param := lib.ParamMgr{
|
|
Caller: h,
|
|
Timeout: 50 * time.Millisecond,
|
|
Lps: uint32(1),
|
|
Duration: 5 * time.Second,
|
|
ResultCh: make(chan *lib.CallResult, 50),
|
|
}
|
|
a, err := lib.NewAssistant(nil, param)
|
|
if err != nil {
|
|
t.Fatalf("AI助手初始化错误: %v", err)
|
|
t.FailNow()
|
|
}
|
|
|
|
a.Start()
|
|
|
|
a.ShowResult()
|
|
}
|