diff --git a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/hadoop/oozie/OozieWorkflowJobsTaskTest.java b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/hadoop/oozie/OozieWorkflowJobsTaskTest.java index b9ceb38e0..853f7304b 100644 --- a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/hadoop/oozie/OozieWorkflowJobsTaskTest.java +++ b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/hadoop/oozie/OozieWorkflowJobsTaskTest.java @@ -39,8 +39,9 @@ import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder; import com.github.tomakehurst.wiremock.core.WireMockConfiguration; import com.github.tomakehurst.wiremock.extension.responsetemplating.ResponseTemplateTransformer; +import com.google.common.io.ByteSink; import com.google.edwmigration.dumper.application.dumper.ConnectorArguments; -import com.google.edwmigration.dumper.application.dumper.task.AbstractTaskTest.MemoryByteSink; +import com.google.edwmigration.dumper.application.dumper.task.MemoryByteSink; import com.google.edwmigration.dumper.application.dumper.task.TaskRunContext; import java.io.IOException; import java.net.URISyntaxException; @@ -53,6 +54,7 @@ import java.time.format.DateTimeFormatter; import java.util.Arrays; import java.util.Date; +import javax.annotation.Nonnull; import org.apache.oozie.client.AuthOozieClient; import org.apache.oozie.client.WorkflowJob; import org.apache.oozie.client.XOozieClient; @@ -128,7 +130,7 @@ public void doRun_requestBatchesUntilFullDateRangeFetched_ok() throws Exception task.doRun(context, sink, new OozieHandle(oozieClient)); // Assert - String actual = sink.getContent(); + String actual = getContent(sink); String expected = readFileAsString("/oozie/expected-jobs-all-in-range-byenddate.csv"); assertEquals(expected, actual); } @@ -188,7 +190,7 @@ public void doRun_requestBatchesFilterOnClient_ok() throws Exception { task.doRun(context, sink, new OozieHandle(oozieClient)); // Assert - String actual = sink.getContent(); + String actual = getContent(sink); String expected = readFileAsString("/oozie/expected-jobs-filtered-by-range-sorted-byenddate.csv"); assertEquals(expected, actual); @@ -237,7 +239,7 @@ public void doRun_requestBatchesFilterOnClient_nullDate_success() throws Excepti task.doRun(context, sink, new OozieHandle(oozieClient)); // Assert - String actual = sink.getContent(); + String actual = getContent(sink); String expected = readFileAsString("/oozie/expected-jobs-one-job-from-template.csv"); assertEquals(expected, actual); } @@ -329,7 +331,7 @@ private void testWithBatchSize(int batchSize) throws Exception { task.doRun(context, sink, new OozieHandle(oozieClient)); // Assert - String actual = sink.getContent(); + String actual = getContent(sink); String expected = readFileAsString("/oozie/expected-jobs.csv"); assertEquals(expected, actual); } @@ -440,6 +442,10 @@ private String readFileAsString(String fileName) throws IOException, URISyntaxEx return new String(Files.readAllBytes(Paths.get(this.getClass().getResource(fileName).toURI()))); } + private static String getContent(@Nonnull ByteSink sink) throws IOException { + return sink.openStream().toString(); + } + private static String toISO(ZonedDateTime dateTime) { return ISO8601_UTC_FORMAT.format(dateTime.toInstant()); } diff --git a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/ranger/AbstractRangerTaskTest.java b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/ranger/AbstractRangerTaskTest.java index 3a9c9bc72..db8cba085 100644 --- a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/ranger/AbstractRangerTaskTest.java +++ b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/ranger/AbstractRangerTaskTest.java @@ -22,7 +22,7 @@ import com.google.edwmigration.dumper.application.dumper.connector.ranger.RangerClient.ConnectionWrapper; import com.google.edwmigration.dumper.application.dumper.connector.ranger.RangerConnector.RangerClientHandle; -import com.google.edwmigration.dumper.application.dumper.task.AbstractTaskTest; +import com.google.edwmigration.dumper.application.dumper.task.MemoryByteSink; import java.io.IOException; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -30,7 +30,7 @@ import org.mockito.Mockito; @RunWith(JUnit4.class) -public abstract class AbstractRangerTaskTest extends AbstractTaskTest { +public abstract class AbstractRangerTaskTest { @Mock protected ConnectionWrapper httpClient = mock(ConnectionWrapper.class); diff --git a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/redshift/RedshiftClusterNodesTaskTest.java b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/redshift/RedshiftClusterNodesTaskTest.java index 970a8e9cb..3f360fe8d 100644 --- a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/redshift/RedshiftClusterNodesTaskTest.java +++ b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/redshift/RedshiftClusterNodesTaskTest.java @@ -26,7 +26,7 @@ import com.amazonaws.services.redshift.model.Endpoint; import com.google.common.collect.ImmutableList; import com.google.edwmigration.dumper.application.dumper.handle.RedshiftHandle; -import com.google.edwmigration.dumper.application.dumper.task.AbstractTaskTest; +import com.google.edwmigration.dumper.application.dumper.task.MemoryByteSink; import java.util.Optional; import org.junit.Rule; import org.junit.Test; @@ -37,7 +37,7 @@ import org.mockito.junit.MockitoRule; @RunWith(JUnit4.class) -public class RedshiftClusterNodesTaskTest extends AbstractTaskTest { +public class RedshiftClusterNodesTaskTest { @Rule public MockitoRule mockitoRule = MockitoJUnit.rule(); diff --git a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/redshift/RedshiftClusterUsageMetricsTaskTest.java b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/redshift/RedshiftClusterUsageMetricsTaskTest.java index 05eb0b392..fe686835d 100644 --- a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/redshift/RedshiftClusterUsageMetricsTaskTest.java +++ b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/redshift/RedshiftClusterUsageMetricsTaskTest.java @@ -34,7 +34,7 @@ import com.google.edwmigration.dumper.application.dumper.connector.redshift.RedshiftClusterUsageMetricsTask.MetricName; import com.google.edwmigration.dumper.application.dumper.connector.redshift.RedshiftClusterUsageMetricsTask.MetricType; import com.google.edwmigration.dumper.application.dumper.handle.RedshiftHandle; -import com.google.edwmigration.dumper.application.dumper.task.AbstractTaskTest; +import com.google.edwmigration.dumper.application.dumper.task.MemoryByteSink; import com.google.edwmigration.dumper.plugin.lib.dumper.spi.RedshiftRawLogsDumpFormat; import java.time.ZoneId; import java.time.ZonedDateTime; @@ -49,7 +49,7 @@ import org.mockito.junit.MockitoRule; @RunWith(JUnit4.class) -public class RedshiftClusterUsageMetricsTaskTest extends AbstractTaskTest { +public class RedshiftClusterUsageMetricsTaskTest { @Rule public MockitoRule mockitoRule = MockitoJUnit.rule(); diff --git a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/AbstractTaskTest.java b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/AbstractTaskTest.java index c56923a51..653a66f7c 100644 --- a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/AbstractTaskTest.java +++ b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/AbstractTaskTest.java @@ -16,28 +16,9 @@ */ package com.google.edwmigration.dumper.application.dumper.task; -import com.google.common.io.ByteSink; -import com.google.edwmigration.dumper.application.dumper.handle.Handle; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.OutputStream; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; /** @author shevek */ -public abstract class AbstractTaskTest { - - static final Handle HANDLE = () -> {}; - - public static class MemoryByteSink extends ByteSink { - - private final ByteArrayOutputStream out = new ByteArrayOutputStream(); - - @Override - public OutputStream openStream() throws IOException { - return out; - } - - public String getContent() { - return out.toString(); - } - } -} +@RunWith(JUnit4.class) +public abstract class AbstractTaskTest {} diff --git a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/DumpMetadataTaskTest.java b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/DumpMetadataTaskTest.java index 5beeaaede..a34474991 100644 --- a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/DumpMetadataTaskTest.java +++ b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/DumpMetadataTaskTest.java @@ -27,7 +27,7 @@ /** @author shevek */ @RunWith(JUnit4.class) -public class DumpMetadataTaskTest extends AbstractTaskTest { +public class DumpMetadataTaskTest { final TaskRunContext mockContext = mock(TaskRunContext.class); @@ -35,7 +35,7 @@ public class DumpMetadataTaskTest extends AbstractTaskTest { public void testTask() throws Exception { MemoryByteSink sink = new MemoryByteSink(); ConnectorArguments arguments = new ConnectorArguments("--connector", "bigquery-logs"); - new DumpMetadataTask(arguments, "test-format").doRun(mockContext, sink, HANDLE); + new DumpMetadataTask(arguments, "test-format").doRun(mockContext, sink, () -> {}); } @Test diff --git a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/FormatTaskTest.java b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/FormatTaskTest.java index 67d70a17f..cd8ba16d5 100644 --- a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/FormatTaskTest.java +++ b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/FormatTaskTest.java @@ -25,14 +25,14 @@ /** @author shevek */ @RunWith(JUnit4.class) -public class FormatTaskTest extends AbstractTaskTest { +public class FormatTaskTest { final TaskRunContext mockContext = mock(TaskRunContext.class); @Test public void testTask() throws Exception { MemoryByteSink sink = new MemoryByteSink(); - new FormatTask("test-format").doRun(mockContext, sink, HANDLE); + new FormatTask("test-format").doRun(mockContext, sink, () -> {}); } @Test diff --git a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/JdbcSelectTaskTest.java b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/JdbcSelectTaskTest.java index e0e48646c..91e12d099 100644 --- a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/JdbcSelectTaskTest.java +++ b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/JdbcSelectTaskTest.java @@ -38,7 +38,7 @@ /** @author matt */ @RunWith(JUnit4.class) -public class JdbcSelectTaskTest extends AbstractTaskTest { +public class JdbcSelectTaskTest { private static final Logger logger = LoggerFactory.getLogger(JdbcSelectTaskTest.class); diff --git a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/MemoryByteSink.java b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/MemoryByteSink.java new file mode 100644 index 000000000..8680d6549 --- /dev/null +++ b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/MemoryByteSink.java @@ -0,0 +1,31 @@ +/* + * Copyright 2022-2025 Google LLC + * Copyright 2013-2021 CompilerWorks + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.google.edwmigration.dumper.application.dumper.task; + +import com.google.common.io.ByteSink; +import java.io.ByteArrayOutputStream; +import java.io.OutputStream; + +public final class MemoryByteSink extends ByteSink { + + private final ByteArrayOutputStream out = new ByteArrayOutputStream(); + + @Override + public OutputStream openStream() { + return out; + } +} diff --git a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/VersionTaskTest.java b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/VersionTaskTest.java index d7d1d88ea..d94b67487 100644 --- a/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/VersionTaskTest.java +++ b/dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/VersionTaskTest.java @@ -25,13 +25,13 @@ /** @author shevek */ @RunWith(JUnit4.class) -public class VersionTaskTest extends AbstractTaskTest { +public class VersionTaskTest { @Test public void testTask() throws Exception { MemoryByteSink sink = new MemoryByteSink(); TaskRunContext mockContext = mock(TaskRunContext.class); - new VersionTask().doRun(mockContext, sink, HANDLE); + new VersionTask().doRun(mockContext, sink, () -> {}); } @Test