This is an automated email from the ASF dual-hosted git repository. orudyy pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git
commit e5cc98f2d65f554ec8238ffb13e4144f86c3e853 Author: Alex Rudyy <[email protected]> AuthorDate: Tue Aug 20 14:43:45 2019 +0100 QPID-8349: [Tests][AMQP 1.0] Add ability to assert received performatives using chained assert method --- .../qpid/tests/protocol/v1_0/Interaction.java | 10 ++++++++ .../anonymousterminus/AnonymousTerminusTest.java | 27 ++++++++++++++-------- .../protocol/v1_0/messaging/TransferTest.java | 26 +++++++++++++++++++++ .../protocol/v1_0/transaction/DischargeTest.java | 4 ++++ .../transaction/TransactionalTransferTest.java | 7 ++++++ .../v1_0/transport/link/ResumeDeliveriesTest.java | 11 ++++++++- 6 files changed, 74 insertions(+), 11 deletions(-) diff --git a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java index 727b501..8c7709d 100644 --- a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java +++ b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java @@ -32,6 +32,7 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicLong; +import java.util.function.Consumer; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; @@ -848,6 +849,9 @@ public class Interaction extends AbstractInteraction<Interaction> try (QpidByteBuffer encodedForm = section.getEncodedForm()) { transfer.setPayload(encodedForm); + } + finally + { section.dispose(); } } @@ -1264,4 +1268,10 @@ public class Interaction extends AbstractInteraction<Interaction> return response; } + public <T> Interaction assertLatestResponse(Class<T> type, Consumer<T> assertion) + { + T latestResponse = getLatestResponse(type); + assertion.accept(latestResponse); + return this; + } } diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/anonymousterminus/AnonymousTerminusTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/anonymousterminus/AnonymousTerminusTest.java index 582e7de..6449e31 100644 --- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/anonymousterminus/AnonymousTerminusTest.java +++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/anonymousterminus/AnonymousTerminusTest.java @@ -26,6 +26,7 @@ import static org.hamcrest.CoreMatchers.instanceOf; import static org.hamcrest.CoreMatchers.notNullValue; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.is; import static org.junit.Assume.assumeThat; @@ -100,7 +101,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase .attachRole(Role.SENDER) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) - + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferDeliveryId() .transferPayload(generateMessagePayloadToDestination(BrokerAdmin.TEST_QUEUE_NAME)) .transferSettled(Boolean.TRUE) @@ -136,7 +137,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase .attachRole(Role.SENDER) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) - + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferDeliveryId() .transferPayload(generateMessagePayloadToDestination("Unknown")) .transferSettled(Boolean.TRUE) @@ -177,7 +178,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase .attachSourceOutcomes(Accepted.ACCEPTED_SYMBOL, Rejected.REJECTED_SYMBOL) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) - + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferDeliveryId() .transferPayload(generateMessagePayloadToDestination("Unknown")) .transferDeliveryTag(_deliveryTag) @@ -225,7 +226,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase .attachSourceOutcomes(Accepted.ACCEPTED_SYMBOL) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) - + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferDeliveryId() .transferPayload(generateMessagePayloadToDestination("Unknown")) .transferDeliveryTag(_deliveryTag) @@ -261,7 +262,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase .attachHandle(linkHandle) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) - + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferDeliveryId() .transferHandle(linkHandle) .transferPayload(generateMessagePayloadToDestination(BrokerAdmin.TEST_QUEUE_NAME)) @@ -294,7 +295,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase .attachHandle(linkHandle) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) - + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferDeliveryId() .transferHandle(linkHandle) .transferPayload(generateMessagePayloadToDestination(BrokerAdmin.TEST_QUEUE_NAME)) @@ -340,7 +341,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase .attachHandle(linkHandle) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) - + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferDeliveryId() .transferHandle(linkHandle) .transferPayload(generateMessagePayloadToDestination("Unknown")) @@ -388,7 +389,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase .attachHandle(linkHandle) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) - + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferDeliveryId() .transferHandle(linkHandle) .transferPayload(generateMessagePayloadToDestination("Unknown")) @@ -459,7 +460,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase .attachSourceOutcomes(Accepted.ACCEPTED_SYMBOL, Rejected.REJECTED_SYMBOL) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) - + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferDeliveryId() .transferHandle(linkHandle) .transferPayload(generateMessagePayloadToDestination("Unknown")) @@ -526,7 +527,7 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase .attachSourceOutcomes(Accepted.ACCEPTED_SYMBOL, Rejected.REJECTED_SYMBOL) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) - + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferDeliveryId() .transferHandle(linkHandle) .transferPayload(generateMessagePayloadToDestination("Unknown")) @@ -586,4 +587,10 @@ public class AnonymousTerminusTest extends BrokerAdminUsingTestBase messageEncoder.addData(TEST_MESSAGE_CONTENT); return messageEncoder.getPayload(); } + + private void assumeSufficientCredits(final Flow flow) + { + assumeThat(flow.getLinkCredit(), is(greaterThan(UnsignedInteger.ZERO))); + } + } diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/TransferTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/TransferTest.java index 4ef0f28..c89898d 100644 --- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/TransferTest.java +++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/TransferTest.java @@ -117,6 +117,7 @@ public class TransferTest extends BrokerAdminUsingTestBase .attachRole(Role.SENDER) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferHandle(null) .transfer() .consumeResponse() @@ -160,6 +161,7 @@ public class TransferTest extends BrokerAdminUsingTestBase .attachTargetAddress(BrokerAdmin.TEST_QUEUE_NAME) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferDeliveryId() .transferDeliveryTag(null) .transferPayloadData(getTestName()) @@ -185,6 +187,7 @@ public class TransferTest extends BrokerAdminUsingTestBase .attachHandle(linkHandle) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferDeliveryId() .transferHandle(linkHandle) .transferPayloadData(getTestName()) @@ -223,11 +226,13 @@ public class TransferTest extends BrokerAdminUsingTestBase .attachHandle(link1Handle) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .attachName("test2") .attachHandle(link2Handle) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferHandle(link1Handle) .transferPayloadData(contents[0]) @@ -273,6 +278,7 @@ public class TransferTest extends BrokerAdminUsingTestBase .attachTargetAddress(BrokerAdmin.TEST_QUEUE_NAME) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferPayloadData(getTestName()) .transferRcvSettleMode(ReceiverSettleMode.FIRST) .transfer() @@ -307,6 +313,7 @@ public class TransferTest extends BrokerAdminUsingTestBase .attachRcvSettleMode(ReceiverSettleMode.FIRST) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferPayloadData(getTestName()) .transferRcvSettleMode(ReceiverSettleMode.SECOND) .transfer() @@ -390,6 +397,7 @@ public class TransferTest extends BrokerAdminUsingTestBase Rejected.REJECTED_SYMBOL) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferDeliveryId() .transferPayload(messageEncoder.getPayload()) .transferRcvSettleMode(ReceiverSettleMode.FIRST) @@ -436,6 +444,7 @@ public class TransferTest extends BrokerAdminUsingTestBase .attachSourceOutcomes(Accepted.ACCEPTED_SYMBOL) .attach().consumeResponse(Attach.class) .consumeResponse(Flow.class) + .assertLatestResponse(Flow.class, this::assumeSufficientCredits) .transferDeliveryId() .transferPayload(messageEncoder.getPayload()) .transferRcvSettleMode(ReceiverSettleMode.FIRST) @@ -555,6 +564,7 @@ public class TransferTest extends BrokerAdminUsingTestBase .attachSourceAddress(BrokerAdmin.TEST_QUEUE_NAME) .attachRcvSettleMode(ReceiverSettleMode.SECOND) .attach().consumeResponse() + .assertLatestResponse(Attach.class, this::assumeReceiverSettlesSecond) .flowIncomingWindow(UnsignedInteger.ONE) .flowNextIncomingIdFromPeerLatestSessionBeginAndDeliveryCount() .flowOutgoingWindow(UnsignedInteger.ZERO) @@ -602,6 +612,7 @@ public class TransferTest extends BrokerAdminUsingTestBase .attachSourceOutcomes(Accepted.ACCEPTED_SYMBOL, Rejected.REJECTED_SYMBOL) .attachRcvSettleMode(ReceiverSettleMode.SECOND) .attach().consumeResponse() + .assertLatestResponse(Attach.class, this::assumeReceiverSettlesSecond) .flowIncomingWindow(UnsignedInteger.ONE) .flowNextIncomingIdFromPeerLatestSessionBeginAndDeliveryCount() .flowOutgoingWindow(UnsignedInteger.ZERO) @@ -659,6 +670,7 @@ public class TransferTest extends BrokerAdminUsingTestBase .attachSourceOutcomes() .attachSourceDefaultOutcome(null) .attach().consumeResponse() + .assertLatestResponse(Attach.class, this::assumeReceiverSettlesSecond) .flowIncomingWindow(UnsignedInteger.ONE) .flowNextIncomingIdFromPeerLatestSessionBeginAndDeliveryCount() .flowOutgoingWindow(UnsignedInteger.ZERO) @@ -705,6 +717,7 @@ public class TransferTest extends BrokerAdminUsingTestBase .attachSourceAddress(BrokerAdmin.TEST_QUEUE_NAME) .attachRcvSettleMode(ReceiverSettleMode.SECOND) .attach().consumeResponse() + .assertLatestResponse(Attach.class, this::assumeReceiverSettlesSecond) .flowIncomingWindow(UnsignedInteger.ONE) .flowNextIncomingIdFromPeerLatestSessionBeginAndDeliveryCount() .flowOutgoingWindow(UnsignedInteger.ZERO) @@ -821,7 +834,10 @@ public class TransferTest extends BrokerAdminUsingTestBase .attachTargetAddress(BrokerAdmin.TEST_QUEUE_NAME) .attach() .consumeResponse(Attach.class) + .assertLatestResponse(Attach.class, this::assumeReceiverSettlesSecond) .consumeResponse(Flow.class) + .assertLatestResponse(Flow.class, + flow -> assumeThat(flow.getLinkCredit().intValue(), is(greaterThan(1)))) .transferDeliveryId() .transferDeliveryTag(deliveryTag) .transferPayloadData(content1) @@ -1224,4 +1240,14 @@ public class TransferTest extends BrokerAdminUsingTestBase assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME), is(equalTo(content))); } } + + private void assumeSufficientCredits(final Flow flow) + { + assumeThat(flow.getLinkCredit(), is(greaterThan(UnsignedInteger.ZERO))); + } + + private void assumeReceiverSettlesSecond(final Attach attach) + { + assumeThat(attach.getRcvSettleMode(), is(equalTo(ReceiverSettleMode.SECOND))); + } } diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transaction/DischargeTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transaction/DischargeTest.java index 369bd9b..2036d1e 100644 --- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transaction/DischargeTest.java +++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transaction/DischargeTest.java @@ -29,6 +29,7 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.empty; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; +import static org.junit.Assume.assumeThat; import java.net.InetSocketAddress; import java.util.List; @@ -263,6 +264,9 @@ public class DischargeTest extends BrokerAdminUsingTestBase .attachTargetAddress(BrokerAdmin.TEST_QUEUE_NAME) .attachRcvSettleMode(ReceiverSettleMode.SECOND) .attach().consumeResponse(Attach.class) + .assertLatestResponse(Attach.class, + attach -> assumeThat(attach.getRcvSettleMode(), + is(equalTo(ReceiverSettleMode.SECOND)))) .consumeResponse(Flow.class) .transferDeliveryId() diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transaction/TransactionalTransferTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transaction/TransactionalTransferTest.java index 02d28a7..6a334dc 100644 --- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transaction/TransactionalTransferTest.java +++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transaction/TransactionalTransferTest.java @@ -201,6 +201,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase .attachHandle(linkHandle) .attach() .consumeResponse(Attach.class) + .assertLatestResponse(Attach.class, this::assumeReceiverSettlesSecond) .consumeResponse(Flow.class) .transferDeliveryId() @@ -451,6 +452,7 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase .attachHandle(UnsignedInteger.ONE) .attachSourceAddress(BrokerAdmin.TEST_QUEUE_NAME) .attachRcvSettleMode(ReceiverSettleMode.SECOND) + .assertLatestResponse(Attach.class, this::assumeReceiverSettlesSecond) .attach() .consumeResponse(Attach.class) @@ -698,4 +700,9 @@ public class TransactionalTransferTest extends BrokerAdminUsingTestBase data[0] = (byte) ((txnId & 0xff000000) >> 24); return new Binary(data); } + + private void assumeReceiverSettlesSecond(final Attach attach) + { + assumeThat(attach.getRcvSettleMode(), is(equalTo(ReceiverSettleMode.SECOND))); + } } diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/ResumeDeliveriesTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/ResumeDeliveriesTest.java index b38d30e..db3259b 100644 --- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/ResumeDeliveriesTest.java +++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/transport/link/ResumeDeliveriesTest.java @@ -113,6 +113,7 @@ public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase .attachRcvSettleMode(ReceiverSettleMode.SECOND) .attachTargetAddress(destination) .attach().consumeResponse(Attach.class) + .assertLatestResponse(Attach.class, this::assumeReceiverSettlesSecond) .consumeResponse(Flow.class); // 2. send a unsettled delivery @@ -175,6 +176,7 @@ public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase .attachRcvSettleMode(ReceiverSettleMode.SECOND) .attachTargetAddress(destination) .attach().consumeResponse(Attach.class) + .assertLatestResponse(Attach.class, this::assumeReceiverSettlesSecond) .consumeResponse(Flow.class); // 2. send enough unsettled deliveries to cause incomplete-unsettled to be true @@ -269,6 +271,7 @@ public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase .attachRcvSettleMode(ReceiverSettleMode.SECOND) .attachTargetAddress(destination) .attach().consumeResponse(Attach.class) + .assertLatestResponse(Attach.class, this::assumeReceiverSettlesSecond) .consumeResponse(Flow.class); // 2. send enough unsettled deliverys to cause incomplete-unsettled to be true @@ -356,7 +359,8 @@ public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase .attachSndSettleMode(SenderSettleMode.UNSETTLED) .attachSourceAddress(BrokerAdmin.TEST_QUEUE_NAME) .attach() - .consumeResponse(Attach.class); + .consumeResponse(Attach.class) + .assertLatestResponse(Attach.class, this::assumeReceiverSettlesSecond); Attach attach = interaction.getLatestResponse(Attach.class); assumeThat(attach.getSndSettleMode(), is(equalTo(SenderSettleMode.UNSETTLED))); @@ -755,4 +759,9 @@ public class ResumeDeliveriesTest extends BrokerAdminUsingTestBase interaction.doCloseConnection(); } } + + private void assumeReceiverSettlesSecond(final Attach attach) + { + assumeThat(attach.getRcvSettleMode(), Matchers.is(Matchers.equalTo(ReceiverSettleMode.SECOND))); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
