Skip to content

Commit 39bda42

Browse files
authored
Remove DummyTaskRunContextFactory (#1052)
* Remove DummyTaskRunContextFactory * Add helper context method to fix test
1 parent d5b42eb commit 39bda42

File tree

6 files changed

+48
-100
lines changed

6 files changed

+48
-100
lines changed

dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/teradata/TeradataLogsConnectorTest.java

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,26 +18,29 @@
1818

1919
import static com.google.common.collect.ImmutableList.toImmutableList;
2020
import static com.google.common.collect.Iterables.getOnlyElement;
21+
import static com.google.edwmigration.dumper.application.dumper.connector.teradata.AbstractTeradataConnector.DEF_LOG_TABLE;
22+
import static com.google.edwmigration.dumper.application.dumper.connector.teradata.AbstractTeradataConnector.DEF_SQL_TABLE;
2123
import static com.google.edwmigration.dumper.application.dumper.test.DumperTestUtils.assertQueryEquals;
24+
import static java.nio.file.FileSystems.newFileSystem;
2225
import static java.time.ZoneOffset.UTC;
2326
import static org.junit.Assert.assertEquals;
2427
import static org.junit.Assert.assertTrue;
28+
import static org.mockito.Mockito.mock;
2529

2630
import com.google.common.collect.ImmutableList;
2731
import com.google.common.collect.ImmutableMap;
2832
import com.google.edwmigration.dumper.application.dumper.ConnectorArguments;
2933
import com.google.edwmigration.dumper.application.dumper.connector.AbstractConnectorExecutionTest;
34+
import com.google.edwmigration.dumper.application.dumper.handle.Handle;
3035
import com.google.edwmigration.dumper.application.dumper.handle.JdbcHandle;
3136
import com.google.edwmigration.dumper.application.dumper.io.FileSystemOutputHandleFactory;
3237
import com.google.edwmigration.dumper.application.dumper.io.OutputHandleFactory;
3338
import com.google.edwmigration.dumper.application.dumper.task.*;
34-
import com.google.edwmigration.dumper.application.dumper.test.DummyTaskRunContextFactory;
3539
import com.google.edwmigration.dumper.application.dumper.test.DumperTestUtils;
3640
import com.google.edwmigration.dumper.plugin.lib.dumper.spi.TeradataLogsDumpFormat;
3741
import java.io.File;
3842
import java.net.URI;
3943
import java.nio.file.FileSystem;
40-
import java.nio.file.FileSystems;
4144
import java.time.Clock;
4245
import java.time.Instant;
4346
import java.util.ArrayList;
@@ -53,6 +56,8 @@
5356
@RunWith(JUnit4.class)
5457
public class TeradataLogsConnectorTest extends AbstractConnectorExecutionTest {
5558

59+
final TaskRunContextOps mockOptions = mock(TaskRunContextOps.class);
60+
5661
private final TeradataLogsConnector connector = new TeradataLogsConnector();
5762

5863
@Test
@@ -223,34 +228,27 @@ public void addTasksTo_commonConnectorTest_success() throws Exception {
223228

224229
@Test
225230
public void addTasksTo_executeQuery_success() throws Exception {
226-
String name = getClass().getSimpleName();
227-
File dbFile = DumperTestUtils.newJdbcFile(name);
228-
File zipFile = DumperTestUtils.newZipFile(name);
231+
File dbFile = DumperTestUtils.newJdbcFile(getClass().getSimpleName());
232+
File zipFile = DumperTestUtils.newZipFile(getClass().getSimpleName());
229233

230234
dbFile.delete();
231235
zipFile.delete();
232236

233237
URI outputUri = URI.create("jar:" + zipFile.toURI());
234-
238+
ImmutableList<String> scripts =
239+
ImmutableList.of(
240+
"attach ':memory:' as dbc",
241+
String.format(
242+
"create table %s (UserName varchar, errorcode int, StartTime int)", DEF_LOG_TABLE),
243+
String.format("create table %s (QueryID int)", DEF_SQL_TABLE));
235244
// This isn't great because all the column-validity queries fail.
236245
try (JdbcHandle handle = DumperTestUtils.newJdbcHandle(dbFile);
237-
FileSystem fileSystem =
238-
FileSystems.newFileSystem(outputUri, ImmutableMap.of("create", "true"))) {
239-
OutputHandleFactory sinkFactory = new FileSystemOutputHandleFactory(fileSystem, "/");
240-
handle.getJdbcTemplate().execute("attach ':memory:' as dbc");
241-
handle
242-
.getJdbcTemplate()
243-
.execute(
244-
"create table "
245-
+ TeradataLogsConnector.DEF_LOG_TABLE
246-
+ " (UserName varchar, errorcode int, StartTime int)");
247-
handle
248-
.getJdbcTemplate()
249-
.execute("create table " + TeradataLogsConnector.DEF_SQL_TABLE + " (QueryID int)");
250-
246+
FileSystem fileSystem = newFileSystem(outputUri, ImmutableMap.of("create", "true"))) {
247+
scripts.forEach(handle.getJdbcTemplate()::execute);
251248
ConnectorArguments arguments =
252-
new ConnectorArguments("--connector", connector.getName(), "--query-log-days", "1");
253-
TaskRunContext runContext = DummyTaskRunContextFactory.create(sinkFactory, handle, arguments);
249+
ConnectorArguments.create(
250+
ImmutableList.of("--connector", "teradata-logs", "--query-log-days", "1"));
251+
TaskRunContext runContext = testContext(fileSystem, handle, mockOptions, arguments);
254252
List<Task<?>> tasks = new ArrayList<>();
255253
connector.addTasksTo(tasks, arguments);
256254
for (Task<?> task : tasks) {
@@ -452,4 +450,13 @@ public void values_success() {
452450
Teradata14LogsConnector.EXPRESSIONS_LOG_TBL.toArray(
453451
new String[Teradata14LogsConnector.EXPRESSIONS_LOG_TBL.size()]));
454452
}
453+
454+
static TaskRunContext testContext(
455+
FileSystem fileSystem,
456+
Handle handle,
457+
TaskRunContextOps options,
458+
ConnectorArguments arguments) {
459+
OutputHandleFactory sinkFactory = new FileSystemOutputHandleFactory(fileSystem, "/");
460+
return new TaskRunContext(sinkFactory, handle, 10, options, arguments);
461+
}
455462
}

dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/DumpMetadataTaskTest.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
package com.google.edwmigration.dumper.application.dumper.task;
1818

1919
import static org.junit.Assert.assertEquals;
20+
import static org.mockito.Mockito.mock;
2021

2122
import com.google.edwmigration.dumper.application.dumper.ConnectorArguments;
22-
import com.google.edwmigration.dumper.application.dumper.test.DummyTaskRunContextFactory;
2323
import java.io.IOException;
2424
import org.junit.Test;
2525
import org.junit.runner.RunWith;
@@ -29,12 +29,13 @@
2929
@RunWith(JUnit4.class)
3030
public class DumpMetadataTaskTest extends AbstractTaskTest {
3131

32+
final TaskRunContext mockContext = mock(TaskRunContext.class);
33+
3234
@Test
3335
public void testTask() throws Exception {
3436
MemoryByteSink sink = new MemoryByteSink();
3537
ConnectorArguments arguments = new ConnectorArguments("--connector", "bigquery-logs");
36-
new DumpMetadataTask(arguments, "test-format")
37-
.doRun(DummyTaskRunContextFactory.create(HANDLE), sink, HANDLE);
38+
new DumpMetadataTask(arguments, "test-format").doRun(mockContext, sink, HANDLE);
3839
}
3940

4041
@Test

dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/FormatTaskTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
package com.google.edwmigration.dumper.application.dumper.task;
1818

1919
import static org.junit.Assert.assertEquals;
20+
import static org.mockito.Mockito.mock;
2021

21-
import com.google.edwmigration.dumper.application.dumper.test.DummyTaskRunContextFactory;
2222
import org.junit.Test;
2323
import org.junit.runner.RunWith;
2424
import org.junit.runners.JUnit4;
@@ -27,10 +27,12 @@
2727
@RunWith(JUnit4.class)
2828
public class FormatTaskTest extends AbstractTaskTest {
2929

30+
final TaskRunContext mockContext = mock(TaskRunContext.class);
31+
3032
@Test
3133
public void testTask() throws Exception {
3234
MemoryByteSink sink = new MemoryByteSink();
33-
new FormatTask("test-format").doRun(DummyTaskRunContextFactory.create(HANDLE), sink, HANDLE);
35+
new FormatTask("test-format").doRun(mockContext, sink, HANDLE);
3436
}
3537

3638
@Test

dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/JdbcSelectTaskTest.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818

1919
import static org.junit.Assert.assertEquals;
2020
import static org.junit.Assert.assertNotNull;
21+
import static org.mockito.Mockito.mock;
2122

2223
import com.google.edwmigration.dumper.application.dumper.handle.JdbcHandle;
2324
import com.google.edwmigration.dumper.application.dumper.io.OutputHandle.WriteMode;
2425
import com.google.edwmigration.dumper.application.dumper.task.AbstractTask.TaskOptions;
25-
import com.google.edwmigration.dumper.application.dumper.test.DummyTaskRunContextFactory;
2626
import com.google.edwmigration.dumper.application.dumper.test.DumperTestUtils;
2727
import java.io.File;
2828
import java.sql.ResultSet;
@@ -40,7 +40,6 @@
4040
@RunWith(JUnit4.class)
4141
public class JdbcSelectTaskTest extends AbstractTaskTest {
4242

43-
@SuppressWarnings("UnusedVariable")
4443
private static final Logger logger = LoggerFactory.getLogger(JdbcSelectTaskTest.class);
4544

4645
private static final String NAME = JdbcSelectTaskTest.class.getSimpleName();
@@ -53,6 +52,8 @@ private enum Header {
5352
Baz
5453
}
5554

55+
final TaskRunContext mockContext = mock(TaskRunContext.class);
56+
5657
@BeforeClass
5758
public static void setUpClass() throws Exception {
5859
Class.forName("org.sqlite.JDBC");
@@ -68,8 +69,7 @@ public static void setUpClass() throws Exception {
6869
public void testResultSetHeader() throws Exception {
6970
MemoryByteSink sink = new MemoryByteSink();
7071
try (JdbcHandle handle = DumperTestUtils.newJdbcHandle(FILE)) {
71-
new JdbcSelectTask("(memory)", QUERY)
72-
.doRun(DummyTaskRunContextFactory.create(handle), sink, handle);
72+
new JdbcSelectTask("(memory)", QUERY).doRun(mockContext, sink, handle);
7373
}
7474
String actualOutput = sink.openStream().toString();
7575
assertEquals("a,b,c\n1,2,3\n", actualOutput);
@@ -81,7 +81,7 @@ public void testClassHeader() throws Exception {
8181
try (JdbcHandle handle = DumperTestUtils.newJdbcHandle(FILE)) {
8282
new JdbcSelectTask("(memory)", QUERY)
8383
.withHeaderClass(Header.class)
84-
.doRun(DummyTaskRunContextFactory.create(handle), sink, handle);
84+
.doRun(mockContext, sink, handle);
8585
}
8686
String actualOutput = sink.openStream().toString();
8787
assertEquals("Foo,Bar,Baz\n1,2,3\n", actualOutput);
@@ -102,7 +102,7 @@ protected CSVFormat newCsvFormat(ResultSet rs) throws SQLException {
102102
return format;
103103
}
104104
}.withHeaderClass(Header.class);
105-
task.doRun(DummyTaskRunContextFactory.create(handle), sink, handle);
105+
task.doRun(mockContext, sink, handle);
106106
}
107107
String actualOutput = sink.openStream().toString();
108108
assertEquals("Foo,Bar,Baz\n,14,3\n", actualOutput);
@@ -130,7 +130,6 @@ public void append_success() throws Exception {
130130
String secondSql = "select null, 15, b FROM foo";
131131

132132
MemoryByteSink sink = new MemoryByteSink();
133-
final MutableObject<CSVFormat> formatHolder = new MutableObject<>();
134133
try (JdbcHandle handle = DumperTestUtils.newJdbcHandle(FILE)) {
135134
AbstractTask<Summary> first =
136135
new JdbcSelectTask("(memory)", firstSql).withHeaderClass(Header.class);
@@ -141,8 +140,8 @@ public void append_success() throws Exception {
141140
TaskCategory.REQUIRED,
142141
TaskOptions.DEFAULT.withWriteMode(WriteMode.APPEND_EXISTING))
143142
.withHeaderClass(Header.class);
144-
first.doRun(DummyTaskRunContextFactory.create(handle), sink, handle);
145-
second.doRun(DummyTaskRunContextFactory.create(handle), sink, handle);
143+
first.doRun(mockContext, sink, handle);
144+
second.doRun(mockContext, sink, handle);
146145
}
147146
String actualOutput = sink.openStream().toString();
148147
assertEquals("Foo,Bar,Baz\n,14,3\n,15,2\n", actualOutput);

dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/task/VersionTaskTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
package com.google.edwmigration.dumper.application.dumper.task;
1818

1919
import static org.junit.Assert.assertEquals;
20+
import static org.mockito.Mockito.mock;
2021

21-
import com.google.edwmigration.dumper.application.dumper.test.DummyTaskRunContextFactory;
2222
import org.junit.Test;
2323
import org.junit.runner.RunWith;
2424
import org.junit.runners.JUnit4;
@@ -30,7 +30,8 @@ public class VersionTaskTest extends AbstractTaskTest {
3030
@Test
3131
public void testTask() throws Exception {
3232
MemoryByteSink sink = new MemoryByteSink();
33-
new VersionTask().doRun(DummyTaskRunContextFactory.create(HANDLE), sink, HANDLE);
33+
TaskRunContext mockContext = mock(TaskRunContext.class);
34+
new VersionTask().doRun(mockContext, sink, HANDLE);
3435
}
3536

3637
@Test

dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/test/DummyTaskRunContextFactory.java

Lines changed: 0 additions & 62 deletions
This file was deleted.

0 commit comments

Comments
 (0)