Commit 655ce221 authored by zhanhuasheng's avatar zhanhuasheng

新增用例

parent 73ecf256
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)
from Utils.global_variate import Global
class ticketDetailData(Global):
pass
\ No newline at end of file
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)
...@@ -43,6 +43,7 @@ class ReqHandler: ...@@ -43,6 +43,7 @@ class ReqHandler:
def send_requests(self,case,var_class): def send_requests(self,case,var_class):
try: try:
if isinstance(case,dict): if isinstance(case,dict):
title = case['title']
if case.get('before_sql'): if case.get('before_sql'):
sql = case['before_sql'] sql = case['before_sql']
while sql[0] == '\\' or sql[0] == '/': while sql[0] == '\\' or sql[0] == '/':
...@@ -51,7 +52,6 @@ class ReqHandler: ...@@ -51,7 +52,6 @@ class ReqHandler:
content = f.read() content = f.read()
exec(content) exec(content)
case = self.params_handler(self,case=case,var_class=var_class) case = self.params_handler(self,case=case,var_class=var_class)
title = case['title']
if case.get('ws'): if case.get('ws'):
#识别到ws字段后,直接走ws_request函数,不继续往下面走 #识别到ws字段后,直接走ws_request函数,不继续往下面走
self.ws_requests(self,case) self.ws_requests(self,case)
......
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}"}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment