|
@@ -0,0 +1,215 @@
|
|
|
|
+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<JSONObject> transform(List<JSONObject> 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"})
|