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 8f0f5fd3876 Add more test cases on 
FirebirdDatabaseInfoReturnPacketTest (#38169)
8f0f5fd3876 is described below

commit 8f0f5fd3876b49509d9aabb4fe8a1a49963eb5f5
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Feb 23 22:27:08 2026 +0800

    Add more test cases on FirebirdDatabaseInfoReturnPacketTest (#38169)
---
 .../FirebirdDatabaseInfoReturnPacketTest.java      | 66 +++++++++++-----------
 1 file changed, 33 insertions(+), 33 deletions(-)

diff --git 
a/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/info/type/database/FirebirdDatabaseInfoReturnPacketTest.java
 
b/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/info/type/database/FirebirdDatabaseInfoReturnPacketTest.java
index df97a6ac7c7..b707e20794b 100644
--- 
a/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/info/type/database/FirebirdDatabaseInfoReturnPacketTest.java
+++ 
b/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/info/type/database/FirebirdDatabaseInfoReturnPacketTest.java
@@ -19,18 +19,24 @@ package 
org.apache.shardingsphere.database.protocol.firebird.packet.command.quer
 
 import 
org.apache.shardingsphere.database.protocol.firebird.constant.FirebirdArchType;
 import 
org.apache.shardingsphere.database.protocol.firebird.exception.FirebirdProtocolException;
+import 
org.apache.shardingsphere.database.protocol.firebird.packet.command.query.info.type.common.FirebirdCommonInfoPacketType;
 import 
org.apache.shardingsphere.database.protocol.firebird.payload.FirebirdPacketPayload;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
 
 import java.nio.charset.StandardCharsets;
 import java.util.Collections;
+import java.util.stream.Stream;
 
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.Mockito.inOrder;
+import static org.mockito.Mockito.verify;
 
 @ExtendWith(MockitoExtension.class)
 class FirebirdDatabaseInfoReturnPacketTest {
@@ -38,42 +44,24 @@ class FirebirdDatabaseInfoReturnPacketTest {
     @Mock
     private FirebirdPacketPayload payload;
     
-    @Test
-    void assertWriteDialect() {
-        FirebirdDatabaseInfoReturnPacket packet = new 
FirebirdDatabaseInfoReturnPacket(Collections.singletonList(FirebirdDatabaseInfoPacketType.DB_SQL_DIALECT));
-        packet.write(payload);
-        InOrder order = inOrder(payload);
-        
order.verify(payload).writeInt1(FirebirdDatabaseInfoPacketType.DB_SQL_DIALECT.getCode());
-        order.verify(payload).writeInt2LE(1);
-        order.verify(payload).writeInt1(3);
-    }
-    
-    @Test
-    void assertWriteOdsVersion() {
-        FirebirdDatabaseInfoReturnPacket packet = new 
FirebirdDatabaseInfoReturnPacket(Collections.singletonList(FirebirdDatabaseInfoPacketType.ODS_VERSION));
-        packet.write(payload);
-        InOrder order = inOrder(payload);
-        
order.verify(payload).writeInt1(FirebirdDatabaseInfoPacketType.ODS_VERSION.getCode());
-        order.verify(payload).writeInt2LE(4);
-        order.verify(payload).writeInt4LE(5);
-    }
-    
-    @Test
-    void assertWriteOdsMinorVersion() {
-        FirebirdDatabaseInfoReturnPacket packet = new 
FirebirdDatabaseInfoReturnPacket(Collections.singletonList(FirebirdDatabaseInfoPacketType.ODS_MINOR_VERSION));
-        packet.write(payload);
+    @ParameterizedTest(name = "{0}")
+    @MethodSource("databaseInfoTypes")
+    void assertWriteWithDatabaseInfoType(final String name, final 
FirebirdDatabaseInfoPacketType infoType, final int expectedLength, final int 
expectedValue, final boolean int1Value) {
+        new 
FirebirdDatabaseInfoReturnPacket(Collections.singletonList(infoType)).write(payload);
         InOrder order = inOrder(payload);
-        
order.verify(payload).writeInt1(FirebirdDatabaseInfoPacketType.ODS_MINOR_VERSION.getCode());
-        order.verify(payload).writeInt2LE(4);
-        order.verify(payload).writeInt4LE(0);
+        order.verify(payload).writeInt1(infoType.getCode());
+        order.verify(payload).writeInt2LE(expectedLength);
+        if (int1Value) {
+            order.verify(payload).writeInt1(expectedValue);
+        } else {
+            order.verify(payload).writeInt4LE(expectedValue);
+        }
     }
     
     @Test
     void assertWriteFirebirdVersion() {
-        FirebirdDatabaseInfoReturnPacket packet = new 
FirebirdDatabaseInfoReturnPacket(Collections.singletonList(FirebirdDatabaseInfoPacketType.FIREBIRD_VERSION));
-        packet.write(payload);
-        String serverName = String.format("Firebird %d.%d 
(ShardingSphere-Proxy)", 5, 0);
-        String fbVersion = String.format("%s-%s%d.%d.%d.%d %s", 
FirebirdArchType.ARCHITECTURE.getIdentifier(), "V", 5, 0, 0, 0, serverName);
+        new 
FirebirdDatabaseInfoReturnPacket(Collections.singletonList(FirebirdDatabaseInfoPacketType.FIREBIRD_VERSION)).write(payload);
+        String fbVersion = String.format("%s-%s%d.%d.%d.%d Firebird %d.%d 
(ShardingSphere-Proxy)", FirebirdArchType.ARCHITECTURE.getIdentifier(), "V", 5, 
0, 0, 0, 5, 0);
         InOrder order = inOrder(payload);
         
order.verify(payload).writeInt1(FirebirdDatabaseInfoPacketType.FIREBIRD_VERSION.getCode());
         order.verify(payload).writeInt2LE(fbVersion.length() + 2);
@@ -84,7 +72,19 @@ class FirebirdDatabaseInfoReturnPacketTest {
     
     @Test
     void assertParseDatabaseInfoWithUnknownType() {
-        FirebirdDatabaseInfoReturnPacket packet = new 
FirebirdDatabaseInfoReturnPacket(Collections.singletonList(FirebirdDatabaseInfoPacketType.DB_ID));
-        assertThrows(FirebirdProtocolException.class, () -> 
packet.write(payload));
+        assertThrows(FirebirdProtocolException.class, () -> new 
FirebirdDatabaseInfoReturnPacket(Collections.singletonList(FirebirdDatabaseInfoPacketType.DB_ID)).write(payload));
+    }
+    
+    @Test
+    void assertWriteCommonInfo() {
+        new 
FirebirdDatabaseInfoReturnPacket(Collections.singletonList(FirebirdCommonInfoPacketType.END)).write(payload);
+        verify(payload).writeInt1(FirebirdCommonInfoPacketType.END.getCode());
+    }
+    
+    private static Stream<Arguments> databaseInfoTypes() {
+        return Stream.of(
+                Arguments.of("db sql dialect", 
FirebirdDatabaseInfoPacketType.DB_SQL_DIALECT, 1, 3, true),
+                Arguments.of("ods version", 
FirebirdDatabaseInfoPacketType.ODS_VERSION, 4, 5, false),
+                Arguments.of("ods minor version", 
FirebirdDatabaseInfoPacketType.ODS_MINOR_VERSION, 4, 0, false));
     }
 }

Reply via email to