You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by su...@apache.org on 2023/06/01 15:59:09 UTC
[shardingsphere] branch master updated: Fix sonar issue on Replace tests with a single Parameterized one (#25999)
This is an automated email from the ASF dual-hosted git repository.
sunnianjun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 9ad9931d0b5 Fix sonar issue on Replace tests with a single Parameterized one (#25999)
9ad9931d0b5 is described below
commit 9ad9931d0b50ab4023fa451fdb8e23bd46d36051
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Thu Jun 1 23:59:02 2023 +0800
Fix sonar issue on Replace tests with a single Parameterized one (#25999)
* Fix sonar issue on Replace tests with a single Parameterized one
---
.../NewYamlMaskRuleConfigurationSwapper.java | 2 +-
...st.java => AbstractDataSourceMetaDataTest.java} | 28 ++---
.../metadata/dialect/H2DataSourceMetaDataTest.java | 30 ++---
.../dialect/MariaDBDataSourceMetaDataTest.java | 56 +++++----
.../dialect/MySQLDataSourceMetaDataTest.java | 56 +++++----
.../dialect/OpenGaussDataSourceMetaDataTest.java | 55 +++++----
.../dialect/OracleDataSourceMetaDataTest.java | 134 ++++++---------------
.../dialect/PostgreSQLDataSourceMetaDataTest.java | 55 +++++----
.../dialect/SQL92DataSourceMetaDataTest.java | 37 ++++--
.../dialect/SQLServerDataSourceMetaDataTest.java | 82 +++++--------
...taConsistencyCalculateAlgorithmChooserTest.java | 48 ++++----
.../metadata/config/mask/MaskNodeConverter.java | 2 +-
12 files changed, 273 insertions(+), 312 deletions(-)
diff --git a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/yaml/swapper/NewYamlMaskRuleConfigurationSwapper.java b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/yaml/swapper/NewYamlMaskRuleConfigurationSwapper.java
index 705e0284181..90b2638d5ff 100644
--- a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/yaml/swapper/NewYamlMaskRuleConfigurationSwapper.java
+++ b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/yaml/swapper/NewYamlMaskRuleConfigurationSwapper.java
@@ -61,7 +61,7 @@ public final class NewYamlMaskRuleConfigurationSwapper implements NewYamlRuleCon
// TODO to be completed.
return new MaskRuleConfiguration(Collections.emptyList(), Collections.emptyMap());
}
-
+
@Override
public Class<MaskRuleConfiguration> getTypeClass() {
return MaskRuleConfiguration.class;
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQL92DataSourceMetaDataTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/AbstractDataSourceMetaDataTest.java
similarity index 55%
copy from infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQL92DataSourceMetaDataTest.java
copy to infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/AbstractDataSourceMetaDataTest.java
index aef62762fbe..a53a6e0870f 100644
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQL92DataSourceMetaDataTest.java
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/AbstractDataSourceMetaDataTest.java
@@ -17,27 +17,23 @@
package org.apache.shardingsphere.infra.database.metadata.dialect;
-import org.apache.shardingsphere.infra.database.metadata.UnrecognizedDatabaseURLException;
-import org.junit.jupiter.api.Test;
+import org.apache.shardingsphere.infra.database.metadata.DataSourceMetaData;
+
+import java.util.Properties;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-class SQL92DataSourceMetaDataTest {
+abstract class AbstractDataSourceMetaDataTest {
- @Test
- void assertNewConstructorSuccess() {
- SQL92DataSourceMetaData actual = new SQL92DataSourceMetaData("jdbc:sql92_db:ds_0");
- assertThat(actual.getHostname(), is(""));
- assertThat(actual.getPort(), is(-1));
- assertThat(actual.getCatalog(), is(""));
- assertNull(actual.getSchema());
+ protected final void assertDataSourceMetaData(final String url, final String hostname, final int port, final String catalog, final String schema, final Properties queryProps) {
+ DataSourceMetaData actual = createDataSourceMetaData(url);
+ assertThat(actual.getHostname(), is(hostname));
+ assertThat(actual.getPort(), is(port));
+ assertThat(actual.getCatalog(), is(catalog));
+ assertThat(actual.getSchema(), is(schema));
+ assertThat(actual.getQueryProperties(), is(queryProps));
}
- @Test
- void assertNewConstructorFailure() {
- assertThrows(UnrecognizedDatabaseURLException.class, () -> new SQL92DataSourceMetaData("xxx:xxxx:xxxxxxxx"));
- }
+ protected abstract DataSourceMetaData createDataSourceMetaData(String url);
}
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/H2DataSourceMetaDataTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/H2DataSourceMetaDataTest.java
index 7bc156a16c0..765b1e818f9 100644
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/H2DataSourceMetaDataTest.java
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/H2DataSourceMetaDataTest.java
@@ -23,21 +23,18 @@ import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.ArgumentsProvider;
import org.junit.jupiter.params.provider.ArgumentsSource;
+import java.util.Properties;
import java.util.stream.Stream;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-class H2DataSourceMetaDataTest {
+class H2DataSourceMetaDataTest extends AbstractDataSourceMetaDataTest {
@ParameterizedTest(name = "{0}")
@ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class)
void assertNewConstructor(final String name, final String url, final String hostname, final int port, final String catalog, final String schema) {
- H2DataSourceMetaData actual = new H2DataSourceMetaData(url);
- assertThat(actual.getHostname(), is(hostname));
- assertThat(actual.getPort(), is(port));
- assertThat(actual.getCatalog(), is(catalog));
- assertThat(actual.getSchema(), is(schema));
+ assertDataSourceMetaData(url, hostname, port, catalog, schema, new Properties());
}
@ParameterizedTest(name = "{0}")
@@ -48,16 +45,21 @@ class H2DataSourceMetaDataTest {
assertThat(actual1.isInSameDatabaseInstance(actual2), is(isSame));
}
+ @Override
+ protected H2DataSourceMetaData createDataSourceMetaData(final String url) {
+ return new H2DataSourceMetaData(url);
+ }
+
private static class NewConstructorTestCaseArgumentsProvider implements ArgumentsProvider {
@Override
public Stream<? extends Arguments> provideArguments(final ExtensionContext extensionContext) {
return Stream.of(
- Arguments.of("mem", "jdbc:h2:mem:ds_0;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL", "", -1, "ds_0", null),
- Arguments.of("symbol", "jdbc:h2:~:ds-0;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL", "", -1, "ds-0", null),
- Arguments.of("tcp", "jdbc:h2:tcp://localhost:8082/~/test1/test2;DB_CLOSE_DELAY=-1", "localhost", 8082, "test2", null),
- Arguments.of("ssl", "jdbc:h2:ssl:180.76.76.76/home/test", "180.76.76.76", -1, "test", null),
- Arguments.of("file", "jdbc:h2:file:/data/sample;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false", "", -1, "sample", null));
+ Arguments.of("mem", "jdbc:h2:mem:foo_ds;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL", "", -1, "foo_ds", null),
+ Arguments.of("symbol", "jdbc:h2:~:foo-ds;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL", "", -1, "foo-ds", null),
+ Arguments.of("tcp", "jdbc:h2:tcp://localhost:8082/~/home/foo_ds;DB_CLOSE_DELAY=-1", "localhost", 8082, "foo_ds", null),
+ Arguments.of("ssl", "jdbc:h2:ssl:127.0.0.1/home/foo_ds", "127.0.0.1", -1, "foo_ds", null),
+ Arguments.of("file", "jdbc:h2:file:/data/foo_ds;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false", "", -1, "foo_ds", null));
}
}
@@ -71,9 +73,9 @@ class H2DataSourceMetaDataTest {
Arguments.of("memAndSymbol", "jdbc:h2:mem:ds_0;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL", "jdbc:h2:~:ds-1;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL", true),
Arguments.of("tcp", "jdbc:h2:tcp://localhost:8082/~/test1/test2;DB_CLOSE_DELAY=-1", "jdbc:h2:tcp://localhost:8082/~/test3/test4;DB_CLOSE_DELAY=-1", true),
Arguments.of("tcpNotSame", "jdbc:h2:tcp://localhost:8082/~/test1/test2;DB_CLOSE_DELAY=-1", "jdbc:h2:tcp://192.168.64.76:8082/~/test3/test4;DB_CLOSE_DELAY=-1", false),
- Arguments.of("ssl", "jdbc:h2:ssl:180.76.76.76/home/test-one", "jdbc:h2:ssl:180.76.76.76/home/test-two", true),
- Arguments.of("sslNotSame", "jdbc:h2:ssl:180.76.76.76/home/test-one", "jdbc:h2:ssl:181.76.76.76/home/test-two", false),
- Arguments.of("file", "jdbc:h2:file:/data/sample-one;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false", "jdbc:h2:file:/data/sample-two;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false", true));
+ Arguments.of("ssl", "jdbc:h2:ssl:127.0.0.1/home/test-one", "jdbc:h2:ssl:127.0.0.1/home/test-two", true),
+ Arguments.of("sslNotSame", "jdbc:h2:ssl:127.0.0.1/home/test-one", "jdbc:h2:ssl:127.0.0.2/home/test-two", false),
+ Arguments.of("file", "jdbc:h2:file:/data/ds-0;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false", "jdbc:h2:file:/data/ds-1;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false", true));
}
}
}
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/MariaDBDataSourceMetaDataTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/MariaDBDataSourceMetaDataTest.java
index 07faae6dd31..f201099c866 100644
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/MariaDBDataSourceMetaDataTest.java
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/MariaDBDataSourceMetaDataTest.java
@@ -18,40 +18,46 @@
package org.apache.shardingsphere.infra.database.metadata.dialect;
import org.apache.shardingsphere.infra.database.metadata.UnrecognizedDatabaseURLException;
+import org.apache.shardingsphere.test.util.PropertiesBuilder;
+import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtensionContext;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.ArgumentsProvider;
+import org.junit.jupiter.params.provider.ArgumentsSource;
+
+import java.util.Properties;
+import java.util.stream.Stream;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-class MariaDBDataSourceMetaDataTest {
+class MariaDBDataSourceMetaDataTest extends AbstractDataSourceMetaDataTest {
- @Test
- void assertNewConstructorWithSimpleJdbcUrl() {
- MariaDBDataSourceMetaData actual = new MariaDBDataSourceMetaData("jdbc:mariadb://127.0.0.1/foo_ds");
- assertThat(actual.getHostname(), is("127.0.0.1"));
- assertThat(actual.getPort(), is(3306));
- assertThat(actual.getCatalog(), is("foo_ds"));
- assertNull(actual.getSchema());
- assertTrue(actual.getQueryProperties().isEmpty());
- }
-
- @Test
- void assertNewConstructorWithComplexJdbcUrl() {
- MariaDBDataSourceMetaData actual = new MariaDBDataSourceMetaData("jdbc:mariadb:replication://127.0.0.1:9999, 127.0.0.2:9999/foo_ds?serverTimezone=UTC&useSSL=false");
- assertThat(actual.getHostname(), is("127.0.0.1"));
- assertThat(actual.getPort(), is(9999));
- assertThat(actual.getCatalog(), is("foo_ds"));
- assertNull(actual.getSchema());
- assertThat(actual.getQueryProperties().size(), is(2));
- assertThat(actual.getQueryProperties().getProperty("serverTimezone"), is("UTC"));
- assertThat(actual.getQueryProperties().getProperty("useSSL"), is(Boolean.FALSE.toString()));
+ @ParameterizedTest(name = "{0}")
+ @ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class)
+ void assertNewConstructorWithSimpleJdbcUrl(final String name, final String url, final String hostname, final int port, final String catalog, final String schema, final Properties queryProps) {
+ assertDataSourceMetaData(url, hostname, port, catalog, schema, queryProps);
}
@Test
void assertNewConstructorFailure() {
assertThrows(UnrecognizedDatabaseURLException.class, () -> new MariaDBDataSourceMetaData("jdbc:mariadb:xxxxxxxx"));
}
+
+ @Override
+ protected MariaDBDataSourceMetaData createDataSourceMetaData(final String url) {
+ return new MariaDBDataSourceMetaData(url);
+ }
+
+ private static class NewConstructorTestCaseArgumentsProvider implements ArgumentsProvider {
+
+ @Override
+ public Stream<? extends Arguments> provideArguments(final ExtensionContext extensionContext) {
+ return Stream.of(
+ Arguments.of("simple", "jdbc:mariadb://127.0.0.1/foo_ds", "127.0.0.1", 3306, "foo_ds", null, new Properties()),
+ Arguments.of("complex", "jdbc:mariadb:replication://127.0.0.1:9999, 127.0.0.2:9999/foo_ds?serverTimezone=UTC&useSSL=false", "127.0.0.1", 9999, "foo_ds", null,
+ PropertiesBuilder.build(new Property("serverTimezone", "UTC"), new Property("useSSL", Boolean.FALSE.toString()))));
+ }
+ }
}
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/MySQLDataSourceMetaDataTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/MySQLDataSourceMetaDataTest.java
index 6292bfc9f2e..c9812d9585f 100644
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/MySQLDataSourceMetaDataTest.java
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/MySQLDataSourceMetaDataTest.java
@@ -18,40 +18,46 @@
package org.apache.shardingsphere.infra.database.metadata.dialect;
import org.apache.shardingsphere.infra.database.metadata.UnrecognizedDatabaseURLException;
+import org.apache.shardingsphere.test.util.PropertiesBuilder;
+import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtensionContext;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.ArgumentsProvider;
+import org.junit.jupiter.params.provider.ArgumentsSource;
+
+import java.util.Properties;
+import java.util.stream.Stream;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-class MySQLDataSourceMetaDataTest {
+class MySQLDataSourceMetaDataTest extends AbstractDataSourceMetaDataTest {
- @Test
- void assertNewConstructorWithSimpleJdbcUrl() {
- MySQLDataSourceMetaData actual = new MySQLDataSourceMetaData("jdbc:mysql://127.0.0.1/foo_ds");
- assertThat(actual.getHostname(), is("127.0.0.1"));
- assertThat(actual.getPort(), is(3306));
- assertThat(actual.getCatalog(), is("foo_ds"));
- assertNull(actual.getSchema());
- assertTrue(actual.getQueryProperties().isEmpty());
- }
-
- @Test
- void assertNewConstructorWithComplexJdbcUrl() {
- MySQLDataSourceMetaData actual = new MySQLDataSourceMetaData("jdbc:mysql:loadbalance://127.0.0.1:9999,127.0.0.2:9999/foo_ds?serverTimezone=UTC&useSSL=false");
- assertThat(actual.getHostname(), is("127.0.0.1"));
- assertThat(actual.getPort(), is(9999));
- assertThat(actual.getCatalog(), is("foo_ds"));
- assertNull(actual.getSchema());
- assertThat(actual.getQueryProperties().size(), is(2));
- assertThat(actual.getQueryProperties().getProperty("serverTimezone"), is("UTC"));
- assertThat(actual.getQueryProperties().getProperty("useSSL"), is(Boolean.FALSE.toString()));
+ @ParameterizedTest(name = "{0}")
+ @ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class)
+ void assertNewConstructor(final String name, final String url, final String hostname, final int port, final String catalog, final String schema, final Properties queryProps) {
+ assertDataSourceMetaData(url, hostname, port, catalog, schema, queryProps);
}
@Test
void assertNewConstructorFailure() {
assertThrows(UnrecognizedDatabaseURLException.class, () -> new MySQLDataSourceMetaData("jdbc:mysql:xxxxxxxx"));
}
+
+ @Override
+ protected MySQLDataSourceMetaData createDataSourceMetaData(final String url) {
+ return new MySQLDataSourceMetaData(url);
+ }
+
+ private static class NewConstructorTestCaseArgumentsProvider implements ArgumentsProvider {
+
+ @Override
+ public Stream<? extends Arguments> provideArguments(final ExtensionContext extensionContext) {
+ return Stream.of(
+ Arguments.of("simple", "jdbc:mysql://127.0.0.1/foo_ds", "127.0.0.1", 3306, "foo_ds", null, new Properties()),
+ Arguments.of("complex", "jdbc:mysql:loadbalance://127.0.0.1:9999,127.0.0.2:9999/foo_ds?serverTimezone=UTC&useSSL=false", "127.0.0.1", 9999, "foo_ds", null,
+ PropertiesBuilder.build(new Property("serverTimezone", "UTC"), new Property("useSSL", Boolean.FALSE.toString()))));
+ }
+ }
}
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/OpenGaussDataSourceMetaDataTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/OpenGaussDataSourceMetaDataTest.java
index c0818412a9b..90663536fc9 100644
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/OpenGaussDataSourceMetaDataTest.java
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/OpenGaussDataSourceMetaDataTest.java
@@ -18,39 +18,46 @@
package org.apache.shardingsphere.infra.database.metadata.dialect;
import org.apache.shardingsphere.infra.database.metadata.UnrecognizedDatabaseURLException;
+import org.apache.shardingsphere.test.util.PropertiesBuilder;
+import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtensionContext;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.ArgumentsProvider;
+import org.junit.jupiter.params.provider.ArgumentsSource;
+
+import java.util.Properties;
+import java.util.stream.Stream;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-class OpenGaussDataSourceMetaDataTest {
+class OpenGaussDataSourceMetaDataTest extends AbstractDataSourceMetaDataTest {
- @Test
- void assertNewConstructorWithSimpleJdbcUrl() {
- PostgreSQLDataSourceMetaData actual = new PostgreSQLDataSourceMetaData("jdbc:opengauss://127.0.0.1/foo_ds");
- assertThat(actual.getHostname(), is("127.0.0.1"));
- assertThat(actual.getPort(), is(5432));
- assertThat(actual.getCatalog(), is("foo_ds"));
- assertNull(actual.getSchema());
- assertTrue(actual.getQueryProperties().isEmpty());
- }
-
- @Test
- void assertNewConstructorWithComplexJdbcUrl() {
- PostgreSQLDataSourceMetaData actual = new PostgreSQLDataSourceMetaData("jdbc:opengauss://127.0.0.1:9999,127.0.0.2:9999,127.0.0.3:9999/foo_ds?targetServerType=master");
- assertThat(actual.getHostname(), is("127.0.0.1"));
- assertThat(actual.getPort(), is(9999));
- assertThat(actual.getCatalog(), is("foo_ds"));
- assertNull(actual.getSchema());
- assertThat(actual.getQueryProperties().size(), is(1));
- assertThat(actual.getQueryProperties().getProperty("targetServerType"), is("master"));
+ @ParameterizedTest(name = "{0}")
+ @ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class)
+ void assertNewConstructor(final String name, final String url, final String hostname, final int port, final String catalog, final String schema, final Properties queryProps) {
+ assertDataSourceMetaData(url, hostname, port, catalog, schema, queryProps);
}
@Test
void assertNewConstructorFailure() {
assertThrows(UnrecognizedDatabaseURLException.class, () -> new PostgreSQLDataSourceMetaData("jdbc:opengauss:xxxxxxxx"));
}
+
+ @Override
+ protected OpenGaussDataSourceMetaData createDataSourceMetaData(final String url) {
+ return new OpenGaussDataSourceMetaData(url);
+ }
+
+ private static class NewConstructorTestCaseArgumentsProvider implements ArgumentsProvider {
+
+ @Override
+ public Stream<? extends Arguments> provideArguments(final ExtensionContext extensionContext) {
+ return Stream.of(
+ Arguments.of("simple", "jdbc:opengauss://127.0.0.1/foo_ds", "127.0.0.1", 5431, "foo_ds", null, new Properties()),
+ Arguments.of("complex", "jdbc:opengauss://127.0.0.1:9999,127.0.0.2:9999,127.0.0.3:9999/foo_ds?targetServerType=master", "127.0.0.1", 9999, "foo_ds", null,
+ PropertiesBuilder.build(new Property("targetServerType", "master"))));
+ }
+ }
}
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/OracleDataSourceMetaDataTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/OracleDataSourceMetaDataTest.java
index 09dcd3d70cb..bf61bb48111 100644
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/OracleDataSourceMetaDataTest.java
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/OracleDataSourceMetaDataTest.java
@@ -19,95 +19,23 @@ package org.apache.shardingsphere.infra.database.metadata.dialect;
import org.apache.shardingsphere.infra.database.metadata.UnrecognizedDatabaseURLException;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtensionContext;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.ArgumentsProvider;
+import org.junit.jupiter.params.provider.ArgumentsSource;
+
+import java.util.Properties;
+import java.util.stream.Stream;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
-class OracleDataSourceMetaDataTest {
-
- @Test
- void assertNewConstructorWithPort() {
- OracleDataSourceMetaData actual = new OracleDataSourceMetaData("jdbc:oracle:thin:@//127.0.0.1:9999/ds_0", "test");
- assertThat(actual.getHostname(), is("127.0.0.1"));
- assertThat(actual.getPort(), is(9999));
- assertThat(actual.getCatalog(), is("ds_0"));
- assertThat(actual.getSchema(), is("test"));
- }
+class OracleDataSourceMetaDataTest extends AbstractDataSourceMetaDataTest {
- @Test
- void assertNewConstructorWithDomainPort() {
- OracleDataSourceMetaData actual = new OracleDataSourceMetaData("jdbc:oracle:oci:@axxx.frex.cc:9999/ds_0", "test");
- assertThat(actual.getHostname(), is("axxx.frex.cc"));
- assertThat(actual.getPort(), is(9999));
- assertThat(actual.getCatalog(), is("ds_0"));
- assertThat(actual.getSchema(), is("test"));
- }
-
- @Test
- void assertNewConstructorWithHalfenDomainPort() {
- OracleDataSourceMetaData actual = new OracleDataSourceMetaData("jdbc:oracle:oci:@ax-xx.frex.cc:9999/ds_0", "test");
- assertThat(actual.getHostname(), is("ax-xx.frex.cc"));
- assertThat(actual.getPort(), is(9999));
- assertThat(actual.getCatalog(), is("ds_0"));
- assertThat(actual.getSchema(), is("test"));
- }
-
- @Test
- void assertNewConstructorWithIpDefaultPort() {
- OracleDataSourceMetaData actual = new OracleDataSourceMetaData("jdbc:oracle:oci:@127.0.0.1/ds_0", "test");
- assertThat(actual.getHostname(), is("127.0.0.1"));
- assertThat(actual.getPort(), is(1521));
- assertThat(actual.getSchema(), is("test"));
- }
-
- @Test
- void assertNewConstructorWithDomainDefaultPort() {
- OracleDataSourceMetaData actual = new OracleDataSourceMetaData("jdbc:oracle:oci:@axxx.frex.cc/ds_0", "test");
- assertThat(actual.getHostname(), is("axxx.frex.cc"));
- assertThat(actual.getPort(), is(1521));
- assertThat(actual.getSchema(), is("test"));
- }
-
- @Test
- void assertNewConstructorWithHalfenDomainDefaultPort() {
- OracleDataSourceMetaData actual = new OracleDataSourceMetaData("jdbc:oracle:oci:@ax-xx.frex.cc/ds_0", "test");
- assertThat(actual.getHostname(), is("ax-xx.frex.cc"));
- assertThat(actual.getPort(), is(1521));
- assertThat(actual.getSchema(), is("test"));
- }
-
- @Test
- void assertNewConstructorWithConnectDescriptorIpUrl() {
- OracleDataSourceMetaData actual = new OracleDataSourceMetaData("jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.0.12)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)"
- + "(HOST = 172.16.0.22)(PORT = 1521))(LOAD_BALANCE = yes)(FAILOVER = ON)(CONNECT_DATA =(SERVER = DEDICATED)"
- + "(SERVICE_NAME = rac)(FAILOVER_MODE=(TYPE = SELECT)(METHOD = BASIC)(RETIRES = 20)(DELAY = 15))))", "test");
- assertThat(actual.getHostname(), is("172.16.0.12"));
- assertThat(actual.getPort(), is(1521));
- assertThat(actual.getCatalog(), is("rac"));
- assertThat(actual.getSchema(), is("test"));
- }
-
- @Test
- void assertNewConstructorWithConnectDescriptorDomainUrl() {
- OracleDataSourceMetaData actual = new OracleDataSourceMetaData("jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = axxx.frex.cc)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)"
- + "(HOST = axxx.frex.cc)(PORT = 1521))(LOAD_BALANCE = yes)(FAILOVER = ON)(CONNECT_DATA =(SERVER = DEDICATED)"
- + "(SERVICE_NAME = rac)(FAILOVER_MODE=(TYPE = SELECT)(METHOD = BASIC)(RETIRES = 20)(DELAY = 15))))", "test");
- assertThat(actual.getHostname(), is("axxx.frex.cc"));
- assertThat(actual.getPort(), is(1521));
- assertThat(actual.getCatalog(), is("rac"));
- assertThat(actual.getSchema(), is("test"));
- }
-
- @Test
- void assertNewConstructorWithConnectDescriptorHalfenDomainUrl() {
- OracleDataSourceMetaData actual = new OracleDataSourceMetaData("jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = ax-xx.frex.cc)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)"
- + "(HOST = ax-xx.frex.cc)(PORT = 1521))(LOAD_BALANCE = yes)(FAILOVER = ON)(CONNECT_DATA =(SERVER = DEDICATED)"
- + "(SERVICE_NAME = rac)(FAILOVER_MODE=(TYPE = SELECT)(METHOD = BASIC)(RETIRES = 20)(DELAY = 15))))", "test");
- assertThat(actual.getHostname(), is("ax-xx.frex.cc"));
- assertThat(actual.getPort(), is(1521));
- assertThat(actual.getCatalog(), is("rac"));
- assertThat(actual.getSchema(), is("test"));
+ @ParameterizedTest(name = "{0}")
+ @ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class)
+ void assertNewConstructor(final String name, final String url, final String hostname, final int port, final String catalog, final String schema) {
+ assertDataSourceMetaData(url, hostname, port, catalog, schema, new Properties());
}
@Test
@@ -115,14 +43,32 @@ class OracleDataSourceMetaDataTest {
assertThrows(UnrecognizedDatabaseURLException.class, () -> new OracleDataSourceMetaData("jdbc:oracle:xxxxxxxx", "test"));
}
- @Test
- void assertNewConstructorWithConnectDescriptorUrlWithExtraSpaces() {
- OracleDataSourceMetaData actual = new OracleDataSourceMetaData("jdbc:oracle:thin:@(DESCRIPTION = description"
- + "(HOST = 172.16.0.22)(PORT = 1521))(LOAD_BALANCE = yes)(FAILOVER = ON)(CONNECT_DATA =(SERVER = DEDICATED)"
- + "(SERVICE_NAME = rac)(FAILOVER_MODE=(TYPE = SELECT)(METHOD = BASIC)(RETIRES = 20)(DELAY = 15))))", "test");
- assertThat(actual.getHostname(), is("172.16.0.22"));
- assertThat(actual.getPort(), is(1521));
- assertThat(actual.getCatalog(), is("rac"));
- assertThat(actual.getSchema(), is("test"));
+ @Override
+ protected OracleDataSourceMetaData createDataSourceMetaData(final String url) {
+ return new OracleDataSourceMetaData(url, "test");
+ }
+
+ private static class NewConstructorTestCaseArgumentsProvider implements ArgumentsProvider {
+
+ @Override
+ public Stream<? extends Arguments> provideArguments(final ExtensionContext extensionContext) {
+ return Stream.of(
+ Arguments.of("port", "jdbc:oracle:thin:@//127.0.0.1:9999/foo_ds", "127.0.0.1", 9999, "foo_ds", "test"),
+ Arguments.of("domainPort", "jdbc:oracle:oci:@ax-xx.frex.cc:9999/foo_ds", "ax-xx.frex.cc", 9999, "foo_ds", "test"),
+ Arguments.of("ipDefaultPort", "jdbc:oracle:oci:@127.0.0.1/foo_ds", "127.0.0.1", 1521, "foo_ds", "test"),
+ Arguments.of("domainDefaultPort", "jdbc:oracle:oci:@axxx.frex.cc/foo_ds", "axxx.frex.cc", 1521, "foo_ds", "test"),
+ Arguments.of("connectDescriptorIpUrl", "jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)"
+ + "(HOST = 127.0.0.1)(PORT = 1521))(LOAD_BALANCE = yes)(FAILOVER = ON)(CONNECT_DATA =(SERVER = DEDICATED)"
+ + "(SERVICE_NAME = rac)(FAILOVER_MODE=(TYPE = SELECT)(METHOD = BASIC)(RETIRES = 20)(DELAY = 15))))", "127.0.0.1", 1521, "rac", "test"),
+ Arguments.of("connectDescriptorDomainUrl", "jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = axxx.frex.cc)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)"
+ + "(HOST = axxx.frex.cc)(PORT = 1521))(LOAD_BALANCE = yes)(FAILOVER = ON)(CONNECT_DATA =(SERVER = DEDICATED)"
+ + "(SERVICE_NAME = rac)(FAILOVER_MODE=(TYPE = SELECT)(METHOD = BASIC)(RETIRES = 20)(DELAY = 15))))", "axxx.frex.cc", 1521, "rac", "test"),
+ Arguments.of("connectDescriptorHalfenDomainUrl", "jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = ax-xx.frex.cc)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)"
+ + "(HOST = ax-xx.frex.cc)(PORT = 1521))(LOAD_BALANCE = yes)(FAILOVER = ON)(CONNECT_DATA =(SERVER = DEDICATED)"
+ + "(SERVICE_NAME = rac)(FAILOVER_MODE=(TYPE = SELECT)(METHOD = BASIC)(RETIRES = 20)(DELAY = 15))))", "ax-xx.frex.cc", 1521, "rac", "test"),
+ Arguments.of("connectDescriptorUrlWithExtraSpaces", "jdbc:oracle:thin:@(DESCRIPTION = description"
+ + "(HOST = 127.0.0.1)(PORT = 1521))(LOAD_BALANCE = yes)(FAILOVER = ON)(CONNECT_DATA =(SERVER = DEDICATED)"
+ + "(SERVICE_NAME = rac)(FAILOVER_MODE=(TYPE = SELECT)(METHOD = BASIC)(RETIRES = 20)(DELAY = 15))))", "127.0.0.1", 1521, "rac", "test"));
+ }
}
}
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/PostgreSQLDataSourceMetaDataTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/PostgreSQLDataSourceMetaDataTest.java
index 3ab73f45ddf..0dbd1d69274 100644
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/PostgreSQLDataSourceMetaDataTest.java
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/PostgreSQLDataSourceMetaDataTest.java
@@ -18,39 +18,46 @@
package org.apache.shardingsphere.infra.database.metadata.dialect;
import org.apache.shardingsphere.infra.database.metadata.UnrecognizedDatabaseURLException;
+import org.apache.shardingsphere.test.util.PropertiesBuilder;
+import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtensionContext;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.ArgumentsProvider;
+import org.junit.jupiter.params.provider.ArgumentsSource;
+
+import java.util.Properties;
+import java.util.stream.Stream;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-class PostgreSQLDataSourceMetaDataTest {
+class PostgreSQLDataSourceMetaDataTest extends AbstractDataSourceMetaDataTest {
- @Test
- void assertNewConstructorWithSimpleJdbcUrl() {
- PostgreSQLDataSourceMetaData actual = new PostgreSQLDataSourceMetaData("jdbc:postgresql://127.0.0.1/foo_ds");
- assertThat(actual.getHostname(), is("127.0.0.1"));
- assertThat(actual.getPort(), is(5432));
- assertThat(actual.getCatalog(), is("foo_ds"));
- assertNull(actual.getSchema());
- assertTrue(actual.getQueryProperties().isEmpty());
- }
-
- @Test
- void assertNewConstructorWithComplexJdbcUrl() {
- PostgreSQLDataSourceMetaData actual = new PostgreSQLDataSourceMetaData("jdbc:postgresql://127.0.0.1:9999,127.0.0.2:9999,127.0.0.3:9999/foo_ds?targetServerType=master");
- assertThat(actual.getHostname(), is("127.0.0.1"));
- assertThat(actual.getPort(), is(9999));
- assertThat(actual.getCatalog(), is("foo_ds"));
- assertNull(actual.getSchema());
- assertThat(actual.getQueryProperties().size(), is(1));
- assertThat(actual.getQueryProperties().getProperty("targetServerType"), is("master"));
+ @ParameterizedTest(name = "{0}")
+ @ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class)
+ void assertNewConstructor(final String name, final String url, final String hostname, final int port, final String catalog, final String schema, final Properties queryProps) {
+ assertDataSourceMetaData(url, hostname, port, catalog, schema, queryProps);
}
@Test
void assertNewConstructorFailure() {
assertThrows(UnrecognizedDatabaseURLException.class, () -> new PostgreSQLDataSourceMetaData("jdbc:postgresql:xxxxxxxx"));
}
+
+ @Override
+ protected PostgreSQLDataSourceMetaData createDataSourceMetaData(final String url) {
+ return new PostgreSQLDataSourceMetaData(url);
+ }
+
+ private static class NewConstructorTestCaseArgumentsProvider implements ArgumentsProvider {
+
+ @Override
+ public Stream<? extends Arguments> provideArguments(final ExtensionContext extensionContext) {
+ return Stream.of(
+ Arguments.of("simple", "jdbc:postgresql://127.0.0.1/foo_ds", "127.0.0.1", 5432, "foo_ds", null, new Properties()),
+ Arguments.of("complex", "jdbc:postgresql://127.0.0.1:9999,127.0.0.2:9999,127.0.0.3:9999/foo_ds?targetServerType=master", "127.0.0.1", 9999, "foo_ds", null,
+ PropertiesBuilder.build(new Property("targetServerType", "master"))));
+ }
+ }
}
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQL92DataSourceMetaDataTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQL92DataSourceMetaDataTest.java
index aef62762fbe..e3a13a70f6b 100644
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQL92DataSourceMetaDataTest.java
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQL92DataSourceMetaDataTest.java
@@ -19,25 +19,40 @@ package org.apache.shardingsphere.infra.database.metadata.dialect;
import org.apache.shardingsphere.infra.database.metadata.UnrecognizedDatabaseURLException;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtensionContext;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.ArgumentsProvider;
+import org.junit.jupiter.params.provider.ArgumentsSource;
+
+import java.util.Properties;
+import java.util.stream.Stream;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
-class SQL92DataSourceMetaDataTest {
+class SQL92DataSourceMetaDataTest extends AbstractDataSourceMetaDataTest {
- @Test
- void assertNewConstructorSuccess() {
- SQL92DataSourceMetaData actual = new SQL92DataSourceMetaData("jdbc:sql92_db:ds_0");
- assertThat(actual.getHostname(), is(""));
- assertThat(actual.getPort(), is(-1));
- assertThat(actual.getCatalog(), is(""));
- assertNull(actual.getSchema());
+ @ParameterizedTest(name = "{0}")
+ @ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class)
+ void assertNewConstructor(final String name, final String url, final String hostname, final int port, final String catalog, final String schema) {
+ assertDataSourceMetaData(url, hostname, port, catalog, schema, new Properties());
}
@Test
void assertNewConstructorFailure() {
assertThrows(UnrecognizedDatabaseURLException.class, () -> new SQL92DataSourceMetaData("xxx:xxxx:xxxxxxxx"));
}
+
+ @Override
+ protected SQL92DataSourceMetaData createDataSourceMetaData(final String url) {
+ return new SQL92DataSourceMetaData(url);
+ }
+
+ private static class NewConstructorTestCaseArgumentsProvider implements ArgumentsProvider {
+
+ @Override
+ public Stream<? extends Arguments> provideArguments(final ExtensionContext extensionContext) {
+ return Stream.of(Arguments.of("simple", "jdbc:sql92_db:foo_ds", "", -1, "", null));
+ }
+ }
}
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQLServerDataSourceMetaDataTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQLServerDataSourceMetaDataTest.java
index 75b1a1787ae..dac35604d3c 100644
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQLServerDataSourceMetaDataTest.java
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQLServerDataSourceMetaDataTest.java
@@ -17,69 +17,49 @@
package org.apache.shardingsphere.infra.database.metadata.dialect;
+import org.apache.shardingsphere.infra.database.metadata.DataSourceMetaData;
import org.apache.shardingsphere.infra.database.metadata.UnrecognizedDatabaseURLException;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtensionContext;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.ArgumentsProvider;
+import org.junit.jupiter.params.provider.ArgumentsSource;
+
+import java.util.Properties;
+import java.util.stream.Stream;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
-class SQLServerDataSourceMetaDataTest {
+class SQLServerDataSourceMetaDataTest extends AbstractDataSourceMetaDataTest {
- @Test
- void assertNewConstructorWithPortAndMicrosoft() {
- SQLServerDataSourceMetaData actual = new SQLServerDataSourceMetaData("jdbc:microsoft:sqlserver://127.0.0.1:9999;DatabaseName=ds_0");
- assertThat(actual.getHostname(), is("127.0.0.1"));
- assertThat(actual.getPort(), is(9999));
- assertThat(actual.getCatalog(), is("ds_0"));
- assertNull(actual.getSchema());
- }
-
- @Test
- void assertNewConstructorWithPortAndWithoutMicrosoft() {
- SQLServerDataSourceMetaData actual = new SQLServerDataSourceMetaData("jdbc:sqlserver://127.0.0.1:9999;DatabaseName=ds_0");
- assertThat(actual.getHostname(), is("127.0.0.1"));
- assertThat(actual.getPort(), is(9999));
- assertNull(actual.getSchema());
+ @ParameterizedTest(name = "{0}")
+ @ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class)
+ void assertNewConstructor(final String name, final String url, final String hostname, final int port, final String catalog, final String schema) {
+ assertDataSourceMetaData(url, hostname, port, catalog, schema, new Properties());
}
@Test
- void assertNewConstructorWithDefaultPortAndMicrosoft() {
- SQLServerDataSourceMetaData actual = new SQLServerDataSourceMetaData("jdbc:microsoft:sqlserver://127.0.0.1;DatabaseName=ds_0");
- assertThat(actual.getHostname(), is("127.0.0.1"));
- assertThat(actual.getPort(), is(1433));
- assertNull(actual.getSchema());
- }
-
- @Test
- void assertNewConstructorWithDefaultPortWithoutMicrosoft() {
- SQLServerDataSourceMetaData actual = new SQLServerDataSourceMetaData("jdbc:sqlserver://127.0.0.1;DatabaseName=ds_0");
- assertThat(actual.getHostname(), is("127.0.0.1"));
- assertThat(actual.getPort(), is(1433));
- assertNull(actual.getSchema());
- }
-
- @Test
- void assertNewConstructorWithDataBaseNameContainDotAndMicrosoft() {
- SQLServerDataSourceMetaData actual = new SQLServerDataSourceMetaData("jdbc:microsoft:sqlserver://127.0.0.1:9999;DatabaseName=ds_0.0.0");
- assertThat(actual.getHostname(), is("127.0.0.1"));
- assertThat(actual.getPort(), is(9999));
- assertThat(actual.getCatalog(), is("ds_0.0.0"));
- assertNull(actual.getSchema());
+ void assertNewConstructorFailure() {
+ assertThrows(UnrecognizedDatabaseURLException.class, () -> new SQLServerDataSourceMetaData("jdbc:sqlserver:xxxxxxxx"));
}
- @Test
- void assertNewConstructorWithDataBaseNameContainDotAndWithoutMicrosoft() {
- SQLServerDataSourceMetaData actual = new SQLServerDataSourceMetaData("jdbc:sqlserver://127.0.0.1:9999;DatabaseName=ds_0.0.0");
- assertThat(actual.getHostname(), is("127.0.0.1"));
- assertThat(actual.getPort(), is(9999));
- assertThat(actual.getCatalog(), is("ds_0.0.0"));
- assertNull(actual.getSchema());
+ @Override
+ protected DataSourceMetaData createDataSourceMetaData(final String url) {
+ return new SQLServerDataSourceMetaData(url);
}
- @Test
- void assertNewConstructorFailure() {
- assertThrows(UnrecognizedDatabaseURLException.class, () -> new SQLServerDataSourceMetaData("jdbc:sqlserver:xxxxxxxx"));
+ private static class NewConstructorTestCaseArgumentsProvider implements ArgumentsProvider {
+
+ @Override
+ public Stream<? extends Arguments> provideArguments(final ExtensionContext extensionContext) {
+ return Stream.of(
+ Arguments.of("portAndMicrosoft", "jdbc:microsoft:sqlserver://127.0.0.1:9999;DatabaseName=foo_ds", "127.0.0.1", 9999, "foo_ds", null),
+ Arguments.of("portAndWithoutMicrosoft", "jdbc:sqlserver://127.0.0.1:9999;DatabaseName=foo_ds", "127.0.0.1", 9999, "foo_ds", null),
+ Arguments.of("defaultPortAndMicrosoft", "jdbc:microsoft:sqlserver://127.0.0.1;DatabaseName=foo_ds", "127.0.0.1", 1433, "foo_ds", null),
+ Arguments.of("defaultPortWithoutMicrosoft", "jdbc:sqlserver://127.0.0.1;DatabaseName=foo_ds", "127.0.0.1", 1433, "foo_ds", null),
+ Arguments.of("databaseNameContainDotAndMicrosoft", "jdbc:microsoft:sqlserver://127.0.0.1:9999;DatabaseName=foo_0.0.0", "127.0.0.1", 9999, "foo_0.0.0", null),
+ Arguments.of("databaseNameContainDotAndWithoutMicrosoft", "jdbc:sqlserver://127.0.0.1:9999;DatabaseName=foo_0.0.0", "127.0.0.1", 9999, "foo_0.0.0", null));
+ }
}
}
diff --git a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/DataConsistencyCalculateAlgorithmChooserTest.java b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/DataConsistencyCalculateAlgorithmChooserTest.java
index 897445c8b43..504d533e61b 100644
--- a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/DataConsistencyCalculateAlgorithmChooserTest.java
+++ b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/DataConsistencyCalculateAlgorithmChooserTest.java
@@ -17,41 +17,37 @@
package org.apache.shardingsphere.data.pipeline.core.check.consistency;
-import org.apache.shardingsphere.data.pipeline.spi.check.consistency.DataConsistencyCalculateAlgorithm;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
-import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtensionContext;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.ArgumentsProvider;
+import org.junit.jupiter.params.provider.ArgumentsSource;
+
+import java.util.stream.Stream;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
class DataConsistencyCalculateAlgorithmChooserTest {
- @Test
- void assertChooseOnDifferentDatabaseTypes() {
- DatabaseType databaseType = TypedSPILoader.getService(DatabaseType.class, "Oracle");
- DatabaseType peerDatabaseType = TypedSPILoader.getService(DatabaseType.class, "PostgreSQL");
- DataConsistencyCalculateAlgorithm actual = DataConsistencyCalculateAlgorithmChooser.choose(databaseType, peerDatabaseType);
- assertNotNull(actual);
- assertThat(actual.getType(), is("DATA_MATCH"));
- }
-
- @Test
- void assertChooseOnMySQL() {
- DatabaseType databaseType = TypedSPILoader.getService(DatabaseType.class, "MySQL");
- DatabaseType peerDatabaseType = TypedSPILoader.getService(DatabaseType.class, "MySQL");
- DataConsistencyCalculateAlgorithm actual = DataConsistencyCalculateAlgorithmChooser.choose(databaseType, peerDatabaseType);
- assertNotNull(actual);
- assertThat(actual.getType(), is("CRC32_MATCH"));
+ @ParameterizedTest(name = "{0}")
+ @ArgumentsSource(TestCaseArgumentsProvider.class)
+ void assertChooseOnDifferentDatabaseTypes(final String name, final String databaseTypeName, final String peerDatabaseTypeName, final String expectedDataConsistencyType) {
+ DatabaseType databaseType = TypedSPILoader.getService(DatabaseType.class, databaseTypeName);
+ DatabaseType peerDatabaseType = TypedSPILoader.getService(DatabaseType.class, peerDatabaseTypeName);
+ assertThat(DataConsistencyCalculateAlgorithmChooser.choose(databaseType, peerDatabaseType).getType(), is(expectedDataConsistencyType));
}
- @Test
- void assertChooseOnPostgreSQL() {
- DatabaseType databaseType = TypedSPILoader.getService(DatabaseType.class, "PostgreSQL");
- DatabaseType peerDatabaseType = TypedSPILoader.getService(DatabaseType.class, "PostgreSQL");
- DataConsistencyCalculateAlgorithm actual = DataConsistencyCalculateAlgorithmChooser.choose(databaseType, peerDatabaseType);
- assertNotNull(actual);
- assertThat(actual.getType(), is("DATA_MATCH"));
+ private static class TestCaseArgumentsProvider implements ArgumentsProvider {
+
+ @Override
+ public Stream<? extends Arguments> provideArguments(final ExtensionContext extensionContext) {
+ return Stream.of(
+ Arguments.of("chooseOnDifferentDatabaseTypes", "Oracle", "PostgreSQL", "DATA_MATCH"),
+ Arguments.of("chooseOnMySQL", "MySQL", "MySQL", "CRC32_MATCH"),
+ Arguments.of("chooseOnPostgreSQL", "PostgreSQL", "PostgreSQL", "DATA_MATCH"));
+ }
}
}
diff --git a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/mask/MaskNodeConverter.java b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/mask/MaskNodeConverter.java
index 360d19f0d12..a2f35adbde1 100644
--- a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/mask/MaskNodeConverter.java
+++ b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/node/metadata/config/mask/MaskNodeConverter.java
@@ -30,7 +30,7 @@ public final class MaskNodeConverter {
private static final String TABLES = "tables";
private static final String MASK_ALGORITHMS = "mask_algorithms";
-
+
/**
* Get table name path.
*