This is an automated email from the ASF dual-hosted git repository.
chengzhang 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 a107e779321 Refactor DatabaseTypeFactory logic to return trunk
database type and update unit test (#31057)
a107e779321 is described below
commit a107e779321524af84b55595a0c2b37609421613
Author: Zhengqiang Duan <[email protected]>
AuthorDate: Mon Apr 29 17:28:28 2024 +0800
Refactor DatabaseTypeFactory logic to return trunk database type and update
unit test (#31057)
---
.../infra/database/core/type/DatabaseTypeFactory.java | 2 +-
.../connector/fixture/ConnectionPropertiesParserFixture.java | 5 ++---
.../infra/database/core/type/DatabaseTypeFactoryTest.java | 2 +-
.../test/fixture/connector/MockedConnectionPropertiesParser.java | 9 +++++----
4 files changed, 9 insertions(+), 9 deletions(-)
diff --git
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeFactory.java
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeFactory.java
index 5d0dedb9d75..4a1c442162b 100644
---
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeFactory.java
+++
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeFactory.java
@@ -42,7 +42,7 @@ public final class DatabaseTypeFactory {
Collection<DatabaseType> databaseTypes =
ShardingSphereServiceLoader.getServiceInstances(DatabaseType.class).stream().filter(each
-> matchURLs(url, each)).collect(Collectors.toList());
ShardingSpherePreconditions.checkNotEmpty(databaseTypes, () -> new
UnsupportedStorageTypeException(url));
for (DatabaseType each : databaseTypes) {
- if (each.getTrunkDatabaseType().isPresent()) {
+ if (!each.getTrunkDatabaseType().isPresent()) {
return each;
}
}
diff --git
a/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/connector/fixture/ConnectionPropertiesParserFixture.java
b/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/connector/fixture/ConnectionPropertiesParserFixture.java
index 04b038e9d4d..d53a97a557d 100644
---
a/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/connector/fixture/ConnectionPropertiesParserFixture.java
+++
b/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/connector/fixture/ConnectionPropertiesParserFixture.java
@@ -19,8 +19,7 @@ package
org.apache.shardingsphere.infra.database.core.connector.fixture;
import
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
import
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
-
-import java.util.Properties;
+import
org.apache.shardingsphere.infra.database.core.connector.url.StandardJdbcUrlParser;
import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
@@ -31,7 +30,7 @@ public final class ConnectionPropertiesParserFixture
implements ConnectionProper
@Override
public ConnectionProperties parse(final String url, final String username,
final String catalog) {
ConnectionProperties result = mock(ConnectionProperties.class,
RETURNS_DEEP_STUBS);
- when(result.getQueryProperties()).thenReturn(new Properties());
+ when(result.getQueryProperties()).thenReturn(new
StandardJdbcUrlParser().parse(url).getQueryProperties());
return result;
}
diff --git
a/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeFactoryTest.java
b/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeFactoryTest.java
index 57df5cdabe3..de378c75e7b 100644
---
a/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeFactoryTest.java
+++
b/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeFactoryTest.java
@@ -33,7 +33,7 @@ class DatabaseTypeFactoryTest {
@Test
void assertGetDatabaseTypeWithBranchURL() {
-
assertThat(DatabaseTypeFactory.get("jdbc:trunk:branch://localhost:3306/test").getType(),
is("BRANCH"));
+
assertThat(DatabaseTypeFactory.get("jdbc:trunk:branch://localhost:3306/test?databaseType=BRANCH").getType(),
is("TRUNK"));
}
@Test
diff --git
a/test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/connector/MockedConnectionPropertiesParser.java
b/test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/connector/MockedConnectionPropertiesParser.java
index 016a452b52c..3f75504dbb4 100644
---
a/test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/connector/MockedConnectionPropertiesParser.java
+++
b/test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/connector/MockedConnectionPropertiesParser.java
@@ -19,9 +19,9 @@ package org.apache.shardingsphere.test.fixture.connector;
import
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
import
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
-
-import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
-import static org.mockito.Mockito.mock;
+import
org.apache.shardingsphere.infra.database.core.connector.StandardConnectionProperties;
+import org.apache.shardingsphere.infra.database.core.connector.url.JdbcUrl;
+import
org.apache.shardingsphere.infra.database.core.connector.url.StandardJdbcUrlParser;
/**
* Mocked connection properties parser.
@@ -30,7 +30,8 @@ public final class MockedConnectionPropertiesParser
implements ConnectionPropert
@Override
public ConnectionProperties parse(final String url, final String username,
final String catalog) {
- return mock(ConnectionProperties.class, RETURNS_DEEP_STUBS);
+ JdbcUrl jdbcUrl = new StandardJdbcUrlParser().parse(url);
+ return new StandardConnectionProperties(jdbcUrl.getHostname(),
jdbcUrl.getPort(), catalog, jdbcUrl.getDatabase());
}
@Override