From dcca9481ef9ce19c37afeb243a4a6b012d3fc30f Mon Sep 17 00:00:00 2001 From: zhanhuasheng Date: Wed, 22 May 2024 12:01:28 +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 --- .../setting/test_03_facebookIntegration.py | 13 +++++ TestCase/setting/test_11_widgetTranslate.py | 13 +++++ .../setting/facebook_integration_test_data.py | 6 +++ .../setting/widget_translate_test_data.py | 8 ++++ .../facebookIntegration_select.py | 10 ++++ .../notification/notification_room_select.py | 48 +++++++++++++++++++ YamlCase/setting/facebookIntegration.yaml | 11 +++++ YamlCase/setting/widgetTranslate.yaml | 19 ++++++++ 8 files changed, 128 insertions(+) create mode 100644 TestCase/setting/test_03_facebookIntegration.py create mode 100644 TestCase/setting/test_11_widgetTranslate.py create mode 100644 TestData/setting/facebook_integration_test_data.py create mode 100644 TestData/setting/widget_translate_test_data.py create mode 100644 TestFile/setting/facebookIntegration/facebookIntegration_select.py create mode 100644 TestFile/setting/notification/notification_room_select.py create mode 100644 YamlCase/setting/facebookIntegration.yaml create mode 100644 YamlCase/setting/widgetTranslate.yaml diff --git a/TestCase/setting/test_03_facebookIntegration.py b/TestCase/setting/test_03_facebookIntegration.py new file mode 100644 index 0000000..921b4e2 --- /dev/null +++ b/TestCase/setting/test_03_facebookIntegration.py @@ -0,0 +1,13 @@ +import pytest +from Utils import yaml_handler +from Utils import req_handler +from TestData.setting.facebook_integration_test_data import facebookIntegrationData + +class TestFacebookIntegration: + + yaml_path = r'setting/facebookIntegration.yaml' + yaml_data = yaml_handler.yaml_handler.get_case(yaml_path) + @pytest.mark.flaky(reruns=facebookIntegrationData.rerun, reruns_delay=facebookIntegrationData.rerun_delay) + @pytest.mark.parametrize('case',yaml_data) + def test_facebookIntegration(self,case): + req_handler.ReqHandler.send_requests(case=case,var_class=facebookIntegrationData) diff --git a/TestCase/setting/test_11_widgetTranslate.py b/TestCase/setting/test_11_widgetTranslate.py new file mode 100644 index 0000000..f923733 --- /dev/null +++ b/TestCase/setting/test_11_widgetTranslate.py @@ -0,0 +1,13 @@ +import pytest +from Utils import yaml_handler +from Utils import req_handler +from TestData.setting.widget_translate_test_data import widgetTranslateData + +class TestWidgetTranslate: + + yaml_path = r'setting/widgetTranslate.yaml' + yaml_data = yaml_handler.yaml_handler.get_case(yaml_path) + @pytest.mark.flaky(reruns=widgetTranslateData.rerun, reruns_delay=widgetTranslateData.rerun_delay) + @pytest.mark.parametrize('case',yaml_data) + def test_widgetTranslate(self,case): + req_handler.ReqHandler.send_requests(case=case,var_class=widgetTranslateData) diff --git a/TestData/setting/facebook_integration_test_data.py b/TestData/setting/facebook_integration_test_data.py new file mode 100644 index 0000000..2d4f124 --- /dev/null +++ b/TestData/setting/facebook_integration_test_data.py @@ -0,0 +1,6 @@ +from Utils.global_variate import Global + +class facebookIntegrationData(Global): + pass + + diff --git a/TestData/setting/widget_translate_test_data.py b/TestData/setting/widget_translate_test_data.py new file mode 100644 index 0000000..283d431 --- /dev/null +++ b/TestData/setting/widget_translate_test_data.py @@ -0,0 +1,8 @@ +from Utils.global_variate import Global + +class widgetTranslateData(Global): + chinese = 'Chinese (Simplified)' + english = 'English' + item_id = 8 + english_value = 'Contact us' + chinese_value = '联系我们' \ No newline at end of file diff --git a/TestFile/setting/facebookIntegration/facebookIntegration_select.py b/TestFile/setting/facebookIntegration/facebookIntegration_select.py new file mode 100644 index 0000000..ce75e13 --- /dev/null +++ b/TestFile/setting/facebookIntegration/facebookIntegration_select.py @@ -0,0 +1,10 @@ +from Utils.sql_handler import test_env_conn +from TestData.setting.facebook_integration_test_data import facebookIntegrationData + +facebook_select_sql = f'select * from `resource_item` where brand_id = {facebookIntegrationData.brandId} and resource_id = 3' +facebook_select_result = test_env_conn.select_many_value(sql=facebook_select_sql) + +facebook = facebook_select_result[0] +facebook_name = facebook['name'] +setattr(facebookIntegrationData, 'facebook_name', facebook_name) +setattr(facebookIntegrationData, 'facebook_num', len(facebook_select_result)) diff --git a/TestFile/setting/notification/notification_room_select.py b/TestFile/setting/notification/notification_room_select.py new file mode 100644 index 0000000..b3670be --- /dev/null +++ b/TestFile/setting/notification/notification_room_select.py @@ -0,0 +1,48 @@ +from Utils.sql_handler import test_env_conn +from TestData.setting.notification_test_data import notifycationData + +team_id_select_sql = f'select id from `resource_item` where brand_id = {notifycationData.brandId} and resource_id = 1' +team_id_select_result = test_env_conn.select_many_value(sql=team_id_select_sql) +team_id = [team['id'] for team in team_id_select_result] + +team_cs_rel_select_sql = f'select * from `resource_item_cs_rel` where cs_id = {notifycationData.userId}' +team_cs_rel_select_result = test_env_conn.select_many_value(sql=team_cs_rel_select_sql) +if team_cs_rel_select_result: + team_cs_rel_id = tuple([team['id'] for team in team_cs_rel_select_result]) +else: + team_insert_sql = f""" + INSERT INTO `resource_item` (name,picture,rel_id,brand_id,resource_id,sorts,is_delete,update_at,create_at) VALUES + ({notifycationData.insert_team_name},'',0,{notifycationData.brandId},1,0,0,'2024-02-19 16:43:20','2024-02-19 16:43:20'); +""" + test_env_conn.execute_sql(sql=team_insert_sql) + insert_team_id_select_sql = f'select id from `resource_item` where brand_id = {notifycationData.brandId} and resource_id = 1 and name = {notifycationData.insert_team_name}' + insert_team_id_select_result = test_env_conn.select_one_value(sql=insert_team_id_select_sql) + insert_team_id = insert_team_id_select_result['id'] + team_cs_rel_insert_sql = f"""INSERT INTO `resource_item_cs_rel` (item_id,cs_id,sorts,is_hup,is_delete,update_at,create_at) VALUES + ({insert_team_id},{notifycationData.userId},0,1,0,'2024-02-19 16:43:20','2024-02-19 16:43:20'); + """ + team_cs_rel_insert_result = test_env_conn.execute_sql(sql=team_cs_rel_insert_sql) + team_cs_rel_id = (insert_team_id) + +room_select_sql = f""" + select room_id from `im_room` where cate_id = {notifycationData.brandId} and site_id = {notifycationData.shopId} +""" +room_select_result = test_env_conn.select_many_value(sql=room_select_sql) +if room_select_result: + room_id = tuple([team['room_id'] for team in room_select_result]) +else: + room_insert_sql = f""" + INSERT INTO `im_room` (room_id,title,room_type,cate_id,site_id,first_send_uid,first_send_uid_type,first_operation_uid,platform,allocation_uid,first_send_name,first_send_avatar,status,open_time,close_time,close_uid,is_mark,is_ignore,is_msg_reply,last_msg_time,last_msg_uid,last_msg_type,last_msg_uid_type,last_msg_context,allocation_name,allocation_avatar,room_platform,room_channel_type,from_id,channel_id,recipient_id,email_topic,ref_email_topic,session_id,create_at,update_at,read_status,third_create_time) VALUES + ({notifycationData.insert_room_id},'',1,{notifycationData.brandId},{notifycationData.shopId},1,1,{notifycationData.userId},0,{notifycationData.userId},'Willdesk Team','',1,0,1714295061,{notifycationData.userId},0,0,1,1714295078362,{notifycationData.userId},11,2,'{"contentList":"0.24day关闭
","attachmentList":[]}','auto_test','https://img.willdesk.com/$','willdesk','wk','','','','','','',1708332200,1714295078,2,0); +""" + test_env_conn.execute_sql(sql=room_insert_sql) + room_id = (notifycationData.insert_room_id) + +room_rel_select_sql = f'select * from `resource_room_rel` where room_id in {room_id} and item_id in {team_cs_rel_id}' +room_rel_select_result = test_env_conn.select_one_value(sql=room_rel_select_sql) +if room_rel_select_result: + setattr(notifycationData, 'team_room_rel_id', room_rel_select_result['id']) +else: + setattr(notifycationData, 'no_team_room_rel_id', room_rel_select_result['id']) +if hasattr(notifycationData, 'team_room_rel_id'): + no_rel_room_select_sql = f'select * from ' \ No newline at end of file diff --git a/YamlCase/setting/facebookIntegration.yaml b/YamlCase/setting/facebookIntegration.yaml new file mode 100644 index 0000000..8fc7ad0 --- /dev/null +++ b/YamlCase/setting/facebookIntegration.yaml @@ -0,0 +1,11 @@ +api1: + title: 检查facebook列表 + url: /api/v1/facebook/page + method: post + data: {"uType":2,"platform":1,"v":"${v}"} + before_sql: setting/facebookIntegration/facebookIntegration_select.py + expected: + - eq: {"$.code" : 0} + - in_list: {"$.data.data[*].channelName": "${facebook_name}"} + - exec: {"code": "assert len(res.json()['data']['data']) == ${facebook_num}"} + diff --git a/YamlCase/setting/widgetTranslate.yaml b/YamlCase/setting/widgetTranslate.yaml new file mode 100644 index 0000000..63582fb --- /dev/null +++ b/YamlCase/setting/widgetTranslate.yaml @@ -0,0 +1,19 @@ +api1: + title: 检查翻译结果 - 中文 + url: /api/v1/setting/translateShopSetting + method: post + data: {"language":"${chinese}","v":"${v}"} + expected: + - eq: {"$.code": 0} + - eq: {"$.data.settingInfo[?(@.itemId == ${item_id})].itemValue": "${chinese_value}"} + +api2: + title: 检查翻译结果 - 英文 + url: /api/v1/setting/translateShopSetting + method: post + data: {"language": "${english}","v": "${v}"} + expected: + - eq: {"$.code": 0} + - eq: {"$.data.settingInfo[?(@.itemId == ${item_id})].itemValue": "${english_value}"} + + -- GitLab