diff --git a/TestCase/inbox/test_08_search.py b/TestCase/inbox/test_08_search.py new file mode 100644 index 0000000000000000000000000000000000000000..0d7b6c83d1534a4f8e29880da8d7b3c2cadb9ef4 --- /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 0000000000000000000000000000000000000000..7c74db9238fc2b839005195d9c54441badeee967 --- /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 0000000000000000000000000000000000000000..08093d5bcda5d7e44b7970fcd631e51aa2ffe558 --- /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 eb43f704bc652a49aa264f3e290f6d178c91f3a5..cd7b47061be7b908513323485b018f5ed208ef92 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 5018d962f28f90cea572dd1b2ba07d32b4174dff..e6f8271e61e2e7c6664dc6e4bb2791a2cbf1c27e 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 0000000000000000000000000000000000000000..71481cd63e910f07a460b8ce3255a95896ed0c2b --- /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 c37e9a3d95ced3a018e03495cc26f31cc1b2c70b..1b47c41b1be9ad8786621c361ea6a68d694e640b 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