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 95ec0902ee2 Add more test cases on 
FirebirdAllocateStatementPacketTest, FirebirdFetchStatementPacketTest, 
FirebirdFreeStatementPacketTest (#38170)
95ec0902ee2 is described below

commit 95ec0902ee22d16fba9bbb19326dc11a7b00c93b
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Feb 23 22:47:17 2026 +0800

    Add more test cases on FirebirdAllocateStatementPacketTest, 
FirebirdFetchStatementPacketTest, FirebirdFreeStatementPacketTest (#38170)
---
 .../FirebirdAllocateStatementPacketTest.java       | 12 +++++
 .../FirebirdFetchStatementPacketTest.java          | 52 +++++++++++++++++++---
 .../statement/FirebirdFreeStatementPacketTest.java | 12 +++++
 3 files changed, 69 insertions(+), 7 deletions(-)

diff --git 
a/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/statement/FirebirdAllocateStatementPacketTest.java
 
b/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/statement/FirebirdAllocateStatementPacketTest.java
index bb061363a75..2b6bd3dffe6 100644
--- 
a/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/statement/FirebirdAllocateStatementPacketTest.java
+++ 
b/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/statement/FirebirdAllocateStatementPacketTest.java
@@ -18,6 +18,7 @@
 package 
org.apache.shardingsphere.database.protocol.firebird.packet.command.query.statement;
 
 import 
org.apache.shardingsphere.database.protocol.firebird.payload.FirebirdPacketPayload;
+import org.apache.shardingsphere.database.protocol.payload.PacketPayload;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
@@ -25,7 +26,9 @@ import org.mockito.junit.jupiter.MockitoExtension;
 
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoInteractions;
 import static org.mockito.Mockito.when;
 
 @ExtendWith(MockitoExtension.class)
@@ -46,4 +49,13 @@ class FirebirdAllocateStatementPacketTest {
     void assertGetLength() {
         assertThat(FirebirdAllocateStatementPacket.getLength(), is(8));
     }
+    
+    @Test
+    void assertWrite() {
+        when(payload.readInt4()).thenReturn(1);
+        FirebirdAllocateStatementPacket packet = new 
FirebirdAllocateStatementPacket(payload);
+        FirebirdPacketPayload writePayload = mock(FirebirdPacketPayload.class);
+        packet.write((PacketPayload) writePayload);
+        verifyNoInteractions(writePayload);
+    }
 }
diff --git 
a/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/statement/FirebirdFetchStatementPacketTest.java
 
b/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/statement/FirebirdFetchStatementPacketTest.java
index 8d0d4700aea..bc885fe2ca6 100644
--- 
a/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/statement/FirebirdFetchStatementPacketTest.java
+++ 
b/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/statement/FirebirdFetchStatementPacketTest.java
@@ -20,16 +20,24 @@ package 
org.apache.shardingsphere.database.protocol.firebird.packet.command.quer
 import io.netty.buffer.ByteBuf;
 import 
org.apache.shardingsphere.database.protocol.firebird.packet.command.query.FirebirdBinaryColumnType;
 import 
org.apache.shardingsphere.database.protocol.firebird.payload.FirebirdPacketPayload;
+import org.apache.shardingsphere.database.protocol.payload.PacketPayload;
 import org.firebirdsql.gds.BlrConstants;
 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.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
 
-import static org.hamcrest.Matchers.is;
+import java.util.stream.Stream;
+
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.is;
 import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoInteractions;
 import static org.mockito.Mockito.when;
 
 @ExtendWith(MockitoExtension.class)
@@ -41,21 +49,33 @@ class FirebirdFetchStatementPacketTest {
     @Mock
     private ByteBuf byteBuf;
     
-    @Test
-    void assertFetchStatementPacket() {
+    @ParameterizedTest(name = "{0}")
+    @MethodSource("assertFetchStatementPacketArguments")
+    void assertFetchStatementPacket(final String name, final short blrType, 
final FirebirdBinaryColumnType expectedParameterType) {
         when(payload.readInt4()).thenReturn(3, 7, 10);
         when(payload.readBuffer()).thenReturn(byteBuf);
         when(byteBuf.isReadable()).thenReturn(true);
-        when(byteBuf.readUnsignedByte()).thenReturn((short) 9, (short) 0, 
(short) BlrConstants.blr_long, (short) BlrConstants.blr_short, (short) 
BlrConstants.blr_end);
+        when(byteBuf.readUnsignedByte()).thenReturn((short) 2, (short) 0, 
blrType, (short) BlrConstants.blr_end);
         when(byteBuf.skipBytes(anyInt())).thenReturn(byteBuf);
         FirebirdFetchStatementPacket packet = new 
FirebirdFetchStatementPacket(payload);
         verify(payload).skipReserved(4);
         assertThat(packet.getStatementId(), is(3));
         assertThat(packet.getMessage(), is(7));
         assertThat(packet.getFetchSize(), is(10));
-        assertThat(packet.getParameterTypes().size(), is(2));
-        assertThat(packet.getParameterTypes().get(0), 
is(FirebirdBinaryColumnType.LONG));
-        assertThat(packet.getParameterTypes().get(1), 
is(FirebirdBinaryColumnType.SHORT));
+        assertThat(packet.getParameterTypes().size(), is(1));
+        assertThat(packet.getParameterTypes().get(0), 
is(expectedParameterType));
+    }
+    
+    @Test
+    void assertFetchStatementPacketWhenBLRIsNotReadable() {
+        when(payload.readInt4()).thenReturn(3, 7, 10);
+        when(payload.readBuffer()).thenReturn(byteBuf);
+        FirebirdFetchStatementPacket packet = new 
FirebirdFetchStatementPacket(payload);
+        verify(payload).skipReserved(4);
+        assertThat(packet.getStatementId(), is(3));
+        assertThat(packet.getMessage(), is(7));
+        assertThat(packet.getFetchSize(), is(10));
+        assertThat(packet.getParameterTypes().size(), is(0));
     }
     
     @Test
@@ -64,4 +84,22 @@ class FirebirdFetchStatementPacketTest {
         assertThat(FirebirdFetchStatementPacket.getLength(payload), is(36));
         verify(payload).getBufferLength(8);
     }
+    
+    @Test
+    void assertWrite() {
+        when(payload.readInt4()).thenReturn(3, 7, 10);
+        when(payload.readBuffer()).thenReturn(byteBuf);
+        FirebirdFetchStatementPacket packet = new 
FirebirdFetchStatementPacket(payload);
+        FirebirdPacketPayload writePayload = mock(FirebirdPacketPayload.class);
+        packet.write((PacketPayload) writePayload);
+        verifyNoInteractions(writePayload);
+    }
+    
+    private static Stream<Arguments> assertFetchStatementPacketArguments() {
+        return Stream.of(
+                Arguments.of("skip_count_4", (short) 
BlrConstants.blr_varying2, FirebirdBinaryColumnType.VARYING),
+                Arguments.of("skip_count_2", (short) BlrConstants.blr_text, 
FirebirdBinaryColumnType.LEGACY_TEXT),
+                Arguments.of("skip_count_1", (short) BlrConstants.blr_long, 
FirebirdBinaryColumnType.LONG),
+                Arguments.of("skip_count_0", (short) BlrConstants.blr_double, 
FirebirdBinaryColumnType.DOUBLE));
+    }
 }
diff --git 
a/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/statement/FirebirdFreeStatementPacketTest.java
 
b/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/statement/FirebirdFreeStatementPacketTest.java
index 75cef1e98a9..9e87ad6f360 100644
--- 
a/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/statement/FirebirdFreeStatementPacketTest.java
+++ 
b/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/statement/FirebirdFreeStatementPacketTest.java
@@ -18,6 +18,7 @@
 package 
org.apache.shardingsphere.database.protocol.firebird.packet.command.query.statement;
 
 import 
org.apache.shardingsphere.database.protocol.firebird.payload.FirebirdPacketPayload;
+import org.apache.shardingsphere.database.protocol.payload.PacketPayload;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
@@ -25,7 +26,9 @@ import org.mockito.junit.jupiter.MockitoExtension;
 
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoInteractions;
 import static org.mockito.Mockito.when;
 
 @ExtendWith(MockitoExtension.class)
@@ -47,4 +50,13 @@ class FirebirdFreeStatementPacketTest {
     void assertGetLength() {
         assertThat(FirebirdFreeStatementPacket.getLength(), is(12));
     }
+    
+    @Test
+    void assertWrite() {
+        when(payload.readInt4()).thenReturn(5, 
FirebirdFreeStatementPacket.DROP);
+        FirebirdFreeStatementPacket packet = new 
FirebirdFreeStatementPacket(payload);
+        FirebirdPacketPayload writePayload = mock(FirebirdPacketPayload.class);
+        packet.write((PacketPayload) writePayload);
+        verifyNoInteractions(writePayload);
+    }
 }

Reply via email to