You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2019/08/21 16:35:50 UTC
[qpid-broker-j] 08/21: QPID-8349: [Tests][AMQP 1.0] Add ability to
assert received performatives using chained assert method
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 <or...@apache.org>
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: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org