Skip to content

Commit 38552c8

Browse files
authored
Use the validate method for Snowflake (#943)
1 parent 44175b7 commit 38552c8

File tree

4 files changed

+25
-13
lines changed

4 files changed

+25
-13
lines changed

dumper/app/src/main/java/com/google/edwmigration/dumper/application/dumper/connector/snowflake/AbstractSnowflakeConnector.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ public AbstractSnowflakeConnector(@Nonnull String name) {
8484
@Override
8585
public Handle open(@Nonnull ConnectorArguments arguments)
8686
throws MetadataDumperUsageException, SQLException {
87-
validateArguments(arguments);
8887
String url = arguments.getUri() != null ? arguments.getUri() : getUrlFromArguments(arguments);
8988
String databaseName =
9089
arguments.getDatabases().isEmpty()
@@ -101,8 +100,10 @@ public Handle open(@Nonnull ConnectorArguments arguments)
101100
return jdbcHandle;
102101
}
103102

104-
private void validateArguments(@Nonnull ConnectorArguments arguments)
105-
throws MetadataDumperUsageException {
103+
@Override
104+
public void validate(ConnectorArguments arguments) {
105+
super.validate(arguments);
106+
106107
ArrayList<String> messages = new ArrayList<>();
107108
MetadataDumperUsageException exception = null;
108109

dumper/app/src/main/java/com/google/edwmigration/dumper/application/dumper/connector/snowflake/SnowflakeLiteConnector.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import java.sql.SQLException;
2929
import java.time.Clock;
3030
import java.util.List;
31+
import java.util.Objects;
3132
import javax.annotation.Nonnull;
3233
import javax.annotation.Nullable;
3334
import javax.annotation.ParametersAreNonnullByDefault;
@@ -49,9 +50,6 @@ public SnowflakeLiteConnector() {
4950
@Nonnull
5051
public Handle open(ConnectorArguments arguments)
5152
throws MetadataDumperUsageException, SQLException {
52-
if (!arguments.isAssessment()) {
53-
throw noAssessmentException();
54-
}
5553
return super.open(arguments);
5654
}
5755

@@ -74,6 +72,16 @@ public final void addTasksTo(List<? super Task<?>> out, ConnectorArguments argum
7472
out.addAll(planner.generateLiteSpecificQueries());
7573
}
7674

75+
@Override
76+
public final void validate(@Nullable ConnectorArguments arguments) {
77+
super.validate(arguments);
78+
79+
Objects.requireNonNull(arguments);
80+
if (!arguments.isAssessment()) {
81+
throw noAssessmentException();
82+
}
83+
}
84+
7785
private static MetadataDumperUsageException noAssessmentException() {
7886
String message =
7987
String.format(

dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/snowflake/AbstractSnowflakeConnectorTest.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public void openConnection_failsForVeryLongInput() throws IOException {
5858
}
5959

6060
@Test
61-
public void openConnection_failsForMalformedInput() throws IOException {
61+
public void open_malformedInput_fail() throws IOException {
6262
ConnectorArguments arguments =
6363
makeArguments(
6464
"--connector",
@@ -75,13 +75,14 @@ public void openConnection_failsForMalformedInput() throws IOException {
7575
}
7676

7777
@Test
78-
public void openConnection_failsForMixedPrivateKeyAndPassword() throws IOException {
78+
public void validate_mixedPrivateKeyAndPassword_fail() throws IOException {
7979
ConnectorArguments arguments =
8080
makeArguments(
8181
"--connector", metadataConnector.getName(), "--private-key-file", "/path/to/file.r8");
8282

8383
MetadataDumperUsageException e =
84-
assertThrows(MetadataDumperUsageException.class, () -> metadataConnector.open(arguments));
84+
assertThrows(
85+
MetadataDumperUsageException.class, () -> metadataConnector.validate(arguments));
8586

8687
assertTrue(
8788
e.getMessage(),
@@ -91,12 +92,14 @@ public void openConnection_failsForMixedPrivateKeyAndPassword() throws IOExcepti
9192
}
9293

9394
@Test
94-
public void open_assessmentEnabledWithDatabaseFilter_throwsUsageException() throws IOException {
95+
public void validate_assessmentEnabledWithDatabaseFilter_throwsUsageException()
96+
throws IOException {
9597
ConnectorArguments arguments =
9698
makeArguments("--connector", "snowflake", "--database", "SNOWFLAKE", "--assessment");
9799

98100
MetadataDumperUsageException e =
99-
assertThrows(MetadataDumperUsageException.class, () -> metadataConnector.open(arguments));
101+
assertThrows(
102+
MetadataDumperUsageException.class, () -> metadataConnector.validate(arguments));
100103

101104
assertTrue(
102105
e.getMessage(),

dumper/app/src/test/java/com/google/edwmigration/dumper/application/dumper/connector/snowflake/SnowflakeLiteConnectorTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@
2828
public class SnowflakeLiteConnectorTest {
2929

3030
@Test
31-
public void open_noAssessmentFlag_throwsUsageException() throws Exception {
31+
public void validate_noAssessmentFlag_throwsUsageException() throws Exception {
3232
ConnectorArguments noFlagArguments = new ConnectorArguments("--connector", "snowflake-lite");
3333
SnowflakeLiteConnector connector = new SnowflakeLiteConnector();
3434

35-
assertThrows(MetadataDumperUsageException.class, () -> connector.open(noFlagArguments));
35+
assertThrows(MetadataDumperUsageException.class, () -> connector.validate(noFlagArguments));
3636
}
3737
}

0 commit comments

Comments
 (0)