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: "455b495c5c", }, 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: "455b495c5c", }, 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: "455b495c5c", }, 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: "455b495c5c", }, 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成功", }, { 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成功", }, { name: "知识添加", args: args{ param: &knowledgeclient.AddRequest{ Question: "我", Answer: "答案", AppId: "10000", EntUserId: 4315, EntId: 14920, }, segment: "http://192.168.3.204:9070/api/segment", }, want: false, want1: "插入es成功", }, { name: "知识添加", args: args{ param: &knowledgeclient.AddRequest{ Question: "任姣姣测试的测添加问题", Answer: "答案", AppId: "10000", EntId: 14929, }, segment: "http://192.168.3.204:9070/api/segment", }, want: true, want1: "插入es成功", }, { name: "知识添加", args: args{ param: &knowledgeclient.AddRequest{ Question: "拓普公司发展二十年,步入全新的发展阶段,随着数字化的发展,客户对于数字化转型的认知也不断提升,甲方对乙方的要求也发生了变化,只有真正解决问题的信息化,只有真正实现降本、提质、增效,才能真正实现数字化转型带来的治理能力的提升。拓普就是真正解决问题的公司!我们坚持“实体创新,数字倍增”的产品战略,提供走进用户、研究业务、解决问题、达成目标的数字化转型方案和产品,这种新型现代智能服务业态,才是符合当今时代要求的。新时代是新的机遇,也带来新的挑战。公司在二十多年的发展的同时,也积累了许多问题,我们要敢于直面问题并解决问题,这样才能抓住机遇、重装上阵、御风而行、高速发展。过去两年的公司改革并没有触及问题的核心,所以并没解决实质的问题。2022年公司开始痛定思痛直面问题,刀刃向内深度改革,解决影响公司发展的基层因素。2022年的拓普,就是中国发展历史的1992年,要拿出92年中国改革的决心和勇气,我们才有可能赢!这个过程中有质疑、不解和各种评判是正常的,只要我们把公司和集体利益放在第一位,把个人利益同步到公司利益上,做公司和集体利益的维护者,我们就能同心同德共赴拓普美好未来。", 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 := k.KnowledgeAdd(tt.args.param, tt.args.segment) 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, }, }, { name: "删除知识", args: args{ answerId: 0, }, wantOk: false, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { k := &KnowledgeService{} gotOk := k.KnowledgeDel(tt.args.answerId) if gotOk != tt.wantOk { t.Errorf("KnowledgeDel() gotOk = %v, want %v", gotOk, tt.wantOk) } }) } } 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: 30210, KnowledgeId: 30005, EntId: 14929, EntUserId: 4315, AppId: "10000", }, segment: "http://192.168.3.204:9070/api/segment", }, }, { name: "知识编辑", args: args{ param: &knowledgeclient.KnowledgeEditReq{ Question: "", Answer: "答案", AnswerId: 30211, KnowledgeId: 30005, EntId: 14929, EntUserId: 4315, AppId: "10000", }, segment: "http://192.168.3.204:9070/api/segment", }, }, { name: "知识编辑", args: args{ param: &knowledgeclient.KnowledgeEditReq{ Question: "任姣姣的编辑知识问题", Answer: "答案", AnswerId: 123, KnowledgeId: 30005, EntId: 14929, EntUserId: 4315, AppId: "10000", }, segment: "http://192.168.3.204:9070/api/segment", }, }, { name: "知识编辑", args: args{ param: &knowledgeclient.KnowledgeEditReq{ Question: "任姣姣的编辑知识问题", Answer: "答案", AnswerId: 30210, KnowledgeId: 30005, EntId: 14929, AppId: "10000", }, segment: "http://192.168.3.204:9070/api/segment", }, }, { name: "知识编辑", args: args{ param: &knowledgeclient.KnowledgeEditReq{ Question: "拓普公司发展二十年,步入全新的发展阶段,随着数字化的发展,客户对于数字化转型的认知也不断提升,甲方对乙方的要求也发生了变化,只有真正解决问题的信息化,只有真正实现降本、提质、增效,才能真正实现数字化转型带来的治理能力的提升。拓普就是真正解决问题的公司!我们坚持“实体创新,数字倍增”的产品战略,提供走进用户、研究业务、解决问题、达成目标的数字化转型方案和产品,这种新型现代智能服务业态,才是符合当今时代要求的。新时代是新的机遇,也带来新的挑战。公司在二十多年的发展的同时,也积累了许多问题,我们要敢于直面问题并解决问题,这样才能抓住机遇、重装上阵、御风而行、高速发展。过去两年的公司改革并没有触及问题的核心,所以并没解决实质的问题。2022年公司开始痛定思痛直面问题,刀刃向内深度改革,解决影响公司发展的基层因素。2022年的拓普,就是中国发展历史的1992年,要拿出92年中国改革的决心和勇气,我们才有可能赢!这个过程中有质疑、不解和各种评判是正常的,只要我们把公司和集体利益放在第一位,把个人利益同步到公司利益上,做公司和集体利益的维护者,我们就能同心同德共赴拓普美好未来。", Answer: "答案", AnswerId: 30210, KnowledgeId: 30005, 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 := k.KnowledgeEdit(tt.args.param, tt.args.segment) if gotOk != tt.wantOk { t.Errorf("KnowledgeEdit() gotOk = %v, want %v", gotOk, tt.wantOk) } }) } } 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, }, { name: "知识详情", args: args{ answerId: 1, }, 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: "455b495c5c", }, segment: "http://192.168.3.204:9070/api/segment", }, }, { name: "根据问题查询答案", args: args{ param: &knowledgeclient.FindAnswerReq{ Type: 1, Question: "我的", RobotEntId: "455b495c5c", }, segment: "http://192.168.3.204:9070/api/segment", }, }, { name: "根据问题查询答案", args: args{ param: &knowledgeclient.FindAnswerReq{ Type: 1, Question: "大会员怎么收费", RobotEntId: "455b495c5c", }, 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) } }) } }