diff --git a/TestCase/inbox/test_07_ticketDetail.py b/TestCase/inbox/test_07_ticketDetail.py new file mode 100644 index 0000000000000000000000000000000000000000..f38f36e314cbd990bb1dd59c047122112812dae5 --- /dev/null +++ b/TestCase/inbox/test_07_ticketDetail.py @@ -0,0 +1,13 @@ +import pytest +from Utils import yaml_handler +from Utils import req_handler +from TestData.inbox.ticketDetail_test_data import ticketDetailData + +class TestTiocketDetail: + + yaml_path = r'inbox\ticketDetail.yaml' + yaml_data = yaml_handler.yaml_handler.get_case(yaml_path) + @pytest.mark.parametrize('case',yaml_data) + def test_ticketDetail(self,case): + print(case) + req_handler.ReqHandler.send_requests(case=case,var_class=ticketDetailData) diff --git a/TestData/inbox/ticketDetail_test_data.py b/TestData/inbox/ticketDetail_test_data.py new file mode 100644 index 0000000000000000000000000000000000000000..3ed2f8200c8b238d99074b3e3a87d92875438049 --- /dev/null +++ b/TestData/inbox/ticketDetail_test_data.py @@ -0,0 +1,4 @@ +from Utils.global_variate import Global + +class ticketDetailData(Global): + pass \ No newline at end of file diff --git a/TestFile/inbox/ticketDetail_select.py b/TestFile/inbox/ticketDetail_select.py new file mode 100644 index 0000000000000000000000000000000000000000..9d444b9196099684f405b3e3bdc12ab64d432ed6 --- /dev/null +++ b/TestFile/inbox/ticketDetail_select.py @@ -0,0 +1,27 @@ +from Utils.sql_handler import test_env_conn +from TestData.inbox.ticketDetail_test_data import ticketDetailData + + +ticket_select_sql = f'select * from `im_room` where `cate_id` = {ticketDetailData.brandId} and `status` = 1 and `is_ignore` = 0' +ticket_select_result = test_env_conn.select_one_value(sql=ticket_select_sql) +ticket_room_id = ticket_select_result['room_id'] +ticket_id = ticket_select_result['id'] +customer_id = ticket_select_result['first_send_uid'] +setattr(ticketDetailData, 'ticket_room_id', ticket_room_id) +setattr(ticketDetailData, 'ticket_id', ticket_id) +setattr(ticketDetailData, 'customer_id', customer_id) + +customer_select_sql = f'select * from `customer` where id = {customer_id}' +customer_select_result = test_env_conn.select_one_value(sql=customer_select_sql) +customer_time_zone = customer_select_result['time_zone'] +customer_location = customer_select_result['location'] +customer_email = customer_select_result['email'] +customer_phone = customer_select_result['phone'] +customer_is_visitor = customer_select_result['is_visitor'] +customer_last_msg_time = ticket_select_result['last_msg_time'] +setattr(ticketDetailData, 'customer_time_zone', customer_time_zone) +setattr(ticketDetailData, 'customer_location', customer_location) +setattr(ticketDetailData, 'customer_email', customer_email) +setattr(ticketDetailData, 'customer_phone', customer_phone) +setattr(ticketDetailData, 'customer_is_visitor', customer_is_visitor) +setattr(ticketDetailData, 'customer_last_msg_time', customer_last_msg_time) diff --git a/Utils/req_handler.py b/Utils/req_handler.py index e7bd326d8c32606d6cef51051b1339b6dac49849..70763603a18822d305d26e823f1aec8ebea76043 100644 --- a/Utils/req_handler.py +++ b/Utils/req_handler.py @@ -43,6 +43,7 @@ class ReqHandler: def send_requests(self,case,var_class): try: if isinstance(case,dict): + title = case['title'] if case.get('before_sql'): sql = case['before_sql'] while sql[0] == '\\' or sql[0] == '/': @@ -51,7 +52,6 @@ class ReqHandler: content = f.read() exec(content) case = self.params_handler(self,case=case,var_class=var_class) - title = case['title'] if case.get('ws'): #识别到ws字段后,直接走ws_request函数,不继续往下面走 self.ws_requests(self,case) diff --git a/YamlCase/inbox/ticketDetail.yaml b/YamlCase/inbox/ticketDetail.yaml new file mode 100644 index 0000000000000000000000000000000000000000..06b0bbd051c87a996e2a31242204fb1c4dba14c6 --- /dev/null +++ b/YamlCase/inbox/ticketDetail.yaml @@ -0,0 +1,15 @@ +api1: + title: 检查会话详情 + url: /api/v1/chatRoom/roomDetail + method: post + before_sql: inbox/ticketDetail_select.py + data: {"roomId":"${ticket_room_id}","v":"${v}"} + expected: + - eq: {"code" : 0} + - eq: {"$.data.timeZone" : "${customer_time_zone}"} + - eq: {"$.data.location" : "${customer_location}"} + - eq: {"$.data.email" : "${customer_email}"} + - eq: {"$.data.phone" : "${customer_phone}"} + - eq: {"$.data.isVisitor" : "${customer_is_visitor}"} + - eq: {"$.data.customerId" : "${customer_id}"} + - eq: {"$.data.lastSeenTime" : "${customer_last_msg_time}"}