You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by zi...@apache.org on 2022/07/06 06:24:17 UTC

[dolphinscheduler] branch dev updated: [API-Test] [Checkstyle] Reformat api-test code and enable checkstyle (#10805)

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

zihaoxiang 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 515b5e3ef6 [API-Test] [Checkstyle] Reformat api-test code and enable checkstyle (#10805)
515b5e3ef6 is described below

commit 515b5e3ef6e0c9fe596291c1d923037f2e8a1da2
Author: xiangzihao <46...@qq.com>
AuthorDate: Wed Jul 6 14:24:13 2022 +0800

    [API-Test] [Checkstyle] Reformat api-test code and enable checkstyle (#10805)
    
    * reformat api-test code
    
    * reformat api-test code
    
    * reformat api-test code
    
    * reformat api-test code
    
    * reformat api-test code
    
    * reformat api-test code
    
    * fix checkstyle
---
 .github/workflows/api-test.yml                     |  1 +
 dolphinscheduler-api-test/README.md                |  4 +-
 .../api.test/cases/TenantAPITest.java              |  3 +-
 .../entity/TenantListPagingResponseData.java       |  4 +-
 .../entity/TenantListPagingResponseTotalList.java  |  4 +-
 .../dolphinscheduler/api.test/pages/LoginPage.java |  1 -
 .../api.test/pages/security/TenantPage.java        |  1 -
 .../dolphinscheduler/api.test/utils/JSONUtils.java | 50 +++++++++++-----------
 .../api.test/utils/RequestClient.java              | 38 ++++++++--------
 .../resources/docker/basic/docker-compose.yaml     | 28 ++++++------
 .../datasource-clickhouse/docker-compose.yaml      |  2 +-
 .../docker/datasource-hive/docker-compose.yaml     |  2 +-
 .../datasource-postgresql/docker-compose.yaml      |  2 +-
 .../resources/docker/file-manage/common.properties | 25 +----------
 .../docker/file-manage/docker-compose.yaml         |  2 +-
 .../dolphinscheduler/api/test/core/Constants.java  |  3 --
 .../api/test/core/DolphinSchedulerExtension.java   | 25 ++++++-----
 dolphinscheduler-api-test/pom.xml                  | 33 ++++++++++++++
 18 files changed, 118 insertions(+), 110 deletions(-)

diff --git a/.github/workflows/api-test.yml b/.github/workflows/api-test.yml
index 6462dfd9d2..1b761fdb6a 100644
--- a/.github/workflows/api-test.yml
+++ b/.github/workflows/api-test.yml
@@ -112,6 +112,7 @@ jobs:
         run: |
           ./mvnw -B -f dolphinscheduler-api-test/pom.xml -am \
             -DfailIfNoTests=false \
+            -Dcheckstyle.skip=false \
             -Dtest=${{ matrix.case.class }} test
       - uses: actions/upload-artifact@v2
         if: always()
diff --git a/dolphinscheduler-api-test/README.md b/dolphinscheduler-api-test/README.md
index 6036566c3b..5c05594729 100644
--- a/dolphinscheduler-api-test/README.md
+++ b/dolphinscheduler-api-test/README.md
@@ -9,8 +9,8 @@ Every page of DolphinScheduler's api is abstracted into a class for better maint
 ### Example
 
 The login page's api is abstracted
-as [`LoginPage`](dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/pages/LoginPage.java), with the
-following fields,
+as [`LoginPage`](dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/pages/LoginPage.java)
+, with the following fields,
 
 ```java
 public HttpResponse login(String username, String password) {
diff --git a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/cases/TenantAPITest.java b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/cases/TenantAPITest.java
index 177c800336..5cf9435012 100644
--- a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/cases/TenantAPITest.java
+++ b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/cases/TenantAPITest.java
@@ -19,7 +19,6 @@
 
 package org.apache.dolphinscheduler.api.test.cases;
 
-import lombok.extern.slf4j.Slf4j;
 import org.apache.dolphinscheduler.api.test.core.DolphinScheduler;
 import org.apache.dolphinscheduler.api.test.entity.HttpResponse;
 import org.apache.dolphinscheduler.api.test.entity.LoginResponseData;
@@ -28,12 +27,14 @@ import org.apache.dolphinscheduler.api.test.entity.TenantListPagingResponseTotal
 import org.apache.dolphinscheduler.api.test.pages.LoginPage;
 import org.apache.dolphinscheduler.api.test.pages.security.TenantPage;
 import org.apache.dolphinscheduler.api.test.utils.JSONUtils;
+
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Order;
 import org.junit.jupiter.api.Test;
 
+import lombok.extern.slf4j.Slf4j;
 
 @DolphinScheduler(composeFiles = "docker/basic/docker-compose.yaml")
 @Slf4j
diff --git a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/entity/TenantListPagingResponseData.java b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/entity/TenantListPagingResponseData.java
index be9131cce2..415d711ebc 100644
--- a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/entity/TenantListPagingResponseData.java
+++ b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/entity/TenantListPagingResponseData.java
@@ -19,12 +19,12 @@
 
 package org.apache.dolphinscheduler.api.test.entity;
 
+import java.util.List;
+
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
-import java.util.List;
-
 @AllArgsConstructor
 @NoArgsConstructor
 @Data
diff --git a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/entity/TenantListPagingResponseTotalList.java b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/entity/TenantListPagingResponseTotalList.java
index 4667ce6921..e75196af8e 100644
--- a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/entity/TenantListPagingResponseTotalList.java
+++ b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/entity/TenantListPagingResponseTotalList.java
@@ -19,12 +19,12 @@
 
 package org.apache.dolphinscheduler.api.test.entity;
 
+import java.util.Date;
+
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
-import java.util.Date;
-
 @AllArgsConstructor
 @NoArgsConstructor
 @Data
diff --git a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/pages/LoginPage.java b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/pages/LoginPage.java
index 25790b39ef..a942313298 100644
--- a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/pages/LoginPage.java
+++ b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/pages/LoginPage.java
@@ -19,7 +19,6 @@
 
 package org.apache.dolphinscheduler.api.test.pages;
 
-
 import org.apache.dolphinscheduler.api.test.entity.HttpResponse;
 import org.apache.dolphinscheduler.api.test.utils.RequestClient;
 
diff --git a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/pages/security/TenantPage.java b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/pages/security/TenantPage.java
index dc16d61424..1d1d74de49 100644
--- a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/pages/security/TenantPage.java
+++ b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/pages/security/TenantPage.java
@@ -19,7 +19,6 @@
 
 package org.apache.dolphinscheduler.api.test.pages.security;
 
-
 import org.apache.dolphinscheduler.api.test.core.Constants;
 import org.apache.dolphinscheduler.api.test.entity.HttpResponse;
 import org.apache.dolphinscheduler.api.test.utils.RequestClient;
diff --git a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/utils/JSONUtils.java b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/utils/JSONUtils.java
index e49341c632..04c2e2bc61 100644
--- a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/utils/JSONUtils.java
+++ b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/utils/JSONUtils.java
@@ -16,6 +16,7 @@
  */
 
 package org.apache.dolphinscheduler.api.test.utils;
+
 import static java.nio.charset.StandardCharsets.UTF_8;
 
 import static com.fasterxml.jackson.databind.DeserializationFeature.ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT;
@@ -23,6 +24,8 @@ import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKN
 import static com.fasterxml.jackson.databind.DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL;
 import static com.fasterxml.jackson.databind.MapperFeature.REQUIRE_SETTERS_FOR_GETTERS;
 
+import org.apache.dolphinscheduler.api.test.core.Constants;
+
 import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -32,9 +35,9 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.TimeZone;
 
-import org.apache.dolphinscheduler.api.test.core.Constants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.testcontainers.shaded.org.apache.commons.lang.StringUtils;
 
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.core.JsonParser;
@@ -52,7 +55,6 @@ import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.fasterxml.jackson.databind.node.TextNode;
 import com.fasterxml.jackson.databind.type.CollectionType;
-import org.testcontainers.shaded.org.apache.commons.lang.StringUtils;
 
 /**
  * json utils
@@ -62,19 +64,15 @@ public class JSONUtils {
     private static final Logger logger = LoggerFactory.getLogger(JSONUtils.class);
 
     static {
-        logger.info("init timezone: {}",TimeZone.getDefault());
+        logger.info("init timezone: {}", TimeZone.getDefault());
     }
 
     /**
      * can use static singleton, inject: just make sure to reuse!
      */
-    private static final ObjectMapper objectMapper = new ObjectMapper()
-            .configure(FAIL_ON_UNKNOWN_PROPERTIES, false)
-            .configure(ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT, true)
-            .configure(READ_UNKNOWN_ENUM_VALUES_AS_NULL, true)
-            .configure(REQUIRE_SETTERS_FOR_GETTERS, true)
-            .setTimeZone(TimeZone.getDefault())
-            .setDateFormat(new SimpleDateFormat(Constants.YYYY_MM_DD_HH_MM_SS));
+    private static final ObjectMapper objectMapper =
+        new ObjectMapper().configure(FAIL_ON_UNKNOWN_PROPERTIES, false).configure(ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT, true).configure(READ_UNKNOWN_ENUM_VALUES_AS_NULL, true)
+            .configure(REQUIRE_SETTERS_FOR_GETTERS, true).setTimeZone(TimeZone.getDefault()).setDateFormat(new SimpleDateFormat(Constants.YYYY_MM_DD_HH_MM_SS));
 
     private JSONUtils() {
         throw new UnsupportedOperationException("Construct JSONUtils");
@@ -95,7 +93,7 @@ public class JSONUtils {
     /**
      * json representation of object
      *
-     * @param object object
+     * @param object  object
      * @param feature feature
      * @return object to json string
      */
@@ -118,9 +116,9 @@ public class JSONUtils {
      * the fields of the specified object are generics, just the object itself should not be a
      * generic type.
      *
-     * @param json the string from which the object is to be deserialized
+     * @param json  the string from which the object is to be deserialized
      * @param clazz the class of T
-     * @param <T> T
+     * @param <T>   T
      * @return an object of type T from the string
      * classOfT
      */
@@ -138,11 +136,11 @@ public class JSONUtils {
     }
 
     /**
-     *  deserialize
+     * deserialize
      *
-     * @param src byte array
+     * @param src   byte array
      * @param clazz class
-     * @param <T> deserialize type
+     * @param <T>   deserialize type
      * @return deserialize type
      */
     public static <T> T parseObject(byte[] src, Class<T> clazz) {
@@ -156,9 +154,9 @@ public class JSONUtils {
     /**
      * json to list
      *
-     * @param json json string
+     * @param json  json string
      * @param clazz class
-     * @param <T> T
+     * @param <T>   T
      * @return list
      */
     public static <T> List<T> toList(String json, Class<T> clazz) {
@@ -203,7 +201,7 @@ public class JSONUtils {
      * node or its child nodes, and returning value it has.
      * If no matching field is found in this node or its descendants, returns null.
      *
-     * @param jsonNode json node
+     * @param jsonNode  json node
      * @param fieldName Name of field to look for
      * @return Value of first matching node found, if any; null if none
      */
@@ -225,17 +223,18 @@ public class JSONUtils {
      * @return json to map
      */
     public static Map<String, String> toMap(String json) {
-        return parseObject(json, new TypeReference<Map<String, String>>() {});
+        return parseObject(json, new TypeReference<Map<String, String>>() {
+        });
     }
 
     /**
      * json to map
      *
-     * @param json json
+     * @param json   json
      * @param classK classK
      * @param classV classV
-     * @param <K> K
-     * @param <V> V
+     * @param <K>    K
+     * @param <V>    V
      * @return to map
      */
     public static <K, V> Map<K, V> toMap(String json, Class<K> classK, Class<V> classV) {
@@ -255,7 +254,8 @@ public class JSONUtils {
 
     /**
      * from the key-value generated json  to get the str value no matter the real type of value
-     * @param json the json str
+     *
+     * @param json     the json str
      * @param nodeName key
      * @return the str value of key
      */
@@ -315,7 +315,7 @@ public class JSONUtils {
      * @param <T> object type
      * @return byte array
      */
-    public static <T> byte[] toJsonByteArray(T obj)  {
+    public static <T> byte[] toJsonByteArray(T obj) {
         if (obj == null) {
             return null;
         }
diff --git a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/utils/RequestClient.java b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/utils/RequestClient.java
index e1c1cda8e5..12c23c7b0a 100644
--- a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/utils/RequestClient.java
+++ b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/java/org/apache/dolphinscheduler/api.test/utils/RequestClient.java
@@ -19,11 +19,14 @@
 
 package org.apache.dolphinscheduler.api.test.utils;
 
-import lombok.SneakyThrows;
-import lombok.extern.slf4j.Slf4j;
 import org.apache.dolphinscheduler.api.test.core.Constants;
 import org.apache.dolphinscheduler.api.test.entity.HttpResponse;
 import org.apache.dolphinscheduler.api.test.entity.HttpResponseBody;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
 import org.testcontainers.shaded.okhttp3.FormBody;
 import org.testcontainers.shaded.okhttp3.Headers;
 import org.testcontainers.shaded.okhttp3.MediaType;
@@ -32,9 +35,8 @@ import org.testcontainers.shaded.okhttp3.Request;
 import org.testcontainers.shaded.okhttp3.RequestBody;
 import org.testcontainers.shaded.okhttp3.Response;
 
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
 
 @Slf4j
 public class RequestClient {
@@ -56,10 +58,10 @@ public class RequestClient {
 
         LOGGER.info("GET request to {}, Headers: {}", requestUrl, headersBuilder);
         Request request = new Request.Builder()
-                .url(requestUrl)
-                .headers(headersBuilder)
-                .get()
-                .build();
+            .url(requestUrl)
+            .headers(headersBuilder)
+            .get()
+            .build();
 
         Response response = this.httpClient.newCall(request).execute();
 
@@ -111,14 +113,13 @@ public class RequestClient {
 
         LOGGER.info("POST request to {}, Headers: {}, Params: {}", requestUrl, headersBuilder, params);
         Request request = new Request.Builder()
-                .headers(headersBuilder)
-                .url(requestUrl)
-                .post(requestBody)
-                .build();
+            .headers(headersBuilder)
+            .url(requestUrl)
+            .post(requestBody)
+            .build();
 
         Response response = this.httpClient.newCall(request).execute();
 
-
         int responseCode = response.code();
         HttpResponseBody responseData = null;
         if (response.body() != null) {
@@ -147,14 +148,13 @@ public class RequestClient {
 
         LOGGER.info("DELETE request to {}, Headers: {}, Params: {}", requestUrl, headersBuilder, params);
         Request request = new Request.Builder()
-                .headers(headersBuilder)
-                .url(requestUrl)
-                .delete()
-                .build();
+            .headers(headersBuilder)
+            .url(requestUrl)
+            .delete()
+            .build();
 
         Response response = this.httpClient.newCall(request).execute();
 
-
         int responseCode = response.code();
         HttpResponseBody responseData = null;
         if (response.body() != null) {
diff --git a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/basic/docker-compose.yaml b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/basic/docker-compose.yaml
index aeb18a9417..26e7ebda25 100644
--- a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/basic/docker-compose.yaml
+++ b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/basic/docker-compose.yaml
@@ -18,20 +18,20 @@
 version: "3.8"
 
 services:
-    dolphinscheduler:
-      image: apache/dolphinscheduler-standalone-server:ci
-      environment:
-        MASTER_MAX_CPU_LOAD_AVG: 100
-        WORKER_TENANT_AUTO_CREATE: 'true'
-      ports:
-        - "12345:12345"
-      networks:
-        - api-test
-      healthcheck:
-        test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
-        interval: 5s
-        timeout: 60s
-        retries: 120
+  dolphinscheduler:
+    image: apache/dolphinscheduler-standalone-server:ci
+    environment:
+      MASTER_MAX_CPU_LOAD_AVG: 100
+      WORKER_TENANT_AUTO_CREATE: 'true'
+    ports:
+      - "12345:12345"
+    networks:
+      - api-test
+    healthcheck:
+      test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
+      interval: 5s
+      timeout: 60s
+      retries: 120
 
 networks:
   api-test:
diff --git a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/datasource-clickhouse/docker-compose.yaml b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/datasource-clickhouse/docker-compose.yaml
index fea9fb869c..fd14568ad9 100644
--- a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/datasource-clickhouse/docker-compose.yaml
+++ b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/datasource-clickhouse/docker-compose.yaml
@@ -52,7 +52,7 @@ services:
     networks:
       - e2e
     healthcheck:
-      test: ["CMD", "wget", "--spider", "-q", "localhost:8123/ping"]
+      test: [ "CMD", "wget", "--spider", "-q", "localhost:8123/ping" ]
       interval: 5s
       timeout: 60s
       retries: 120
diff --git a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/datasource-hive/docker-compose.yaml b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/datasource-hive/docker-compose.yaml
index 1d15805a86..7cfe64badd 100644
--- a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/datasource-hive/docker-compose.yaml
+++ b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/datasource-hive/docker-compose.yaml
@@ -107,7 +107,7 @@ services:
     expose:
       - "5432"
     healthcheck:
-      test: ["CMD-SHELL", "pg_isready -U postgres"]
+      test: [ "CMD-SHELL", "pg_isready -U postgres" ]
       interval: 5s
       timeout: 60s
       retries: 120
diff --git a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/datasource-postgresql/docker-compose.yaml b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/datasource-postgresql/docker-compose.yaml
index a1696ea724..00f88b4c9a 100644
--- a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/datasource-postgresql/docker-compose.yaml
+++ b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/datasource-postgresql/docker-compose.yaml
@@ -45,7 +45,7 @@ services:
     expose:
       - 5432
     healthcheck:
-      test: ["CMD-SHELL", "pg_isready -U postgres"]
+      test: [ "CMD-SHELL", "pg_isready -U postgres" ]
       interval: 5s
       timeout: 60s
       retries: 120
diff --git a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/file-manage/common.properties b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/file-manage/common.properties
index dcf839ff76..abac3ad391 100644
--- a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/file-manage/common.properties
+++ b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/file-manage/common.properties
@@ -14,65 +14,45 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-
 # user data local directory path, please make sure the directory exists and have read write permissions
 data.basedir.path=/tmp/dolphinscheduler
-
 # resource storage type: HDFS, S3, NONE
 resource.storage.type=S3
-
-# resource store on HDFS/S3 path, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have read write permissions. "/dolphinscheduler" is recommended
+# resource store on HDFS/S3 path, resource file will store to this hadoop hdfs path, self configuration
+# please make sure the directory exists on hdfs and have read write permissions. "/dolphinscheduler" is recommended
 resource.upload.path=/dolphinscheduler
-
 # whether to startup kerberos
 hadoop.security.authentication.startup.state=false
-
 # java.security.krb5.conf path
 java.security.krb5.conf.path=/opt/krb5.conf
-
 # login user from keytab username
 login.user.keytab.username=hdfs-mycluster@ESZ.COM
-
 # login user from keytab path
 login.user.keytab.path=/opt/hdfs.headless.keytab
-
 # kerberos expire time, the unit is hour
 kerberos.expire.time=2
-
 # resource view suffixs
 #resource.view.suffixs=txt,log,sh,bat,conf,cfg,py,java,sql,xml,hql,properties,json,yml,yaml,ini,js
-
 # if resource.storage.type=HDFS, the user must have the permission to create directories under the HDFS root path
 hdfs.root.user=hdfs
-
 # if resource.storage.type=S3, the value like: s3a://dolphinscheduler; if resource.storage.type=HDFS and namenode HA is enabled, you need to copy core-site.xml and hdfs-site.xml to conf dir
 fs.defaultFS=s3a://dolphinscheduler
-
-
 # resourcemanager port, the default value is 8088 if not specified
 resource.manager.httpaddress.port=8088
-
 # if resourcemanager HA is enabled, please set the HA IPs; if resourcemanager is single, keep this value empty
 yarn.resourcemanager.ha.rm.ids=192.168.xx.xx,192.168.xx.xx
-
 # if resourcemanager HA is enabled or not use resourcemanager, please keep the default value; If resourcemanager is single, you only need to replace ds1 to actual resourcemanager hostname
 yarn.application.status.address=http://ds1:%s/ws/v1/cluster/apps/%s
-
 # job history status url when application number threshold is reached(default 10000, maybe it was set to 1000)
 yarn.job.history.status.address=http://ds1:19888/ws/v1/history/mapreduce/jobs/%s
-
 # datasource encryption enable
 datasource.encryption.enable=false
-
 # datasource encryption salt
 datasource.encryption.salt=!@#$%^&*
-
 # use sudo or not, if set true, executing user is tenant user and deploy user needs sudo permissions; if set false, executing user is the deploy user and doesn't need sudo permissions
 sudo.enable=true
-
 # network interface preferred like eth0, default: empty
 #dolphin.scheduler.network.interface.preferred=
-
 # network IP gets priority, default: inner outer
 #dolphin.scheduler.network.priority.strategy=default
 # system env path
@@ -85,6 +65,5 @@ aws.access.key.id=accessKey123
 aws.secret.access.key=secretKey123
 aws.region=us-east-1
 aws.endpoint=http://s3:9000
-
 # Task resource limit state
 task.resource.limit.state=false
\ No newline at end of file
diff --git a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/file-manage/docker-compose.yaml b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/file-manage/docker-compose.yaml
index c672c0cb0e..0ac4886ad8 100644
--- a/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/file-manage/docker-compose.yaml
+++ b/dolphinscheduler-api-test/dolphinscheduler-api-test-case/src/test/resources/docker/file-manage/docker-compose.yaml
@@ -53,7 +53,7 @@ services:
       MINIO_ROOT_USER: accessKey123
       MINIO_ROOT_PASSWORD: secretKey123
     healthcheck:
-      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
+      test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ]
       interval: 5s
       timeout: 120s
       retries: 120
diff --git a/dolphinscheduler-api-test/dolphinscheduler-api-test-core/src/main/java/org/apache/dolphinscheduler/api/test/core/Constants.java b/dolphinscheduler-api-test/dolphinscheduler-api-test-core/src/main/java/org/apache/dolphinscheduler/api/test/core/Constants.java
index 4db7f1d0e0..78a163bd89 100644
--- a/dolphinscheduler-api-test/dolphinscheduler-api-test-core/src/main/java/org/apache/dolphinscheduler/api/test/core/Constants.java
+++ b/dolphinscheduler-api-test/dolphinscheduler-api-test-core/src/main/java/org/apache/dolphinscheduler/api/test/core/Constants.java
@@ -19,9 +19,6 @@ package org.apache.dolphinscheduler.api.test.core;
 
 import lombok.experimental.UtilityClass;
 
-import java.nio.file.Path;
-import java.nio.file.Paths;
-
 @UtilityClass
 public final class Constants {
 
diff --git a/dolphinscheduler-api-test/dolphinscheduler-api-test-core/src/main/java/org/apache/dolphinscheduler/api/test/core/DolphinSchedulerExtension.java b/dolphinscheduler-api-test/dolphinscheduler-api-test-core/src/main/java/org/apache/dolphinscheduler/api/test/core/DolphinSchedulerExtension.java
index c0164a63ca..cc202e9baf 100644
--- a/dolphinscheduler-api-test/dolphinscheduler-api-test-core/src/main/java/org/apache/dolphinscheduler/api/test/core/DolphinSchedulerExtension.java
+++ b/dolphinscheduler-api-test/dolphinscheduler-api-test-core/src/main/java/org/apache/dolphinscheduler/api/test/core/DolphinSchedulerExtension.java
@@ -27,7 +27,6 @@ import java.util.Objects;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import lombok.SneakyThrows;
 import org.junit.jupiter.api.extension.AfterAllCallback;
 import org.junit.jupiter.api.extension.BeforeAllCallback;
 import org.junit.jupiter.api.extension.ExtensionContext;
@@ -38,15 +37,15 @@ import lombok.extern.slf4j.Slf4j;
 
 @Slf4j
 final class DolphinSchedulerExtension implements BeforeAllCallback, AfterAllCallback {
-    private final boolean LOCAL_MODE = Objects.equals(System.getProperty("local"), "true");
+    private final boolean localMode = Objects.equals(System.getProperty("local"), "true");
 
-    private final String SERVICE_NAME = "dolphinscheduler_1";
+    private final String serviceName = "dolphinscheduler_1";
 
     private DockerComposeContainer<?> compose;
 
     @Override
     public void beforeAll(ExtensionContext context) {
-        if (!LOCAL_MODE) {
+        if (!localMode) {
             compose = createDockerCompose(context);
             compose.start();
         }
@@ -63,17 +62,17 @@ final class DolphinSchedulerExtension implements BeforeAllCallback, AfterAllCall
         final Class<?> clazz = context.getRequiredTestClass();
         final DolphinScheduler annotation = clazz.getAnnotation(DolphinScheduler.class);
         final List<File> files = Stream.of(annotation.composeFiles())
-                                       .map(it -> DolphinScheduler.class.getClassLoader().getResource(it))
-                                       .filter(Objects::nonNull)
-                                       .map(URL::getPath)
-                                       .map(File::new)
-                                       .collect(Collectors.toList());
+            .map(it -> DolphinScheduler.class.getClassLoader().getResource(it))
+            .filter(Objects::nonNull)
+            .map(URL::getPath)
+            .map(File::new)
+            .collect(Collectors.toList());
 
         compose = new DockerComposeContainer<>(files)
-                .withPull(true)
-                .withTailChildContainers(true)
-                .withLogConsumer(SERVICE_NAME, outputFrame -> LOGGER.info(outputFrame.getUtf8String()))
-                .waitingFor(SERVICE_NAME, Wait.forHealthcheck().withStartupTimeout(Duration.ofSeconds(Constants.DOCKER_COMPOSE_DEFAULT_TIMEOUT)));
+            .withPull(true)
+            .withTailChildContainers(true)
+            .withLogConsumer(serviceName, outputFrame -> LOGGER.info(outputFrame.getUtf8String()))
+            .waitingFor(serviceName, Wait.forHealthcheck().withStartupTimeout(Duration.ofSeconds(Constants.DOCKER_COMPOSE_DEFAULT_TIMEOUT)));
 
         return compose;
     }
diff --git a/dolphinscheduler-api-test/pom.xml b/dolphinscheduler-api-test/pom.xml
index 31d29c2b77..4c9b4cef31 100644
--- a/dolphinscheduler-api-test/pom.xml
+++ b/dolphinscheduler-api-test/pom.xml
@@ -45,6 +45,7 @@
         <log4j-slf4j-impl.version>2.17.2</log4j-slf4j-impl.version>
         <guava.version>31.0.1-jre</guava.version>
         <jackson.version>2.13.2</jackson.version>
+        <checkstyle.version>3.1.2</checkstyle.version>
     </properties>
 
     <dependencies>
@@ -137,6 +138,38 @@
                 <artifactId>maven-surefire-plugin</artifactId>
                 <version>2.22.2</version>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-checkstyle-plugin</artifactId>
+                <version>${checkstyle.version}</version>
+                <dependencies>
+                    <dependency>
+                        <groupId>com.puppycrawl.tools</groupId>
+                        <artifactId>checkstyle</artifactId>
+                        <version>8.45</version>
+                    </dependency>
+                </dependencies>
+                <configuration>
+                    <consoleOutput>true</consoleOutput>
+                    <encoding>UTF-8</encoding>
+                    <configLocation>../style/checkstyle.xml</configLocation>
+                    <failOnViolation>true</failOnViolation>
+                    <violationSeverity>warning</violationSeverity>
+                    <includeTestSourceDirectory>true</includeTestSourceDirectory>
+                    <sourceDirectories>
+                        <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
+                    </sourceDirectories>
+                    <excludes>**\/generated-sources\/</excludes>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
     </build>
 </project>