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

tabish pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-protonj2.git


The following commit(s) were added to refs/heads/main by this push:
     new 3df0019b PROTON-2887 Minor code cleanups from analysis
3df0019b is described below

commit 3df0019b3956c2c10e57c86a87a2f60708870fe7
Author: Timothy Bish <tabish...@gmail.com>
AuthorDate: Tue Apr 22 16:42:29 2025 -0400

    PROTON-2887 Minor code cleanups from analysis
    
    Fix some tests to correct assertions and other minor code cleanups
---
 .../apache/qpid/protonj2/client/SaslOptions.java   |  8 +++----
 .../protonj2/client/impl/ClientDeliveryState.java  |  8 +++++++
 .../protonj2/client/impl/StreamReceiverTest.java   | 22 ++++---------------
 .../client/transport/netty4/NettyServer.java       |  4 ++--
 .../apache/qpid/protonj2/engine/util/SplayMap.java |  2 +-
 .../codec/primitives/UUIDTypeCodecTest.java        | 25 ++++++++++------------
 .../protonj2/engine/impl/ProtonSenderTest.java     |  5 ++++-
 7 files changed, 34 insertions(+), 40 deletions(-)

diff --git 
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/SaslOptions.java
 
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/SaslOptions.java
index 95b9fc63..e6add2df 100644
--- 
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/SaslOptions.java
+++ 
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/SaslOptions.java
@@ -24,11 +24,11 @@ import java.util.Set;
 /**
  * Connection options that are applied to the SASL layer.
  */
-public class SaslOptions {
+public class SaslOptions implements Cloneable {
 
-       /**
-        * The client default configuration value for SASL enabled state 
(default is true)
-        */
+    /**
+     * The client default configuration value for SASL enabled state (default 
is true)
+     */
     public static final boolean DEFAULT_SASL_ENABLED = true;
 
     private boolean saslEnabled = DEFAULT_SASL_ENABLED;
diff --git 
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/impl/ClientDeliveryState.java
 
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/impl/ClientDeliveryState.java
index 8ef7dbd3..3320c7a7 100644
--- 
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/impl/ClientDeliveryState.java
+++ 
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/impl/ClientDeliveryState.java
@@ -128,6 +128,10 @@ public abstract class ClientDeliveryState implements 
DeliveryState {
 
         private static final ClientAccepted INSTANCE = new ClientAccepted();
 
+        private ClientAccepted() {
+            // Singleton
+        }
+
         @Override
         public Type getType() {
             return Type.ACCEPTED;
@@ -153,6 +157,10 @@ public abstract class ClientDeliveryState implements 
DeliveryState {
 
         private static final ClientReleased INSTANCE = new ClientReleased();
 
+        private ClientReleased() {
+            // Singleton
+        }
+
         @Override
         public Type getType() {
             return Type.RELEASED;
diff --git 
a/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/impl/StreamReceiverTest.java
 
b/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/impl/StreamReceiverTest.java
index 680d33d6..f3fe77a9 100644
--- 
a/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/impl/StreamReceiverTest.java
+++ 
b/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/impl/StreamReceiverTest.java
@@ -1827,7 +1827,6 @@ class StreamReceiverTest extends ImperativeClientTestCase 
{
         }
     }
 
-    @SuppressWarnings("resource")
     @Test
     public void testStreamReceiverSessionCannotCreateNewResources() throws 
Exception {
         try (ProtonTestServer peer = new ProtonTestServer()) {
@@ -1884,8 +1883,7 @@ class StreamReceiverTest extends ImperativeClientTestCase 
{
 
     private void testReadPayloadInChunksFromLargerMessage(boolean 
readWithArgs) throws Exception {
         final byte[] body = new byte[100];
-        final Random random = new Random();
-        random.setSeed(System.currentTimeMillis());
+        final Random random = new Random(System.currentTimeMillis());
         random.nextBytes(body);
         final byte[] payload = createEncodedMessage(new Data(body));
 
@@ -1960,7 +1958,6 @@ class StreamReceiverTest extends ImperativeClientTestCase 
{
         }
     }
 
-    @SuppressWarnings("resource")
     @Test
     public void testStreamReceiverMessageThrowsOnAnyMessageModificationAPI() 
throws Exception {
         final byte[] body = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
@@ -2051,8 +2048,7 @@ class StreamReceiverTest extends ImperativeClientTestCase 
{
     @Test
     public void testSkipPayloadInChunksFromSingleTransferMessage() throws 
Exception {
         final byte[] body = new byte[100];
-        final Random random = new Random();
-        random.setSeed(System.currentTimeMillis());
+        final Random random = new Random(System.currentTimeMillis());
         random.nextBytes(body);
         final byte[] payload = createEncodedMessage(new Data(body));
 
@@ -2130,13 +2126,11 @@ class StreamReceiverTest extends 
ImperativeClientTestCase {
     }
 
     private void testReadPayloadInChunksFromLargerMultiTransferMessage(boolean 
readWithArgs) throws Exception {
-        final Random random = new Random();
         final long seed = System.currentTimeMillis();
+        final Random random = new Random(seed);
         final int numChunks = 4;
         final int chunkSize = 30;
 
-        random.setSeed(seed);
-
         try (ProtonTestServer peer = new ProtonTestServer()) {
             peer.expectSASLAnonymousConnect();
             peer.expectOpen().respond();
@@ -2227,13 +2221,11 @@ class StreamReceiverTest extends 
ImperativeClientTestCase {
 
     @Test
     public void 
testReadPayloadFromSplitFrameTransferWithBufferLargerThanTotalPayload() throws 
Exception {
-        final Random random = new Random();
         final long seed = System.currentTimeMillis();
+        final Random random = new Random(seed);
         final int numChunks = 4;
         final int chunkSize = 30;
 
-        random.setSeed(seed);
-
         try (ProtonTestServer peer = new ProtonTestServer()) {
             peer.expectSASLAnonymousConnect();
             peer.expectOpen().respond();
@@ -2654,7 +2646,6 @@ class StreamReceiverTest extends ImperativeClientTestCase 
{
         }
     }
 
-    @SuppressWarnings("resource")
     @Test
     public void testStreamDeliveryHandlesInvalidHeaderEncoding() throws 
Exception {
         final byte[] payload = createInvalidHeaderEncoding();
@@ -2704,7 +2695,6 @@ class StreamReceiverTest extends ImperativeClientTestCase 
{
         }
     }
 
-    @SuppressWarnings("resource")
     @Test
     public void testStreamDeliveryHandlesInvalidDeliveryAnnotationsEncoding() 
throws Exception {
         final byte[] payload = createInvalidDeliveryAnnotationsEncoding();
@@ -2754,7 +2744,6 @@ class StreamReceiverTest extends ImperativeClientTestCase 
{
         }
     }
 
-    @SuppressWarnings("resource")
     @Test
     public void testStreamDeliveryHandlesInvalidMessageAnnotationsEncoding() 
throws Exception {
         final byte[] payload = createInvalidMessageAnnotationsEncoding();
@@ -2804,7 +2793,6 @@ class StreamReceiverTest extends ImperativeClientTestCase 
{
         }
     }
 
-    @SuppressWarnings("resource")
     @Test
     public void testStreamDeliveryHandlesInvalidPropertiesEncoding() throws 
Exception {
         final byte[] payload = createInvalidPropertiesEncoding();
@@ -2854,7 +2842,6 @@ class StreamReceiverTest extends ImperativeClientTestCase 
{
         }
     }
 
-    @SuppressWarnings("resource")
     @Test
     public void 
testStreamDeliveryHandlesInvalidApplicationPropertiesEncoding() throws 
Exception {
         final byte[] payload = createInvalidApplicationPropertiesEncoding();
@@ -2904,7 +2891,6 @@ class StreamReceiverTest extends ImperativeClientTestCase 
{
         }
     }
 
-    @SuppressWarnings("resource")
     @Test
     public void 
testStreamDeliveryHandlesInvalidHeaderEncodingDuringBodyStreamOpen() throws 
Exception {
         final byte[] payload = createInvalidHeaderEncoding();
diff --git 
a/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/transport/netty4/NettyServer.java
 
b/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/transport/netty4/NettyServer.java
index 6164acb9..5c6b0fe5 100644
--- 
a/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/transport/netty4/NettyServer.java
+++ 
b/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/transport/netty4/NettyServer.java
@@ -84,9 +84,9 @@ public abstract class NettyServer implements AutoCloseable {
     private Channel serverChannel;
     private final TransportOptions options;
     private final SslOptions sslOptions;
-    private int serverPort = SERVER_CHOOSES_PORT;
+    private volatile int serverPort = SERVER_CHOOSES_PORT;
     private final boolean needClientAuth;
-    private int maxFrameSize = 
TransportOptions.DEFAULT_WEBSOCKET_MAX_FRAME_SIZE;
+    private volatile int maxFrameSize = 
TransportOptions.DEFAULT_WEBSOCKET_MAX_FRAME_SIZE;
     private String webSocketPath = WEBSOCKET_PATH;
     private volatile boolean fragmentWrites;
     private volatile SslHandler sslHandler;
diff --git 
a/protonj2/src/main/java/org/apache/qpid/protonj2/engine/util/SplayMap.java 
b/protonj2/src/main/java/org/apache/qpid/protonj2/engine/util/SplayMap.java
index 92244de8..c9d6ca9b 100644
--- a/protonj2/src/main/java/org/apache/qpid/protonj2/engine/util/SplayMap.java
+++ b/protonj2/src/main/java/org/apache/qpid/protonj2/engine/util/SplayMap.java
@@ -1240,7 +1240,7 @@ public class SplayMap<E> implements 
NavigableMap<UnsignedInteger, E> {
         SplayedEntry<E> linkPrev;
 
         public SplayedEntry() {
-            initialize(key, value);
+            initialize(0, null);
         }
 
         public SplayedEntry<E> initialize(int key, E value) {
diff --git 
a/protonj2/src/test/java/org/apache/qpid/protonj2/codec/primitives/UUIDTypeCodecTest.java
 
b/protonj2/src/test/java/org/apache/qpid/protonj2/codec/primitives/UUIDTypeCodecTest.java
index f39bfbcd..c719a6d5 100644
--- 
a/protonj2/src/test/java/org/apache/qpid/protonj2/codec/primitives/UUIDTypeCodecTest.java
+++ 
b/protonj2/src/test/java/org/apache/qpid/protonj2/codec/primitives/UUIDTypeCodecTest.java
@@ -20,6 +20,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
 
@@ -247,23 +248,19 @@ public class UUIDTypeCodecTest extends CodecTestSupport {
     public void testWriteUUIDArrayWithMixedNullAndNotNullValues() throws 
IOException {
         ProtonBuffer buffer = 
ProtonBufferAllocator.defaultAllocator().allocate();
 
-        UUID[] source = new UUID[2];
-        source[0] = UUID.randomUUID();
-        source[1] = null;
+        final UUID[] source1 = new UUID[2];
+        source1[0] = UUID.randomUUID();
+        source1[1] = null;
 
-        try {
-            encoder.writeArray(buffer, encoderState, source);
-            fail("Should not be able to encode array with mixed null and 
non-null values");
-        } catch (Exception e) {}
+        assertThrows(Exception.class, () -> encoder.writeArray(buffer, 
encoderState, source1),
+            "Should not be able to encode array with mixed null and non-null 
values");
 
-        source = new UUID[2];
-        source[0] = null;
-        source[1] = UUID.randomUUID();
+        final UUID[] source2 = new UUID[2];
+        source2[0] = null;
+        source2[1] = UUID.randomUUID();
 
-        try {
-            encoder.writeArray(buffer, encoderState, source);
-            fail("Should not be able to encode array with mixed null and 
non-null values");
-        } catch (Exception e) {}
+        assertThrows(Exception.class, () -> encoder.writeArray(buffer, 
encoderState, source2),
+            "Should not be able to encode array with mixed null and non-null 
values");
     }
 
     @Test
diff --git 
a/protonj2/src/test/java/org/apache/qpid/protonj2/engine/impl/ProtonSenderTest.java
 
b/protonj2/src/test/java/org/apache/qpid/protonj2/engine/impl/ProtonSenderTest.java
index 168aa2fc..d8220e79 100644
--- 
a/protonj2/src/test/java/org/apache/qpid/protonj2/engine/impl/ProtonSenderTest.java
+++ 
b/protonj2/src/test/java/org/apache/qpid/protonj2/engine/impl/ProtonSenderTest.java
@@ -20,6 +20,7 @@ import static org.hamcrest.CoreMatchers.anyOf;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.notNullValue;
 import static org.hamcrest.CoreMatchers.nullValue;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
 import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -3196,11 +3197,13 @@ public class ProtonSenderTest extends 
ProtonEngineTestSupport {
             if (!sendSettled) {
                 delivery.settle();
             }
+
+            sent.add(delivery);
         }
 
         peer.waitForScriptToComplete(5, TimeUnit.SECONDS);
 
-        sent.forEach(delivery -> assertEquals(delivery.getTag().tagBytes() , 
expectedTag));
+        sent.forEach(delivery -> 
assertArrayEquals(delivery.getTag().tagBytes(), expectedTag));
 
         peer.expectDetach().respond();
         peer.expectClose().respond();


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org

Reply via email to