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
commit 7f97dc4fcab7b03956ef329ffd94938e5829f49f Author: Timothy Bish <[email protected]> AuthorDate: Tue Dec 9 11:13:54 2025 -0500 PROTON-2912 Clean up and add a test to cover the use case --- .../qpid/protonj2/client/impl/ClientDeliveryState.java | 6 +++--- .../org/apache/qpid/protonj2/client/impl/SenderTest.java | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) 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 3fc7183f..2d7f659a 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 @@ -186,9 +186,9 @@ public abstract class ClientDeliveryState implements DeliveryState { private final Rejected rejected = new Rejected(); - ClientRejected(Rejected rejected) { - if (rejected.getError() != null) { - this.rejected.setError(rejected.getError().copy()); + ClientRejected(Rejected source) { + if (source.getError() != null) { + rejected.setError(source.getError().copy()); } } diff --git a/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/impl/SenderTest.java b/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/impl/SenderTest.java index 78fd08e9..a7fefc4a 100644 --- a/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/impl/SenderTest.java +++ b/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/impl/SenderTest.java @@ -66,6 +66,7 @@ import org.apache.qpid.protonj2.client.exceptions.ClientOperationTimedOutExcepti import org.apache.qpid.protonj2.client.exceptions.ClientResourceRemotelyClosedException; import org.apache.qpid.protonj2.client.exceptions.ClientSendTimedOutException; import org.apache.qpid.protonj2.client.exceptions.ClientUnsupportedOperationException; +import org.apache.qpid.protonj2.client.impl.ClientDeliveryState.ClientRejected; import org.apache.qpid.protonj2.client.test.ImperativeClientTestCase; import org.apache.qpid.protonj2.engine.DeliveryTagGenerator; import org.apache.qpid.protonj2.test.driver.ProtonTestServer; @@ -76,6 +77,7 @@ import org.apache.qpid.protonj2.test.driver.matchers.messaging.DeliveryAnnotatio import org.apache.qpid.protonj2.test.driver.matchers.transport.TransferPayloadCompositeMatcher; import org.apache.qpid.protonj2.test.driver.matchers.types.EncodedAmqpValueMatcher; import org.apache.qpid.protonj2.types.DeliveryTag; +import org.apache.qpid.protonj2.types.messaging.Rejected; import org.apache.qpid.protonj2.types.transport.AmqpError; import org.apache.qpid.protonj2.types.transport.LinkError; import org.apache.qpid.protonj2.types.transport.ReceiverSettleMode; @@ -2470,7 +2472,11 @@ public class SenderTest extends ImperativeClientTestCase { peer.expectBegin().respond(); peer.expectAttach().ofSender().respond(); peer.remoteFlow().withLinkCredit(2).queue(); - peer.expectTransfer().withNonNullPayload().withMore(false).respond().withSettled(true).withState().rejected(); + peer.expectTransfer().withNonNullPayload() + .withMore(false) + .respond() + .withSettled(true) + .withState().rejected("RejectedA", "RejectedB"); peer.start(); URI remoteURI = peer.getServerURI(); @@ -2493,6 +2499,14 @@ public class SenderTest extends ImperativeClientTestCase { assertFalse(tracker.remoteState().isAccepted()); assertTrue(tracker.remoteState().getType().equals(DeliveryState.Type.REJECTED)); + ClientRejected remoteState = (ClientRejected) tracker.remoteState(); + Rejected protonState = (Rejected) remoteState.getProtonDeliveryState(); + + assertNotNull(protonState); + assertNotNull(protonState.getError()); + assertEquals("RejectedA", protonState.getError().getCondition().toString()); + assertEquals("RejectedB", protonState.getError().getDescription()); + peer.waitForScriptToComplete(5, TimeUnit.SECONDS); peer.expectDetach().respond(); peer.expectClose().respond(); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
