This is an automated email from the ASF dual-hosted git repository.

zhangliang 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 319364c97a3 Remove redundant method and optimize test structure 
(#35323)
319364c97a3 is described below

commit 319364c97a3666de6f54bc7a9b45793ef1bef874
Author: Liang Zhang <zhangli...@apache.org>
AuthorDate: Mon May 5 00:38:57 2025 +0800

    Remove redundant method and optimize test structure (#35323)
    
    * Replace MockedDatabaseType with TypedSPILoader in tests
    
    - Remove usage of MockedDatabaseType from multiple test files
    - Use TypedSPILoader.getService(DatabaseType.class, "FIXTURE") to get 
DatabaseType instance
    - Update import statements and test logic to use the new DatabaseType 
instance
    - Improve test readability and reduce reliance on mock classes
    
    * Remove redundant method and optimize test structure
    
    - Remove getDialectTableMetaDataLoader() method
    - Directly use TypedSPILoader and DatabaseTypedSPILoader services
    - Add databaseType and dialectMetaDataLoader as test class fields
    - Update test methods to use the new approach
    - Add JDBCResourceOpenedButNotSafelyClosed annotation to relevant tests
---
 .../data/loader/OpenGaussMetaDataLoaderTest.java     | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git 
a/infra/database/type/opengauss/src/test/java/org/apache/shardingsphere/infra/database/opengauss/metadata/data/loader/OpenGaussMetaDataLoaderTest.java
 
b/infra/database/type/opengauss/src/test/java/org/apache/shardingsphere/infra/database/opengauss/metadata/data/loader/OpenGaussMetaDataLoaderTest.java
index 94d44c61620..fb8b441cabf 100644
--- 
a/infra/database/type/opengauss/src/test/java/org/apache/shardingsphere/infra/database/opengauss/metadata/data/loader/OpenGaussMetaDataLoaderTest.java
+++ 
b/infra/database/type/opengauss/src/test/java/org/apache/shardingsphere/infra/database/opengauss/metadata/data/loader/OpenGaussMetaDataLoaderTest.java
@@ -26,7 +26,6 @@ import 
org.apache.shardingsphere.infra.database.core.metadata.data.model.TableMe
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.datatype.DataTypeRegistry;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import 
org.apache.shardingsphere.infra.database.opengauss.type.OpenGaussDatabaseType;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import org.junit.jupiter.api.Test;
 
@@ -37,11 +36,9 @@ import java.sql.Types;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
-import java.util.Optional;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -66,6 +63,11 @@ class OpenGaussMetaDataLoaderTest {
                     + " FROM pg_index pgi JOIN pg_class idx ON idx.oid = 
pgi.indexrelid JOIN pg_namespace insp ON insp.oid = idx.relnamespace JOIN 
pg_class tbl ON tbl.oid = pgi.indrelid"
                     + " JOIN pg_namespace tnsp ON tnsp.oid = tbl.relnamespace 
JOIN pg_attribute att ON att.attrelid = tbl.oid AND att.attnum = 
ANY(pgi.indkey) WHERE tnsp.nspname IN ('public')";
     
+    private final DatabaseType databaseType = 
TypedSPILoader.getService(DatabaseType.class, "openGauss");
+    
+    private final DialectMetaDataLoader dialectMetaDataLoader = 
DatabaseTypedSPILoader.getService(DialectMetaDataLoader.class, databaseType);
+    
+    @SuppressWarnings("JDBCResourceOpenedButNotSafelyClosed")
     @Test
     void assertLoadWithoutTables() throws SQLException {
         DataSource dataSource = mockDataSource();
@@ -80,7 +82,7 @@ class OpenGaussMetaDataLoaderTest {
         ResultSet advanceIndexResultSet = mockAdvanceIndexMetaDataResultSet();
         
when(dataSource.getConnection().prepareStatement(ADVANCE_INDEX_META_DATA_SQL).executeQuery()).thenReturn(advanceIndexResultSet);
         DataTypeRegistry.load(dataSource, "openGauss");
-        assertTableMetaDataMap(getDialectTableMetaDataLoader().load(new 
MetaDataLoaderMaterial(Collections.emptyList(), "foo_ds", dataSource, new 
OpenGaussDatabaseType(), "sharding_db")));
+        assertTableMetaDataMap(dialectMetaDataLoader.load(new 
MetaDataLoaderMaterial(Collections.emptyList(), "foo_ds", dataSource, 
databaseType, "sharding_db")));
     }
     
     private ResultSet mockSchemaMetaDataResultSet() throws SQLException {
@@ -90,6 +92,7 @@ class OpenGaussMetaDataLoaderTest {
         return result;
     }
     
+    @SuppressWarnings("JDBCResourceOpenedButNotSafelyClosed")
     @Test
     void assertLoadWithTables() throws SQLException {
         DataSource dataSource = mockDataSource();
@@ -104,9 +107,10 @@ class OpenGaussMetaDataLoaderTest {
         ResultSet advanceIndexResultSet = mockAdvanceIndexMetaDataResultSet();
         
when(dataSource.getConnection().prepareStatement(ADVANCE_INDEX_META_DATA_SQL).executeQuery()).thenReturn(advanceIndexResultSet);
         DataTypeRegistry.load(dataSource, "openGauss");
-        assertTableMetaDataMap(getDialectTableMetaDataLoader().load(new 
MetaDataLoaderMaterial(Collections.singletonList("tbl"), "foo_ds", dataSource, 
new OpenGaussDatabaseType(), "sharding_db")));
+        assertTableMetaDataMap(dialectMetaDataLoader.load(new 
MetaDataLoaderMaterial(Collections.singletonList("tbl"), "foo_ds", dataSource, 
databaseType, "sharding_db")));
     }
     
+    @SuppressWarnings("JDBCResourceOpenedButNotSafelyClosed")
     private DataSource mockDataSource() throws SQLException {
         DataSource result = mock(DataSource.class, RETURNS_DEEP_STUBS);
         ResultSet typeInfoResultSet = mockTypeInfoResultSet();
@@ -165,12 +169,6 @@ class OpenGaussMetaDataLoaderTest {
         return result;
     }
     
-    private DialectMetaDataLoader getDialectTableMetaDataLoader() {
-        Optional<DialectMetaDataLoader> result = 
DatabaseTypedSPILoader.findService(DialectMetaDataLoader.class, 
TypedSPILoader.getService(DatabaseType.class, "openGauss"));
-        assertTrue(result.isPresent());
-        return result.get();
-    }
-    
     private void assertTableMetaDataMap(final Collection<SchemaMetaData> 
schemaMetaDataList) {
         assertThat(schemaMetaDataList.size(), is(1));
         TableMetaData actualTableMetaData = 
schemaMetaDataList.iterator().next().getTables().iterator().next();

Reply via email to