You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by ch...@apache.org on 2022/10/09 04:38:10 UTC

[dolphinscheduler] branch dev updated: Remove powermock from DatasyncTaskTest (#12270)

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

chufenggao 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 a865be09b6 Remove powermock from DatasyncTaskTest (#12270)
a865be09b6 is described below

commit a865be09b6ac38a0d0bfe3cfc4fb897e6038471b
Author: Eric Gao <er...@gmail.com>
AuthorDate: Sun Oct 9 12:38:03 2022 +0800

    Remove powermock from DatasyncTaskTest (#12270)
---
 .../plugin/task/datasync/DatasyncTask.java         | 33 +++++-----
 .../plugin/task/datasync/DatasyncTaskTest.java     | 71 ++++++++++------------
 2 files changed, 52 insertions(+), 52 deletions(-)

diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-datasync/src/main/java/org/apache/dolphinscheduler/plugin/task/datasync/DatasyncTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-datasync/src/main/java/org/apache/dolphinscheduler/plugin/task/datasync/DatasyncTask.java
index 6fba880279..37a82b173d 100644
--- a/dolphinscheduler-task-plugin/dolphinscheduler-task-datasync/src/main/java/org/apache/dolphinscheduler/plugin/task/datasync/DatasyncTask.java
+++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-datasync/src/main/java/org/apache/dolphinscheduler/plugin/task/datasync/DatasyncTask.java
@@ -17,26 +17,31 @@
 
 package org.apache.dolphinscheduler.plugin.task.datasync;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.PropertyNamingStrategies;
-import com.fasterxml.jackson.databind.json.JsonMapper;
+import static com.fasterxml.jackson.databind.DeserializationFeature.ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT;
+import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES;
+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.plugin.task.api.AbstractRemoteTask;
 import org.apache.dolphinscheduler.plugin.task.api.TaskConstants;
 import org.apache.dolphinscheduler.plugin.task.api.TaskException;
 import org.apache.dolphinscheduler.plugin.task.api.TaskExecutionContext;
 import org.apache.dolphinscheduler.spi.utils.JSONUtils;
 import org.apache.dolphinscheduler.spi.utils.StringUtils;
+
 import software.amazon.awssdk.services.datasync.model.TaskExecutionStatus;
 
 import java.util.Collections;
 import java.util.List;
 
-import static com.fasterxml.jackson.databind.DeserializationFeature.ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT;
-import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES;
-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 lombok.Setter;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.PropertyNamingStrategies;
+import com.fasterxml.jackson.databind.json.JsonMapper;
 
+@Setter
 public class DatasyncTask extends AbstractRemoteTask {
 
     private static final ObjectMapper objectMapper =
@@ -80,8 +85,8 @@ public class DatasyncTask extends AbstractRemoteTask {
             } catch (JsonProcessingException e) {
                 throw new RuntimeException(e);
             }
-            //parameters = JSONUtils.parseObject(parameters.getJson(), DatasyncParameters.class);
-                logger.info("Datasync convert task params {}", parameters);
+            // parameters = JSONUtils.parseObject(parameters.getJson(), DatasyncParameters.class);
+            logger.info("Datasync convert task params {}", parameters);
         }
     }
 
@@ -90,18 +95,18 @@ public class DatasyncTask extends AbstractRemoteTask {
         try {
             int exitStatusCode = checkCreateTask();
             if (exitStatusCode == TaskConstants.EXIT_CODE_FAILURE) {
-                //if create task failure go end
+                // if create task failure go end
                 setExitStatusCode(exitStatusCode);
                 return;
             }
-            //start task
+            // start task
             exitStatusCode = startDatasyncTask();
             setExitStatusCode(exitStatusCode);
         } catch (Exception e) {
             setExitStatusCode(TaskConstants.EXIT_CODE_FAILURE);
             throw new TaskException("datasync task error", e);
         }
-        //set taskExecArn to the appIds if start success
+        // set taskExecArn to the appIds if start success
         setAppIds(hook.getTaskExecArn());
     }
 
@@ -159,4 +164,4 @@ public class DatasyncTask extends AbstractRemoteTask {
         return parameters;
     }
 
-}
\ No newline at end of file
+}
diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-datasync/src/test/java/org/apache/dolphinscheduler/plugin/task/datasync/DatasyncTaskTest.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-datasync/src/test/java/org/apache/dolphinscheduler/plugin/task/datasync/DatasyncTaskTest.java
index 7b66abd969..0a7ca878a1 100644
--- a/dolphinscheduler-task-plugin/dolphinscheduler-task-datasync/src/test/java/org/apache/dolphinscheduler/plugin/task/datasync/DatasyncTaskTest.java
+++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-datasync/src/test/java/org/apache/dolphinscheduler/plugin/task/datasync/DatasyncTaskTest.java
@@ -17,30 +17,15 @@
 
 package org.apache.dolphinscheduler.plugin.task.datasync;
 
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mockStatic;
-import static org.powermock.api.mockito.PowerMockito.doReturn;
-import static org.powermock.api.mockito.PowerMockito.mock;
-import static org.powermock.api.mockito.PowerMockito.spy;
-import static org.powermock.api.mockito.PowerMockito.when;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
 
 import org.apache.dolphinscheduler.plugin.task.api.TaskExecutionContext;
 import org.apache.dolphinscheduler.spi.utils.JSONUtils;
-import org.apache.dolphinscheduler.spi.utils.PropertyUtils;
-
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockedStatic;
-import org.mockito.Mockito;
-
-import static org.mockito.Mockito.any;
-
-import org.powermock.api.support.membermodification.MemberModifier;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
 
 import software.amazon.awssdk.http.SdkHttpResponse;
 import software.amazon.awssdk.services.datasync.DataSyncClient;
@@ -53,18 +38,23 @@ import software.amazon.awssdk.services.datasync.model.StartTaskExecutionResponse
 import software.amazon.awssdk.services.datasync.model.TaskExecutionStatus;
 import software.amazon.awssdk.services.datasync.model.TaskStatus;
 
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({
-        JSONUtils.class,
-        PropertyUtils.class,
-        DatasyncHook.class
-})
-@PowerMockIgnore({"javax.*"})
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockedStatic;
+import org.mockito.Mockito;
+import org.mockito.junit.MockitoJUnitRunner;
+
+@RunWith(MockitoJUnitRunner.class)
 public class DatasyncTaskTest {
 
-    private static final String mockExeArn = "arn:aws:datasync:ap-northeast-3:523202806641:task/task-017642db08fdf6a55/execution/exec-0ac3607778dfc31f5";
+    private static final String mockExeArn =
+            "arn:aws:datasync:ap-northeast-3:523202806641:task/task-017642db08fdf6a55/execution/exec-0ac3607778dfc31f5";
 
-    private static final String mockTaskArn = "arn:aws:datasync:ap-northeast-3:523202806641:task/task-071ca64ff4c2f0d4a";
+    private static final String mockTaskArn =
+            "arn:aws:datasync:ap-northeast-3:523202806641:task/task-071ca64ff4c2f0d4a";
 
     DatasyncHook datasyncHook;
 
@@ -81,14 +71,16 @@ public class DatasyncTaskTest {
 
         DatasyncParameters DatasyncParameters = new DatasyncParameters();
         datasyncTask = initTask(DatasyncParameters);
-        MemberModifier.field(DatasyncTask.class, "hook").set(datasyncTask, datasyncHook);
+        datasyncTask.setHook(datasyncHook);
     }
 
     @Test
     public void testCreateTaskJson() {
         String jsonData = "{\n" +
-                "   \"CloudWatchLogGroupArn\": \"arn:aws:logs:ap-northeast-3:523202806641:log-group:/aws/datasync:*\",\n" +
-                "   \"DestinationLocationArn\": \"arn:aws:datasync:ap-northeast-3:523202806641:location/loc-01cf61e102e58e365\",\n" +
+                "   \"CloudWatchLogGroupArn\": \"arn:aws:logs:ap-northeast-3:523202806641:log-group:/aws/datasync:*\",\n"
+                +
+                "   \"DestinationLocationArn\": \"arn:aws:datasync:ap-northeast-3:523202806641:location/loc-01cf61e102e58e365\",\n"
+                +
                 "   \"Excludes\": [ \n" +
                 "      { \n" +
                 "         \"FilterType\": \"exType1\",\n" +
@@ -122,7 +114,8 @@ public class DatasyncTaskTest {
                 "   \"Schedule\": { \n" +
                 "      \"ScheduleExpression\": \"* * * * * ?\"\n" +
                 "   },\n" +
-                "   \"SourceLocationArn\": \"arn:aws:datasync:ap-northeast-3:523202806641:location/loc-04ceafb4aaf7a1a0d\",\n" +
+                "   \"SourceLocationArn\": \"arn:aws:datasync:ap-northeast-3:523202806641:location/loc-04ceafb4aaf7a1a0d\",\n"
+                +
                 "   \"Tags\": [ \n" +
                 "      { \n" +
                 "         \"Key\": \"tagKey1\",\n" +
@@ -136,10 +129,13 @@ public class DatasyncTaskTest {
 
         DatasyncTask DatasyncTask = initTask(DatasyncParameters);
         DatasyncParameters datasyncParameters = DatasyncTask.getParameters();
-        Assert.assertEquals("arn:aws:logs:ap-northeast-3:523202806641:log-group:/aws/datasync:*", datasyncParameters.getCloudWatchLogGroupArn());
+        Assert.assertEquals("arn:aws:logs:ap-northeast-3:523202806641:log-group:/aws/datasync:*",
+                datasyncParameters.getCloudWatchLogGroupArn());
         Assert.assertEquals("task001", datasyncParameters.getName());
-        Assert.assertEquals("arn:aws:datasync:ap-northeast-3:523202806641:location/loc-04ceafb4aaf7a1a0d", datasyncParameters.getSourceLocationArn());
-        Assert.assertEquals("arn:aws:datasync:ap-northeast-3:523202806641:location/loc-01cf61e102e58e365", datasyncParameters.getDestinationLocationArn());
+        Assert.assertEquals("arn:aws:datasync:ap-northeast-3:523202806641:location/loc-04ceafb4aaf7a1a0d",
+                datasyncParameters.getSourceLocationArn());
+        Assert.assertEquals("arn:aws:datasync:ap-northeast-3:523202806641:location/loc-01cf61e102e58e365",
+                datasyncParameters.getDestinationLocationArn());
         Assert.assertEquals("inType1", datasyncParameters.getIncludes().get(0).getFilterType());
         Assert.assertEquals("inValue1", datasyncParameters.getIncludes().get(0).getValue());
         Assert.assertEquals("exType1", datasyncParameters.getExcludes().get(0).getFilterType());
@@ -228,7 +224,6 @@ public class DatasyncTaskTest {
         String parameters = JSONUtils.toJsonString(DatasyncParameters);
         TaskExecutionContext taskExecutionContext = Mockito.mock(TaskExecutionContext.class);
         Mockito.when(taskExecutionContext.getTaskParams()).thenReturn(parameters);
-        Mockito.when(taskExecutionContext.getExecutePath()).thenReturn("/tmp/dolphinscheduler_datasync_%s");
         return taskExecutionContext;
     }
-}
\ No newline at end of file
+}