|
@@ -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;
|
|
|
}
|
|
|
-}
|
|
|
+}
|