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 0a3d51f27b8 Add more test cases on 
OpenGaussAuthenticationSCRAMSha256Packet (#38195)
0a3d51f27b8 is described below

commit 0a3d51f27b86ee63ed02bdeb099d3d03c93763d5
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Feb 25 18:20:47 2026 +0800

    Add more test cases on OpenGaussAuthenticationSCRAMSha256Packet (#38195)
---
 ...enGaussAuthenticationSCRAMSha256PacketTest.java | 45 +++++++++++-----------
 1 file changed, 22 insertions(+), 23 deletions(-)

diff --git 
a/database/protocol/dialect/opengauss/src/test/java/org/apache/shardingsphere/database/protocol/opengauss/packet/authentication/OpenGaussAuthenticationSCRAMSha256PacketTest.java
 
b/database/protocol/dialect/opengauss/src/test/java/org/apache/shardingsphere/database/protocol/opengauss/packet/authentication/OpenGaussAuthenticationSCRAMSha256PacketTest.java
index 9f7839f1006..f20e66a29b2 100644
--- 
a/database/protocol/dialect/opengauss/src/test/java/org/apache/shardingsphere/database/protocol/opengauss/packet/authentication/OpenGaussAuthenticationSCRAMSha256PacketTest.java
+++ 
b/database/protocol/dialect/opengauss/src/test/java/org/apache/shardingsphere/database/protocol/opengauss/packet/authentication/OpenGaussAuthenticationSCRAMSha256PacketTest.java
@@ -18,9 +18,18 @@
 package 
org.apache.shardingsphere.database.protocol.opengauss.packet.authentication;
 
 import 
org.apache.shardingsphere.database.protocol.opengauss.constant.OpenGaussProtocolVersion;
+import org.apache.shardingsphere.database.protocol.packet.DatabasePacket;
+import 
org.apache.shardingsphere.database.protocol.postgresql.packet.identifier.PostgreSQLMessagePacketType;
 import 
org.apache.shardingsphere.database.protocol.postgresql.payload.PostgreSQLPacketPayload;
+import org.hamcrest.CoreMatchers;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 
+import java.util.stream.Stream;
+
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
@@ -30,40 +39,30 @@ class OpenGaussAuthenticationSCRAMSha256PacketTest {
     
     private final OpenGaussAuthenticationHexData authHexData = new 
OpenGaussAuthenticationHexData();
     
-    @Test
-    void assertWriteProtocol300Packet() {
+    @ParameterizedTest(name = "{0}")
+    @MethodSource("writeCases")
+    void assertWrite(final String name, final int version, final int 
serverIteration, final int expectedWriteBytesCount, final int 
expectedServerIterationWriteCount) {
         PostgreSQLPacketPayload payload = mock(PostgreSQLPacketPayload.class);
-        OpenGaussAuthenticationSCRAMSha256Packet packet = new 
OpenGaussAuthenticationSCRAMSha256Packet(OpenGaussProtocolVersion.PROTOCOL_350.getVersion()
 - 1, 2048, authHexData, "");
+        DatabasePacket packet = new 
OpenGaussAuthenticationSCRAMSha256Packet(version, serverIteration, authHexData, 
"");
         packet.write(payload);
         verify(payload).writeInt4(10);
         verify(payload).writeInt4(2);
         verify(payload).writeBytes(authHexData.getSalt().getBytes());
         verify(payload).writeBytes(authHexData.getNonce().getBytes());
-        verify(payload, times(3)).writeBytes(any());
+        verify(payload, times(expectedWriteBytesCount)).writeBytes(any());
+        verify(payload, 
times(expectedServerIterationWriteCount)).writeInt4(serverIteration);
     }
     
     @Test
-    void assertWriteProtocol350Packet() {
-        PostgreSQLPacketPayload payload = mock(PostgreSQLPacketPayload.class);
+    void assertGetIdentifier() {
         OpenGaussAuthenticationSCRAMSha256Packet packet = new 
OpenGaussAuthenticationSCRAMSha256Packet(OpenGaussProtocolVersion.PROTOCOL_350.getVersion(),
 2048, authHexData, "");
-        packet.write(payload);
-        verify(payload).writeInt4(10);
-        verify(payload).writeInt4(2);
-        verify(payload).writeBytes(authHexData.getSalt().getBytes());
-        verify(payload).writeBytes(authHexData.getNonce().getBytes());
-        verify(payload, times(2)).writeBytes(any());
+        assertThat(packet.getIdentifier(), 
CoreMatchers.is(PostgreSQLMessagePacketType.AUTHENTICATION_REQUEST));
     }
     
-    @Test
-    void assertWriteProtocol351Packet() {
-        PostgreSQLPacketPayload payload = mock(PostgreSQLPacketPayload.class);
-        OpenGaussAuthenticationSCRAMSha256Packet packet = new 
OpenGaussAuthenticationSCRAMSha256Packet(OpenGaussProtocolVersion.PROTOCOL_351.getVersion(),
 10000, authHexData, "");
-        packet.write(payload);
-        verify(payload).writeInt4(10);
-        verify(payload).writeInt4(2);
-        verify(payload).writeBytes(authHexData.getSalt().getBytes());
-        verify(payload).writeBytes(authHexData.getNonce().getBytes());
-        verify(payload).writeInt4(10000);
-        verify(payload, times(2)).writeBytes(any());
+    private static Stream<Arguments> writeCases() {
+        return Stream.of(
+                Arguments.of("versionBelow350WritesServerSignature", 
OpenGaussProtocolVersion.PROTOCOL_350.getVersion() - 1, 2048, 3, 0),
+                Arguments.of("version350SkipsSignatureAndIteration", 
OpenGaussProtocolVersion.PROTOCOL_350.getVersion(), 2048, 2, 0),
+                Arguments.of("version351WritesIterationOnly", 
OpenGaussProtocolVersion.PROTOCOL_351.getVersion(), 10000, 2, 1));
     }
 }

Reply via email to