From 2d26174d2c2a21bdc4fa33b9c4eb611405c15303 Mon Sep 17 00:00:00 2001 From: zhanhuasheng Date: Fri, 24 May 2024 18:28:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=94=A8=E4=BE=8B=20-=20?= =?UTF-8?q?=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TestCase/inbox/test_08_search.py | 13 +++ TestData/inbox/search_test_data.py | 6 + TestFile/inbox/search_select.py | 28 +++++ TestFile/setting/tag/tag_select.py | 1 - TestFile/setting/tag/tag_select2.py | 2 +- YamlCase/inbox/search.yaml | 163 ++++++++++++++++++++++++++++ YamlCase/setting/tag.yaml | 32 +++++- 7 files changed, 242 insertions(+), 3 deletions(-) create mode 100644 TestCase/inbox/test_08_search.py create mode 100644 TestData/inbox/search_test_data.py create mode 100644 TestFile/inbox/search_select.py create mode 100644 YamlCase/inbox/search.yaml diff --git a/TestCase/inbox/test_08_search.py b/TestCase/inbox/test_08_search.py new file mode 100644 index 0000000..0d7b6c8 --- /dev/null +++ b/TestCase/inbox/test_08_search.py @@ -0,0 +1,13 @@ +import pytest +from Utils import yaml_handler +from Utils import req_handler +from TestData.inbox.search_test_data import searchtData + +class TestSearch: + + yaml_path = r'inbox/search.yaml' + yaml_data = yaml_handler.yaml_handler.get_case(yaml_path) + @pytest.mark.flaky(reruns=searchtData.rerun, reruns_delay=searchtData.rerun_delay) + @pytest.mark.parametrize('case',yaml_data) + def test_search(self,case): + req_handler.ReqHandler.send_requests(case=case,var_class=searchtData) diff --git a/TestData/inbox/search_test_data.py b/TestData/inbox/search_test_data.py new file mode 100644 index 0000000..7c74db9 --- /dev/null +++ b/TestData/inbox/search_test_data.py @@ -0,0 +1,6 @@ +from Utils.global_variate import Global + +class searchtData(Global): + insert_room_chat_record = 'autotestRoomChatRecord' + insert_room_title = 'autotestRoomTitle' + insert_record_json = {"contentList":"%s"%insert_room_chat_record,"attachmentList":[]} diff --git a/TestFile/inbox/search_select.py b/TestFile/inbox/search_select.py new file mode 100644 index 0000000..08093d5 --- /dev/null +++ b/TestFile/inbox/search_select.py @@ -0,0 +1,28 @@ +import requests +from Utils import global_variate +from Utils.sql_handler import test_env_conn +from TestData.inbox.search_test_data import searchtData + +room_detail_select_sql = f'select * from `im_room` where room_id = {searchtData.roomId}' +room_detail_select_result = test_env_conn.select_one_value(sql=room_detail_select_sql) + +conversation_id = room_detail_select_result['id'] +conversation_title = room_detail_select_result['title'] +if not conversation_title: + data = {"uid": searchtData.userId,"uType":2,"platform":1,"roomId":f"{searchtData.roomId}","clientId":f"{searchtData.willdesk_clientId}","event":"title","isMark":True,"title":f"{searchtData.insert_room_title}","allocationUid":searchtData.userId,"allocationName":f"{searchtData.name}","username":f"{searchtData.name}","v":f"{searchtData.v}"} + res = requests.post(url='https://allplatformtest.sealapps.com/api/v1/chatRoom/operate',data=data,headers={'Authorization' : getattr(global_variate.Global,'access_token'),'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36'}) + conversation_title = searchtData.insert_room_title +room_record_select_sql = f'select * from `im_record` where room_id = {searchtData.roomId}' +room_record_select_result = test_env_conn.select_one_value(sql=room_record_select_sql) +if not room_record_select_result: + room_record_insert_sql = f'''INSERT INTO willdesk.im_record (room_id,msg_id,sender_uid,sender_uid_type,send_time,`type`,is_note,content,destruct_content,create_at,update_at,seq,msg_platform,msg_channel_type,from_id,channel_id,recipient_id,is_likes,offline_push,third_msg_id,reply_to_mid,reply_to_url,is_deleted,status,fail_reason) VALUES + ({searchtData.roomId},5137338847398545645,{searchtData.customerId},1,1715738857039,11,0,"{searchtData.insert_record_json}","{searchtData.insert_room_chat_record}",1715738857,1715738857,'963422765235051','willdesk','wk','','','',0,0,NULL,NULL,NULL,0,1,NULL); +''' + test_env_conn.execute_sql(sql=room_record_insert_sql) + conversation_chat_record = searchtData.insert_room_chat_record +else: + conversation_chat_record = room_record_select_result['destruct_content'] +setattr(searchtData, 'conversation_title', conversation_title) +setattr(searchtData, 'conversation_chat_record', conversation_chat_record) +setattr(searchtData, 'conversation_id', str(conversation_id)) +setattr(searchtData, 'search_user_id', str(searchtData.search_user_id)) diff --git a/TestFile/setting/tag/tag_select.py b/TestFile/setting/tag/tag_select.py index eb43f70..cd7b470 100644 --- a/TestFile/setting/tag/tag_select.py +++ b/TestFile/setting/tag/tag_select.py @@ -28,6 +28,5 @@ elif tag_location % 10 == 0: page_num = tag_location / 10 else: page_num = int(tag_location / 10) + 1 -print(tag_location) setattr(tagData, 'page_num', int(page_num)) diff --git a/TestFile/setting/tag/tag_select2.py b/TestFile/setting/tag/tag_select2.py index 5018d96..e6f8271 100644 --- a/TestFile/setting/tag/tag_select2.py +++ b/TestFile/setting/tag/tag_select2.py @@ -17,7 +17,7 @@ else: page_num = int(tag_location / 10) + 1 setattr(tagData, 'page_num', int(page_num)) -tag_room_select_sql = f'select * from `im_room` where `cate_id` = {tagData.brandId} and `status` = 1 and `is_ignore` = 0 and room_type != 2 and last_msg_uid != {tagData.userId}' +tag_room_select_sql = f'select * from `im_room` where `cate_id` = {tagData.brandId} and `status` = 1 and `site_id` = {tagData.shopId} and `is_ignore` = 0 and room_type != 2 and last_msg_uid != {tagData.userId}' tag_room_select_result = tagData.new_db_coon.select_one_value(sql=tag_room_select_sql) room_id = tag_room_select_result['room_id'] user_id = tag_room_select_result['last_msg_uid'] diff --git a/YamlCase/inbox/search.yaml b/YamlCase/inbox/search.yaml new file mode 100644 index 0000000..71481cd --- /dev/null +++ b/YamlCase/inbox/search.yaml @@ -0,0 +1,163 @@ +api1: + title: b端获取房间号 + url: /api/v1/chat/local/roomList + method: post + data: {"uid": "${userId}","uType": 2,"platform": 1,"siteIds": [ "${shopId}" ],"status": 1,"page": 1,"pageSize": 20,"sortName": "all","keyword": "","v": "${v}"} + set_value: {"roomId": "$.data.list[?(@.fromID == '${customerId}')].roomId" } + expected: + - eq: { "$.code": 0 } + - like: { "$.data.list[?(@.fromID == '${customerId}')].firstSendUid": "${customerId}" } + +api2: + title: 获取房间相关信息 + url: /api/v1/chatRoom/roomDetail + method: post + data: {"roomId": "${roomId}","v": "${v}"} + set_value: {"search_user_id": "$.data.customerId","search_user_phone": "$.data.phone","search_user_email": "$.data.email","search_user_name": "$.data.customerName"} + expected: + - eq: { "$.code": 0 } + +api3: + title: 搜索用户id - customer维度 + url: /api/v1/chat/local/roomList + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":1,"page":1,"pageSize":20,"sortName":"all","keyword":"${search_user_id}","roomSearchExpArgs":{"searchDime":2,"searchId":""},"v":"${v}"} + before_sql: inbox/search_select.py + expected: + - eq: {"$.code": 0} + - in_list: {"$.data.list[*].roomId": "${roomId}"} + - a_in_list: {"$.data.list[?(@.roomId == '${roomId}')].searchMatchDimeType": [6,8]} #6代表聊天记录,8代表用户id + + +api4: + title: 搜索用户id - all维度 + url: /api/v1/chat/local/roomList + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":1,"page":1,"pageSize":20,"sortName":"all","keyword":"${search_user_id}","roomSearchExpArgs":{"searchDime":0,"searchId":""},"v":"${v}"} + expected: + - eq: {"$.code": 0} + - in_list: {"$.data.list[*].roomId": "${roomId}"} + - a_in_list: {"$.data.list[?(@.roomId == '${roomId}')].searchMatchDimeType": [6,8]} #6代表聊天记录,8代表用户id + + +api5: + title: 搜索用户手机号 - customer维度 + url: /api/v1/chat/local/roomList + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":1,"page":1,"pageSize":20,"sortName":"all","keyword":"${search_user_phone}","roomSearchExpArgs":{"searchDime":2,"searchId":""},"v":"${v}"} + expected: + - eq: {"$.code": 0} + - in_list: {"$.data.list[*].roomId": "${roomId}"} + - eq: {"$.data.list[?(@.roomId == '${roomId}')].searchMatchDimeType": 3} + +api6: + title: 搜索用户手机号 - all维度 + url: /api/v1/chat/local/roomList + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":1,"page":1,"pageSize":20,"sortName":"all","keyword":"${search_user_phone}","roomSearchExpArgs":{"searchDime":0,"searchId":""},"v":"${v}"} + expected: + - eq: {"$.code": 0} + - in_list: {"$.data.list[*].roomId": "${roomId}"} + - eq: {"$.data.list[?(@.roomId == '${roomId}')].searchMatchDimeType": 3} + +api7: + title: 搜索用户email - customer维度 + url: /api/v1/chat/local/roomList + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":1,"page":1,"pageSize":20,"sortName":"all","keyword":"${search_user_email}","roomSearchExpArgs":{"searchDime":2,"searchId":""},"v":"${v}"} + expected: + - eq: {"$.code": 0} + - in_list: {"$.data.list[*].roomId": "${roomId}"} + - eq: {"$.data.list[?(@.roomId == '${roomId}')].searchMatchDimeType": 4} + +api8: + title: 搜索用户email - all维度 + url: /api/v1/chat/local/roomList + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":1,"page":1,"pageSize":20,"sortName":"all","keyword":"${search_user_email}","roomSearchExpArgs":{"searchDime":0,"searchId":""},"v":"${v}"} + expected: + - eq: {"$.code": 0} + - in_list: {"$.data.list[*].roomId": "${roomId}"} + - eq: {"$.data.list[?(@.roomId == '${roomId}')].searchMatchDimeType": 4} + +api9: + title: 搜索用户名 - customer维度 + url: /api/v1/chat/local/roomList + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":1,"page":1,"pageSize":20,"sortName":"all","keyword":"${search_user_name}","roomSearchExpArgs":{"searchDime":2,"searchId":""},"v":"${v}"} + expected: + - eq: {"$.code": 0} + - in_list: {"$.data.list[*].roomId": "${roomId}"} + - eq: {"$.data.list[?(@.roomId == '${roomId}')].searchMatchDimeType": 5} + +api10: + title: 搜索用户名 - all维度 + url: /api/v1/chat/local/roomList + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":1,"page":1,"pageSize":20,"sortName":"all","keyword":"${search_user_name}","roomSearchExpArgs":{"searchDime":0,"searchId":""},"v":"${v}"} + expected: + - eq: {"$.code": 0} + - in_list: {"$.data.list[*].roomId": "${roomId}"} + - eq: {"$.data.list[?(@.roomId == '${roomId}')].searchMatchDimeType": 5} + +api11: + title: 搜索会话id - conversation维度 + url: /api/v1/chat/local/roomList + method: post + data: {"uid": "${userId}","uType": 2,"platform": 1,"siteIds": ["${shopId}"],"status": 1,"page": 1,"pageSize": 20,"sortName": "all","keyword": "${conversation_id}","roomSearchExpArgs": {"searchDime": 1,"searchId": ""},"v": "${v}"} + expected: + - eq: { "$.code": 0 } + - in_list: {"$.data.list[*].roomId": "${roomId}"} + - eq: {"$.data.list[?(@.roomId == '${roomId}')].searchMatchDimeType": 1} + +api12: + title: 搜索会话id - all维度 + url: /api/v1/chat/local/roomList + method: post + data: {"uid": "${userId}","uType": 2,"platform": 1,"siteIds": ["${shopId}"],"status": 1,"page": 1,"pageSize": 20,"sortName": "all","keyword": "${conversation_id}","roomSearchExpArgs": {"searchDime": 0,"searchId": ""},"v": "${v}"} + expected: + - eq: {"$.code": 0 } + - in_list: {"$.data.list[*].roomId": "${roomId}"} + - eq: {"$.data.list[?(@.roomId == '${roomId}')].searchMatchDimeType": 1} + +api13: + title: 搜索会话标题 - conversation维度 + url: /api/v1/chat/local/roomList + method: post + data: {"uid": "${userId}","uType": 2,"platform": 1,"siteIds": ["${shopId}"],"status": 1,"page": 1,"pageSize": 20,"sortName": "all","keyword": "${conversation_title}","roomSearchExpArgs": {"searchDime": 1,"searchId": ""},"v": "${v}"} + before_sql: inbox/search_select.py + expected: + - eq: { "$.code": 0 } + - in_list: {"$.data.list[*].roomId": "${roomId}"} + - eq: {"$.data.list[?(@.roomId == '${roomId}')].searchMatchDimeType": 2} + +api14: + title: 搜索会话标题 - all维度 + url: /api/v1/chat/local/roomList + method: post + data: {"uid": "${userId}","uType": 2,"platform": 1,"siteIds": ["${shopId}"],"status": 1,"page": 1,"pageSize": 20,"sortName": "all","keyword": "${conversation_title}","roomSearchExpArgs": {"searchDime": 0,"searchId": ""},"v": "${v}"} + expected: + - eq: { "$.code": 0 } + - in_list: {"$.data.list[*].roomId": "${roomId}"} + - eq: {"$.data.list[?(@.roomId == '${roomId}')].searchMatchDimeType": 2} + +api15: + title: 搜索会话聊天记录 - conversation维度 + url: /api/v1/chat/local/roomList + method: post + data: {"uid": "${userId}","uType": 2,"platform": 1,"siteIds": ["${shopId}"],"status": 1,"page": 1,"pageSize": 20,"sortName": "all","keyword": "${conversation_chat_record}","roomSearchExpArgs": {"searchDime": 1,"searchId": ""},"v": "${v}"} + before_sql: inbox/search_select.py + expected: + - eq: {"$.code": 0} + - in_list: {"$.data.list[*].roomId": "${roomId}"} + - eq: {"$.data.list[?(@.roomId == '${roomId}')].searchMatchDimeType": 6} + +api16: + title: 搜索会话聊天记录 - all维度 + url: /api/v1/chat/local/roomList + method: post + data: {"uid": "${userId}","uType": 2,"platform": 1,"siteIds": ["${shopId}"],"status": 1,"page": 1,"pageSize": 20,"sortName": "all","keyword": "${conversation_chat_record}","roomSearchExpArgs": {"searchDime": 0,"searchId": ""},"v": "${v}"} + expected: + - eq: {"$.code": 0} + - in_list: {"$.data.list[*].roomId": "${roomId}"} + - eq: {"$.data.list[?(@.roomId == '${roomId}')].searchMatchDimeType": 6} \ No newline at end of file diff --git a/YamlCase/setting/tag.yaml b/YamlCase/setting/tag.yaml index c37e9a3..1b47c41 100644 --- a/YamlCase/setting/tag.yaml +++ b/YamlCase/setting/tag.yaml @@ -86,6 +86,36 @@ api9: - eq: {"$.data.list[?(@.id == '${tag_id}')].roomCount": 1} api10: + title: 搜索会话标签 + url: /api/v1/chat/local/roomList + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":1,"page":1,"pageSize":20,"sortName":"all","keyword":"${new_tag_name}","roomSearchExpArgs":{"searchDime":1,"searchId":""},"v":"${v}"} + expected: + - eq: {"$.code": 0} + - eq: {"$.data.list[0].roomId": "${room_id}"} + - eq: {"$.data.list[0].searchMatchDimeType": 7} + +#api11: +# title: 搜索用户标签 +# url: /api/v1/chat/local/roomList +# method: post +# data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":1,"page":1,"pageSize":20,"sortName":"all","keyword":"${new_tag_name}","roomSearchExpArgs":{"searchDime":2,"searchId":""},"v":"${v}"} +# expected: +# - eq: {"$.code": 0} +# - eq: {"$.data.list[0].roomId": "${room_id}"} +# - eq: {"$.data.list[0].searchMatchDimeType": 12} + +api12: + title: 搜索标签 - all + url: /api/v1/chat/local/roomList + method: post + data: {"uid":"${userId}","uType":2,"platform":1,"siteIds":["${shopId}"],"status":1,"page":1,"pageSize":20,"sortName":"all","keyword":"${new_tag_name}","roomSearchExpArgs":{"searchDime":0,"searchId":""},"v":"${v}"} + expected: + - eq: {"$.code": 0} + - eq: {"$.data.list[0].roomId": "${room_id}"} + - eq: {"$.data.list[0].searchMatchDimeType": 7} + +api13: title: 删除标签 url: /api/v1/resource/tag/deleteTag method: post @@ -94,7 +124,7 @@ api10: expected: - eq: {"$.code" : 0} -api11: +api14: title: 检查标签是否删除成功 url: /api/v1/resource/tag/getTags method: post -- GitLab