This is an automated email from the ASF dual-hosted git repository.

caishunfeng pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new 1a08f3970d [fix-10729]The request's url given by the test case looks 
different f… (#10734)
1a08f3970d is described below

commit 1a08f3970d2cf85e8d10d66139fed70eb787fb3a
Author: fuchanghai <[email protected]>
AuthorDate: Wed Jul 20 15:42:45 2022 +0800

    [fix-10729]The request's url given by the test case looks different f… 
(#10734)
    
    * [fix-10729]The request's url given by the test case looks different from 
the controller layer. Some usages and parameter format errors
---
 .../api/controller/DataSourceControllerTest.java   | 211 +++++++++++----------
 1 file changed, 112 insertions(+), 99 deletions(-)

diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/DataSourceControllerTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/DataSourceControllerTest.java
index f14fb53bdd..a4c0f93f73 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/DataSourceControllerTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/DataSourceControllerTest.java
@@ -17,21 +17,26 @@
 
 package org.apache.dolphinscheduler.api.controller;
 
+import static 
org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
 import static 
org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
 import static 
org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
+import static 
org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
 import static 
org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
 import static 
org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
 
 import org.apache.dolphinscheduler.api.enums.Status;
 import org.apache.dolphinscheduler.api.utils.Result;
 import org.apache.dolphinscheduler.common.utils.JSONUtils;
-import 
org.apache.dolphinscheduler.plugin.datasource.mysql.param.MySQLDataSourceParamDTO;
 
 import java.util.HashMap;
 
 import org.junit.Assert;
 import org.junit.Ignore;
 import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.CsvSource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.http.MediaType;
@@ -45,82 +50,93 @@ import org.springframework.util.MultiValueMap;
 public class DataSourceControllerTest extends AbstractControllerTest {
     private static final Logger logger = 
LoggerFactory.getLogger(DataSourceControllerTest.class);
 
-    @Ignore
+    @BeforeEach
+    public void initSetUp() {
+        setUp();
+    }
+
+    @AfterEach
+    public void afterEach() throws Exception {
+        after();
+    }
+
+    @Ignore("unknown yourself connection information")
     @Test
     public void testCreateDataSource() throws Exception {
-        MySQLDataSourceParamDTO mysqlDatasourceParam = new 
MySQLDataSourceParamDTO();
-        mysqlDatasourceParam.setName("mysql");
-        mysqlDatasourceParam.setNote("mysql data source test");
-        mysqlDatasourceParam.setHost("192.168.xxxx.xx");
-        mysqlDatasourceParam.setPort(3306);
-        mysqlDatasourceParam.setDatabase("dolphinscheduler");
-        mysqlDatasourceParam.setUserName("root");
-        mysqlDatasourceParam.setPassword("root@123");
-        mysqlDatasourceParam.setOther(new HashMap<>());
-        MvcResult mvcResult = mockMvc.perform(post("/datasources/create")
+        HashMap<String, Object> paramsMap = new HashMap<>();
+        paramsMap.put("name","mysql");
+        paramsMap.put("node","mysql data source test");
+        paramsMap.put("type","mysql");
+        paramsMap.put("host","127.0.0.1");
+        paramsMap.put("port",3306);
+        paramsMap.put("database","mysql");
+        paramsMap.put("userName","root");
+        paramsMap.put("password","123456");
+        paramsMap.put("other",new HashMap<>());
+        MvcResult mvcResult = mockMvc.perform(post("/datasources")
                 .header("sessionId", sessionId)
                 .contentType(MediaType.APPLICATION_JSON)
-                .content(JSONUtils.toJsonString(mysqlDatasourceParam)))
-                .andExpect(status().isCreated())
-                .andExpect(content().contentType(MediaType.APPLICATION_JSON))
-                .andReturn();
+                .content(JSONUtils.toJsonString(paramsMap)))
+            .andExpect(status().isCreated())
+            .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+            .andReturn();
         Result result = 
JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), 
Result.class);
         
Assert.assertEquals(Status.SUCCESS.getCode(),result.getCode().intValue());
         logger.info(mvcResult.getResponse().getContentAsString());
     }
 
-    @Ignore
+    @Ignore("unknown yourself connection information")
     @Test
     public void testUpdateDataSource() throws Exception {
-        MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
-        paramsMap.add("id","2");
-        paramsMap.add("name","mysql");
-        paramsMap.add("node","mysql data source test");
-        paramsMap.add("type","MYSQL");
-        paramsMap.add("host","192.168.xxxx.xx");
-        paramsMap.add("port","3306");
-        paramsMap.add("principal","");
-        paramsMap.add("database","dolphinscheduler");
-        paramsMap.add("userName","root");
-        paramsMap.add("password","root@123");
-        paramsMap.add("other","");
-        MvcResult mvcResult = mockMvc.perform(post("/datasources/update")
+        HashMap<String, Object> paramsMap = new HashMap<>();
+        paramsMap.put("id",2);
+        paramsMap.put("name","mysql");
+        paramsMap.put("node","mysql data source test");
+        paramsMap.put("type","mysql");
+        paramsMap.put("host","192.168.xxxx.xx");
+        paramsMap.put("port",3306);
+        paramsMap.put("principal","");
+        paramsMap.put("database","dolphinscheduler");
+        paramsMap.put("userName","root");
+        paramsMap.put("password","root@123");
+        paramsMap.put("other",new HashMap<>());
+        MvcResult mvcResult = mockMvc.perform(put("/datasources/2")
                 .header("sessionId", sessionId)
-                .params(paramsMap))
-                .andExpect(status().isCreated())
-                .andExpect(content().contentType(MediaType.APPLICATION_JSON))
-                .andReturn();
+                .content(JSONUtils.toJsonString(paramsMap)))
+            .andExpect(status().isOk())
+            .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+            .andReturn();
         Result result = 
JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), 
Result.class);
         Assert.assertEquals(Status.SUCCESS.getCode(), 
result.getCode().intValue());
         logger.info(mvcResult.getResponse().getContentAsString());
     }
 
-    @Ignore
+    @Ignore("unknown you datasources id")
     @Test
     public void testQueryDataSource() throws Exception {
-        MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
-        paramsMap.add("id","2");
-        MvcResult mvcResult = mockMvc.perform(post("/datasources/update-ui")
-                .header("sessionId", sessionId)
-                .params(paramsMap))
-                .andExpect(status().isOk())
-                .andExpect(content().contentType(MediaType.APPLICATION_JSON))
-                .andReturn();
+        MvcResult mvcResult = mockMvc.perform(get("/datasources/2")
+                .header("sessionId", sessionId))
+            .andExpect(status().isOk())
+            .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+            .andReturn();
         Result result = 
JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), 
Result.class);
         
Assert.assertEquals(Status.SUCCESS.getCode(),result.getCode().intValue());
         logger.info(mvcResult.getResponse().getContentAsString());
     }
 
-    @Test
-    public void testQueryDataSourceList() throws Exception {
+    @ParameterizedTest
+    @CsvSource({
+        "type, MYSQL"
+    })
+    public void testQueryDataSourceList(String key, String dbType) throws 
Exception {
         MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
-        paramsMap.add("type","MYSQL");
+        paramsMap.add(key,dbType);
         MvcResult mvcResult = mockMvc.perform(get("/datasources/list")
                 .header("sessionId", sessionId)
                 .params(paramsMap))
-                .andExpect(status().isOk())
-                .andExpect(content().contentType(MediaType.APPLICATION_JSON))
-                .andReturn();
+            .andExpect(status().isOk())
+            .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+            .andReturn();
         Result result = 
JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), 
Result.class);
         
Assert.assertEquals(Status.SUCCESS.getCode(),result.getCode().intValue());
         logger.info(mvcResult.getResponse().getContentAsString());
@@ -135,63 +151,63 @@ public class DataSourceControllerTest extends 
AbstractControllerTest {
         MvcResult mvcResult = mockMvc.perform(get("/datasources")
                 .header("sessionId", sessionId)
                 .params(paramsMap))
-                .andExpect(status().isOk())
-                .andExpect(content().contentType(MediaType.APPLICATION_JSON))
-                .andReturn();
+            .andExpect(status().isOk())
+            .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+            .andReturn();
         Result result = 
JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), 
Result.class);
         
Assert.assertEquals(Status.SUCCESS.getCode(),result.getCode().intValue());
         logger.info(mvcResult.getResponse().getContentAsString());
     }
 
-    @Ignore
+    @Ignore("unknown yourself connection information")
     @Test
     public void testConnectDataSource() throws Exception {
-        MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
-        paramsMap.add("name","hive data source");
-        paramsMap.add("type","HIVE");
-        paramsMap.add("host","192.168.xx.xx");
-        paramsMap.add("port","10000");
-        paramsMap.add("database","default");
-        paramsMap.add("userName","hive");
-        paramsMap.add("password","");
-        paramsMap.add("other","");
+        HashMap<String, Object> paramsMap = new HashMap<>();
+        paramsMap.put("name","mysql data source");
+        paramsMap.put("type","mysql");
+        paramsMap.put("host","127.0.0.1");
+        paramsMap.put("port",3306);
+        paramsMap.put("database","mysql");
+        paramsMap.put("userName","root");
+        paramsMap.put("password","123456");
+        paramsMap.put("other",null);
         MvcResult mvcResult = mockMvc.perform(post("/datasources/connect")
                 .header("sessionId", sessionId)
-                .params(paramsMap))
-                .andExpect(status().isOk())
-                .andExpect(content().contentType(MediaType.APPLICATION_JSON))
-                .andReturn();
+                .content(JSONUtils.toJsonString(paramsMap)))
+            .andExpect(status().isOk())
+            .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+            .andReturn();
         Result result = 
JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), 
Result.class);
         
Assert.assertEquals(Status.SUCCESS.getCode(),result.getCode().intValue());
         logger.info(mvcResult.getResponse().getContentAsString());
     }
 
-    @Ignore
+    @Ignore("unknown your datasource id")
     @Test
     public void testConnectionTest() throws Exception {
-        MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
-        paramsMap.add("id","2");
-        MvcResult mvcResult = mockMvc.perform(get("/datasources/connect-by-id")
-                .header("sessionId", sessionId)
-                .params(paramsMap))
-                .andExpect(status().isOk())
-                .andExpect(content().contentType(MediaType.APPLICATION_JSON))
-                .andReturn();
+        MvcResult mvcResult = 
mockMvc.perform(get("/datasources/2/connect-test")
+                .header("sessionId", sessionId))
+            .andExpect(status().isOk())
+            .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+            .andReturn();
         Result result = 
JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), 
Result.class);
         
Assert.assertEquals(Status.SUCCESS.getCode(),result.getCode().intValue());
         logger.info(mvcResult.getResponse().getContentAsString());
     }
 
-    @Test
-    public void testVerifyDataSourceName() throws Exception {
+    @ParameterizedTest
+    @CsvSource({
+        "name, sourceName"
+    })
+    public void testVerifyDataSourceName(String key, String dbType) throws 
Exception {
         MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
-        paramsMap.add("name","mysql");
+        paramsMap.add(key,dbType);
         MvcResult mvcResult = mockMvc.perform(get("/datasources/verify-name")
                 .header("sessionId", sessionId)
                 .params(paramsMap))
-                .andExpect(status().isOk())
-                .andExpect(content().contentType(MediaType.APPLICATION_JSON))
-                .andReturn();
+            .andExpect(status().isOk())
+            .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+            .andReturn();
         Result result = 
JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), 
Result.class);
         
Assert.assertEquals(Status.SUCCESS.getCode(),result.getCode().intValue());
         logger.info(mvcResult.getResponse().getContentAsString());
@@ -204,9 +220,9 @@ public class DataSourceControllerTest extends 
AbstractControllerTest {
         MvcResult mvcResult = 
mockMvc.perform(get("/datasources/authed-datasource")
                 .header("sessionId", sessionId)
                 .params(paramsMap))
-                .andExpect(status().isOk())
-                .andExpect(content().contentType(MediaType.APPLICATION_JSON))
-                .andReturn();
+            .andExpect(status().isOk())
+            .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+            .andReturn();
         Result result = 
JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), 
Result.class);
         
Assert.assertEquals(Status.SUCCESS.getCode(),result.getCode().intValue());
         logger.info(mvcResult.getResponse().getContentAsString());
@@ -219,9 +235,9 @@ public class DataSourceControllerTest extends 
AbstractControllerTest {
         MvcResult mvcResult = 
mockMvc.perform(get("/datasources/unauth-datasource")
                 .header("sessionId", sessionId)
                 .params(paramsMap))
-                .andExpect(status().isOk())
-                .andExpect(content().contentType(MediaType.APPLICATION_JSON))
-                .andReturn();
+            .andExpect(status().isOk())
+            .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+            .andReturn();
         Result result = 
JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), 
Result.class);
         
Assert.assertEquals(Status.SUCCESS.getCode(),result.getCode().intValue());
         logger.info(mvcResult.getResponse().getContentAsString());
@@ -231,25 +247,22 @@ public class DataSourceControllerTest extends 
AbstractControllerTest {
     public void testGetKerberosStartupState() throws Exception {
         MvcResult mvcResult = 
mockMvc.perform(get("/datasources/kerberos-startup-state")
                 .header("sessionId", sessionId))
-                .andExpect(status().isOk())
-                .andExpect(content().contentType(MediaType.APPLICATION_JSON))
-                .andReturn();
+            .andExpect(status().isOk())
+            .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+            .andReturn();
         Result result = 
JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), 
Result.class);
         
Assert.assertEquals(Status.SUCCESS.getCode(),result.getCode().intValue());
         logger.info(mvcResult.getResponse().getContentAsString());
     }
 
-    @Ignore
+    @Ignore("unknown your datasource id")
     @Test
     public void testDelete() throws Exception {
-        MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
-        paramsMap.add("id","16");
-        MvcResult mvcResult = mockMvc.perform(get("/datasources/delete")
-                .header("sessionId", sessionId)
-                .params(paramsMap))
-                .andExpect(status().isOk())
-                .andExpect(content().contentType(MediaType.APPLICATION_JSON))
-                .andReturn();
+        MvcResult mvcResult = mockMvc.perform(delete("/datasources/2")
+                .header("sessionId", sessionId))
+            .andExpect(status().isOk())
+            .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+            .andReturn();
         Result result = 
JSONUtils.parseObject(mvcResult.getResponse().getContentAsString(), 
Result.class);
         
Assert.assertEquals(Status.SUCCESS.getCode(),result.getCode().intValue());
         logger.info(mvcResult.getResponse().getContentAsString());

Reply via email to