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

Reply via email to