From 655ce221ddc3f3194d38f7e18e194d832b67d47b Mon Sep 17 00:00:00 2001 From: zhanhuasheng Date: Thu, 28 Mar 2024 18:26:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TestCase/inbox/test_07_ticketDetail.py | 13 ++++++++++++ TestData/inbox/ticketDetail_test_data.py | 4 ++++ TestFile/inbox/ticketDetail_select.py | 27 ++++++++++++++++++++++++ Utils/req_handler.py | 2 +- YamlCase/inbox/ticketDetail.yaml | 15 +++++++++++++ 5 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 TestCase/inbox/test_07_ticketDetail.py create mode 100644 TestData/inbox/ticketDetail_test_data.py create mode 100644 TestFile/inbox/ticketDetail_select.py create mode 100644 YamlCase/inbox/ticketDetail.yaml diff --git a/TestCase/inbox/test_07_ticketDetail.py b/TestCase/inbox/test_07_ticketDetail.py new file mode 100644 index 0000000..f38f36e --- /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 0000000..3ed2f82 --- /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 0000000..9d444b9 --- /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 e7bd326..7076360 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 0000000..06b0bbd --- /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}"} -- GitLab