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 0df483717ea Add more test cases on OpenGaussSystemDatabaseTest (#38131)
0df483717ea is described below

commit 0df483717eab65d9a9fb529665b4046c25761338
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Feb 22 11:52:13 2026 +0800

    Add more test cases on OpenGaussSystemDatabaseTest (#38131)
---
 .../system/OpenGaussSystemDatabaseTest.java        | 30 ++++++++++++++++++++--
 1 file changed, 28 insertions(+), 2 deletions(-)

diff --git 
a/database/connector/dialect/opengauss/src/test/java/org/apache/shardingsphere/database/connector/opengauss/metadata/database/system/OpenGaussSystemDatabaseTest.java
 
b/database/connector/dialect/opengauss/src/test/java/org/apache/shardingsphere/database/connector/opengauss/metadata/database/system/OpenGaussSystemDatabaseTest.java
index e27060be32c..ee593abe771 100644
--- 
a/database/connector/dialect/opengauss/src/test/java/org/apache/shardingsphere/database/connector/opengauss/metadata/database/system/OpenGaussSystemDatabaseTest.java
+++ 
b/database/connector/dialect/opengauss/src/test/java/org/apache/shardingsphere/database/connector/opengauss/metadata/database/system/OpenGaussSystemDatabaseTest.java
@@ -21,20 +21,46 @@ import 
org.apache.shardingsphere.database.connector.core.metadata.database.syste
 import 
org.apache.shardingsphere.database.connector.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.junit.jupiter.api.Test;
 
 import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.stream.Stream;
 
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
 class OpenGaussSystemDatabaseTest {
     
+    private static final Collection<String> EXPECTED_SYSTEM_SCHEMAS = 
Arrays.asList("information_schema", "pg_catalog", "blockchain",
+            "cstore", "db4ai", "dbe_perf", "dbe_pldebugger", "gaussdb", 
"oracle", "pkg_service", "snapshot", "sqladvisor", "dbe_pldeveloper", 
"pg_toast", "pkg_util", "shardingsphere");
+    
     private final DialectSystemDatabase systemDatabase = 
DatabaseTypedSPILoader.getService(DialectSystemDatabase.class, 
TypedSPILoader.getService(DatabaseType.class, "openGauss"));
     
+    @Test
+    void assertGetSystemDatabases() {
+        assertThat(systemDatabase.getSystemDatabases(), 
is(Collections.singleton("postgres")));
+    }
+    
+    @ParameterizedTest(name = "{0}")
+    @MethodSource("getSystemSchemasWithDatabaseNameArguments")
+    void assertGetSystemSchemasWithDatabaseName(final String name, final 
String databaseName, final Collection<String> expectedSchemas) {
+        assertThat(systemDatabase.getSystemSchemas(databaseName), 
is(expectedSchemas));
+    }
+    
+    private static Stream<Arguments> 
getSystemSchemasWithDatabaseNameArguments() {
+        return Stream.of(
+                Arguments.of("existing database", "postgres", 
EXPECTED_SYSTEM_SCHEMAS),
+                Arguments.of("non-existing database", "foo", 
Collections.emptyList()),
+                Arguments.of("null database", null, Collections.emptyList()));
+    }
+    
     @Test
     void assertGetSystemSchemas() {
-        assertThat(systemDatabase.getSystemSchemas(), 
is(Arrays.asList("information_schema", "pg_catalog", "blockchain",
-                "cstore", "db4ai", "dbe_perf", "dbe_pldebugger", "gaussdb", 
"oracle", "pkg_service", "snapshot", "sqladvisor", "dbe_pldeveloper", 
"pg_toast", "pkg_util", "shardingsphere")));
+        assertThat(systemDatabase.getSystemSchemas(), 
is(EXPECTED_SYSTEM_SCHEMAS));
     }
 }

Reply via email to