package service import ( elastic "app.yhyue.com/moapp/jybase/esv1" "app.yhyue.com/moapp/jybase/mysql" "bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/usercenter" "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/entity" "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledgeclient" "github.com/zeromicro/go-zero/core/discov" "github.com/zeromicro/go-zero/zrpc" "reflect" "testing" ) func initMysql() { entity.Mysql = &mysql.Mysql{ Address: "192.168.3.217:4000", UserName: "root", PassWord: "=PDT49#80Z!RVv52_z", DBName: "base_service", MaxOpenConns: 5, MaxIdleConns: 5, } entity.Mysql.Init() elastic.InitElasticSize("http://192.168.3.204:1500", 10) //初始化资源中台相关 userCenterClient := zrpc.MustNewClient(zrpc.RpcClientConf{ Etcd: discov.EtcdConf{ Hosts: []string{"192.168.3.240:2379"}, Key: "usercenter.rpc", }, }) entity.UserCenterLib = usercenter.NewUserCenter(userCenterClient) } func init() { initMysql() } func TestKnowledgeService_FindAnswer(t *testing.T) { type args struct { param *knowledgeclient.FindAnswerReq addr string index string segment string } tests := []struct { name string args args want *knowledgeclient.Question }{ { name: "根据问题查询答案", args: args{ param: &knowledgeclient.FindAnswerReq{ Type: 1, Question: "超级订阅为什么购买不了", RobotEntId: "14929", }, addr: "http://192.168.3.204:1500", index: "smart_new", segment: "http://192.168.3.204:9070/api/segment", }, }, { name: "根据问题查询答案", args: args{ param: &knowledgeclient.FindAnswerReq{ Type: 2, Question: "超级订阅为什么购买不了", RobotEntId: "14929", }, addr: "http://192.168.3.204:1500", index: "smart_new", segment: "http://192.168.3.204:9070/api/segment", }, }, { name: "根据问题查询答案", args: args{ param: &knowledgeclient.FindAnswerReq{ Type: 1, Question: "我", RobotEntId: "14929", }, addr: "http://192.168.3.204:1500", index: "smart_new", segment: "http://192.168.3.204:9070/api/segment", }, }, { name: "根据问题查询答案", args: args{ param: &knowledgeclient.FindAnswerReq{ Type: 1, Question: "我得问题", RobotEntId: "123", }, addr: "http://192.168.3.204:1500", index: "smart_new", segment: "http://192.168.3.204:9070/api/segment", }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { k := &KnowledgeService{} if got := k.FindAnswer(tt.args.param, tt.args.addr, tt.args.index, tt.args.segment); !reflect.DeepEqual(got, tt.want) { t.Errorf("FindAnswer() = %v, want %v", got, tt.want) } }) } } func TestKnowledgeService_KnowledgeAdd(t *testing.T) { type args struct { param *knowledgeclient.AddRequest segment string } tests := []struct { name string args args want bool want1 string wantErr bool }{ { name: "知识添加", args: args{ param: &knowledgeclient.AddRequest{ Question: "任姣姣测试的测添加问题", Answer: "答案", AppId: "10000", EntUserId: 4315, EntId: 14929, }, segment: "http://192.168.3.204:9070/api/segment", }, want: true, want1: "插入es成功", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { k := &KnowledgeService{} got, got1, err := k.KnowledgeAdd(tt.args.param, tt.args.segment) if (err != nil) != tt.wantErr { t.Errorf("KnowledgeAdd() error = %v, wantErr %v", err, tt.wantErr) return } if got != tt.want { t.Errorf("KnowledgeAdd() got = %v, want %v", got, tt.want) } if got1 != tt.want1 { t.Errorf("KnowledgeAdd() got1 = %v, want %v", got1, tt.want1) } }) } } func TestKnowledgeService_KnowledgeDel(t *testing.T) { type args struct { answerId int64 } tests := []struct { name string args args wantOk bool wantMsg string }{ { name: "删除知识", args: args{ answerId: 30192, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { k := &KnowledgeService{} gotOk, gotMsg := k.KnowledgeDel(tt.args.answerId) if gotOk != tt.wantOk { t.Errorf("KnowledgeDel() gotOk = %v, want %v", gotOk, tt.wantOk) } if gotMsg != tt.wantMsg { t.Errorf("KnowledgeDel() gotMsg = %v, want %v", gotMsg, tt.wantMsg) } }) } } func TestKnowledgeService_KnowledgeEdit(t *testing.T) { type args struct { param *knowledgeclient.KnowledgeEditReq segment string } tests := []struct { name string args args wantOk bool wantMsg string wantErr bool }{ { name: "知识编辑", args: args{ param: &knowledgeclient.KnowledgeEditReq{ Question: "", Answer: "", AnswerId: 0, KnowledgeId: 0, EntId: 14929, EntUserId: 4315, AppId: "10000", }, segment: "http://192.168.3.204:9070/api/segment", }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { k := &KnowledgeService{} gotOk, gotMsg, err := k.KnowledgeEdit(tt.args.param, tt.args.segment) if (err != nil) != tt.wantErr { t.Errorf("KnowledgeEdit() error = %v, wantErr %v", err, tt.wantErr) return } if gotOk != tt.wantOk { t.Errorf("KnowledgeEdit() gotOk = %v, want %v", gotOk, tt.wantOk) } if gotMsg != tt.wantMsg { t.Errorf("KnowledgeEdit() gotMsg = %v, want %v", gotMsg, tt.wantMsg) } }) } } func TestKnowledgeService_KnowledgeInfo(t *testing.T) { type args struct { answerId int64 } tests := []struct { name string args args wantData *knowledgeclient.KnowledgeEntity wantOk bool }{ { name: "知识详情", args: args{ answerId: 30191, }, wantOk: true, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { k := &KnowledgeService{} gotData, gotOk := k.KnowledgeInfo(tt.args.answerId) if !reflect.DeepEqual(gotData, tt.wantData) { t.Errorf("KnowledgeInfo() gotData = %v, want %v", gotData, tt.wantData) } if gotOk != tt.wantOk { t.Errorf("KnowledgeInfo() gotOk = %v, want %v", gotOk, tt.wantOk) } }) } } func TestKnowledgeService_KnowledgeList(t *testing.T) { type args struct { param *knowledgeclient.ListRequest } tests := []struct { name string args args want *knowledgeclient.ListData }{ { name: "知识列表", args: args{ param: &knowledgeclient.ListRequest{ PageSize: 20, PageIndex: 1, EntId: 14929, }, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { k := &KnowledgeService{} if got := k.KnowledgeList(tt.args.param); !reflect.DeepEqual(got, tt.want) { t.Errorf("KnowledgeList() = %v, want %v", got, tt.want) } }) } } func TestKnowledgeService_RecommendAnswer(t *testing.T) { type args struct { param *knowledgeclient.FindAnswerReq segment string } tests := []struct { name string args args want []*knowledgeclient.Question }{ { name: "根据问题查询答案", args: args{ param: &knowledgeclient.FindAnswerReq{ Type: 1, Question: "任姣姣测试添加问题", RobotEntId: "14929", }, segment: "http://192.168.3.204:9070/api/segment", }, }, { name: "根据问题查询答案", args: args{ param: &knowledgeclient.FindAnswerReq{ Type: 1, Question: "我的", RobotEntId: "14929", }, segment: "http://192.168.3.204:9070/api/segment", }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { k := &KnowledgeService{} if got := k.RecommendAnswer(tt.args.param, tt.args.segment); !reflect.DeepEqual(got, tt.want) { t.Errorf("RecommendAnswer() = %v, want %v", got, tt.want) } }) } }