import unittest import requests from util import req, reqGet class MyTest(unittest.TestCase): def setUp(self) -> None: self.host = "http://127.0.0.1:8080" # local # self.host = "https://gateway.rxdpdev.k5.bigtree.tech/rxdp-xdata-web" # dev # self.host = "http://172.18.232.249:8080" # test # self.host = "http://172.18.150.210:8080" # 仿真环境 def test_queryAllDataSource(self): """查询所有数据源""" reqGet(self.host + "/dataSource/queryAllDataSource", {}) def test3(self): """测试mysql驱动是否连接""" req(self.host + "/dataSource/testConnection", { "id": 2, "createBy": "admin", "createByView": None, "createTime": "2022-08-17 16:45:41", "updateBy": "admin", "updateByView": None, "updateTime": "2022-08-17 16:45:41", "version": 1, "sourceCode": "test", "sourceName": "test", "sourceDesc": "", "sourceType": "jdbc", "sourceConfig": "{\"driverName\":\"com.mysql.cj.jdbc.Driver\",\"jdbcUrl\":\"jdbc:mysql://127.0.0.1:3306/aj_report?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8\",\"username\":\"root\",\"password\":\"root\"}", "enableFlag": 1, "deleteFlag": 0, "jdbcUrl": None, "username": None, "password": None, "driverName": None, "sql": None, "apiUrl": None, "method": None, "header": None, "body": None, "dynSentence": None, "contextData": None, "accessKey": "1aec8e5d33aee82c021ba8df4c6b09e9" }) def testTransform(self): """mysql测试""" req(self.host + "/dataSet/testTransform", {"dataSetTransformDtoList": [], "dynSentence": "{\"apiUrl\":\"https://api.tianyunperfect.cn/test/test\",\"body\":\"\",\"method\":\"GET\",\"header\":\"{ \\\"Content-Type\\\": \\\"application/json;charset=UTF-8\\\" }\"}", "setType": "http", "dataSetParamDtoList": []}) def testTransform1(self): """mysql- clickhouse测试""" req(self.host + "/dataSet/testTransform", { "sourceCode": "clickhouse1", "dynSentence": "SELECT version()", "dataSetParamDtoList": [], "dataSetTransformDtoList": [], "setType": "sql" }) # mysql-测试 def testTrans2(self): req(self.host + "/dataSet/testTransform", {"dataSetTransformDtoList": [ {"createTime": "2022-09-08 11:01:15", "setCode": "3", "orderNum": 1, "editTime": "2022-09-08 11:01:15", "transformScript": "{\"3\":{\"3\":\"3\"},\"5\":{\"5\":\"5\"}}", "id": 24, "transformType": "dict", "enableFlag": "1", "useStatus": "0"}], "dynSentence": "{\"apiUrl\":\"https://api.tianyunperfect.cn/test/test\",\"method\":\"GET\",\"header\":\"{\\\"Content-Type\\\":\\\"application/json;charset=UTF-8\\\"}\",\"body\":\"3\"}", "dataSetParamDtoList": [ {"setCode": "3", "editId": "USR840299609749222294", "editTime": "2022-09-08 11:01:16", "paramName": "2", "requiredFlag": 1, "editName": "liudehua", "useStatus": "0", "paramType": "2", "paramDesc": "2", "createTime": "2022-09-08 11:01:16", "createId": "USR840299609749222294", "id": 44, "enableFlag": 1, "createName": "liudehua", "sampleItem": "2"}]}) def testQuerySet(self): """数据集 query 接口测试""" req(self.host + "/dataSet/query", { "setCode": "gjhgh", "map": { "id": 2, } }) def testQuerySet(self): """test""" req(self.host + "/dataSet/testTransform", { "sourceCode": "hu_hawq_test2234", "dynSentence": "SELECT org_no AS orgNo, 23 AS tagValue FROM company_business_information WHERE taxpayer_level = 'A'", "dataSetParamDtoList": [], "dataSetTransformDtoList": [ { "createBy": "admin", "createByView": None, "createTime": "2022-09-01 14:18:09", "updateBy": "admin", "updateByView": None, "updateTime": "2022-09-01 14:18:09", "version": 1, "setCode": "hawq_12341321", "transformType": "dict", "transformScript": "{\"tagvalue\":{\"23\":\"26\"}}", "orderNum": 1, "enableFlag": 1, "deleteFlag": 0, "accessKey": "7a4620a55d8924ff4a02b9fd68e65d22" }, { "createBy": "admin", "createByView": None, "createTime": "2022-09-01 14:18:09", "updateBy": "admin", "updateByView": None, "updateTime": "2022-09-01 14:18:09", "version": 1, "setCode": "hawq_12341321", "transformType": "javaBean", "transformScript": "package com.bigtreefinance.rxdp.xdata.groovy;\n\nimport com.alibaba.fastjson.JSONObject;\nimport com.bigtreefinance.rxdp.xdata.service.transform.IGroovyHandler;\n\nimport java.util.List;\n\n/**\n * 建议在idea写好复制整个类到此处,位置report-core/src/test/java/com/DemoGroovyHandler.java\n */\npublic class DemoGroovyHandler implements IGroovyHandler {\n\n @Override\n public List transform(List data) {\n\n for(JSONObject json : data){\n json.put(\"value\",json.get(\"tagvalue\"));\n json.remove(\"task_no\");\n }\n return data;\n }\n}", "orderNum": 2, "enableFlag": 1, "deleteFlag": 0, "accessKey": "8713ec121c219011fa2ff7b4f973da96" } ], "setType": "sql" }) def testDataSourcePage(self): """数据源分页查询""" reqGet(self.host + "/dataSource/pageList?page=1&limit=10", {}) def testDataSetPage(self): """数据源分页查询""" reqGet(self.host + "/dataSet/pageList?page=1&limit=10", {}) def testDataSetDelete(self): """数据源分页查询""" # reqGet(self.host + "/dataSet/73", {}) requests.delete(self.host + "/dataSet/73") def testDict(self): reqGet(self.host + "/rxdp-data-dict-item/TRANSFORM_TYPE", {}) # ========= 数据源 ========= # 批量删除 def testBachDelete(self): req(self.host + "/dataSource/delete/batch", [7, 8]) # 添加、更新 def testAdd(self): req(self.host + "/dataSource", {"sourceType": "mysql", "sourceCode": "1", "sourceName": "1", "sourceDesc": "1", "driverName": "1", "jdbcUrl": "1", "username": "1", "password": "1", "sourceConfig": "{\"driverName\":\"1\",\"jdbcUrl\":\"1\",\"username\":\"1\",\"password\":\"1\"}"}) def testDataSourceType(self): reqGet(self.host + "/rxdp-data-dict-item/SOURCE_TYPE", {}) def testTransform3(self): req(self.host + "/dataSet/testTransform", {"dataSetTransformDtoList": [ {"createTime": "2022-08-30 10:40:01", "setCode": "hu233333321", "orderNum": 1, "editTime": "2022-09-05 16:20:24", "transformScript": "package com; import com.alibaba.fastjson.JSONObject; import com.anjiplus.template.gaea.business.modules.datasettransform.service.IGroovyHandler; import java.util.List; /** * 建议在idea写好复制整个类到此处,位置report-core/src/test/java/com/DemoGroovyHandler.java */ public class DemoGroovyHandler implements IGroovyHandler { @Override public List<JSONObject> transform(List<JSONObject> data) { for(JSONObject json : data){ json.put(\"taskNo\",json.get(\"task_no\")); json.remove(\"task_no\"); } return data; } }", "id": 123, "transformType": "javaBean", "enableFlag": "1", "version": 1, "useStatus": "0"}, {"createTime": "2022-09-14 18:28:48", "setCode": "hu233333321", "orderNum": 2, "editTime": "2022-09-14 18:28:48", "transformScript": "", "id": 124, "transformType": "js", "enableFlag": "1", "useStatus": "0"}, {"createTime": "2022-09-14 18:28:48", "setCode": "hu233333321", "orderNum": 3, "editTime": "2022-09-14 18:28:48", "transformScript": "", "id": 125, "transformType": "", "enableFlag": "1", "useStatus": "0"}], "dynSentence": "SELECT task_no,task_name,task_type,job_id,entity_no FROM rxdp_tag_task WHERE task_type = ${taskType} and task_status = ${taskStatus}", "setType": "sql", "dataSetParamDtoList": [ {"setCode": "hu233333321", "editId": "USR840299609749222148", "orderNum": 1, "editTime": "2022-09-05 16:20:24", "paramName": "taskType", "version": 1, "requiredFlag": 1, "editName": "yanfa", "useStatus": "0", "createTime": "2022-08-30 10:40:01", "createId": "USR840299609749222148", "id": 101, "enableFlag": 1, "createName": "yanfa", "sampleItem": "taskType"}, {"setCode": "hu233333321", "editId": "USR840299609749222148", "editTime": "2022-09-15 20:37:58", "paramName": "task_status", "requiredFlag": 1, "editName": "yanfa", "useStatus": "0", "createTime": "2022-09-15 20:37:58", "createId": "USR840299609749222148", "id": 102, "enableFlag": 1, "createName": "yanfa", "sampleItem": "task_status"}], "sourceCode": "hu123123"}) # ========= 数据集 ========= def testDataSetUpdate(self): req(self.host + "/dataSet/update", {"setName": "3", "setCode": "3", "caseResult": "[{\"code\":1,\"data\":[{\"json_str\":\"hello1\",\"name\":\"hi2\",\"id\":19},{\"json_str\":\"hello\",\"name\":\"hi2\",\"id\":20},{\"json_str\":\"hello\",\"name\":\"hi1\",\"id\":21},{\"json_str\":\"hello3\",\"name\":\"hi2\",\"id\":22},{\"json_str\":\"hello\",\"name\":\"hi2\",\"id\":23},{\"json_str\":\"hello1\",\"name\":\"hi2\",\"id\":24},{\"json_str\":\"hello\",\"name\":\"hi0\",\"id\":25},{\"json_str\":\"hello\",\"name\":\"hi2\",\"id\":26},{\"json_str\":\"hello\",\"name\":\"hi2\",\"id\":27},{\"json_str\":\"hhh\",\"name\":\"testtest2\",\"id\":28}],\"message\":\"success\",\"timestamp\":1662604491373,\"executeTime\":3}]", "editTime": "2022-09-08 11:01:15", "setType": "http", "dynSentence": "{\"apiUrl\":\"https://api.tianyunperfect.cn/test/test\",\"method\":\"GET\",\"header\":\"{\\\"Content-Type\\\":\\\"application/json;charset=UTF-8\\\"}\",\"body\":\"3\"}", "enableFlagString": "已启动", "dataSetParamDtoList": [ {"setCode": "3", "editId": "USR840299609749222294", "editTime": "2022-09-08 11:01:16", "paramName": "2", "requiredFlag": 1, "editName": "liudehua", "useStatus": "0", "paramType": "2", "paramDesc": "2", "createTime": "2022-09-08 11:01:16", "createId": "USR840299609749222294", "id": 33, "enableFlag": 1, "createName": "liudehua", "sampleItem": "2"}], "setDesc": "3", "dataSetTransformDtoList": [ {"createTime": "2022-09-08 11:01:15", "setCode": "3", "orderNum": 1, "editTime": "2022-09-08 11:01:15", "transformScript": "{\"3\":{\"3\":\"3\"},\"5\":{\"5\":\"5\"}}", "id": 16, "transformType": "dict", "enableFlag": "1", "useStatus": "0"}], "id": 85, "enableFlag": 1, "setParamList": ["code", "data", "message", "timestamp", "executeTime"]}) def testDetailBysetId(self): reqGet(self.host + "/dataSet/detailBysetId/90", {}) def testUpdateDataSet(self): req(self.host + "/dataSet/update", {"setCode": "rr", "setDesc": "r", "setName": "r", "dynSentence": "rrr", "setType": "sql", "dataSetParamDtoList": [], "dataSetTransformDtoList": [ {"createTime": "2022-09-13 17:43:27", "setCode": "rr", "orderNum": 1, "editTime": "2022-09-13 17:43:27", "transformScript": "", "id": 36, "transformType": "js", "enableFlag": "1", "useStatus": "0"}], "caseResult": "{}", "sourceCode": "33"})