QPID-8349: [Tests][AMQP 1.0] Add ability to close connections without asserting peer responses
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 57d90d2..c0ccf92 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
@@ -1282,4 +1282,16 @@
assertion.accept(latestResponse);
return this;
}
+
+ public void detachEndCloseUnconditionally() throws Exception
+ {
+ detachClose(true).detach().end().close().sync();
+ }
+
+ public Interaction closeUnconditionally() throws Exception
+ {
+ close().sync();
+ return this;
+ }
+
}
diff --git a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Utils.java b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Utils.java
index 36bc8a7..cb55d7f 100644
--- a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Utils.java
+++ b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Utils.java
@@ -99,10 +99,7 @@
.dispositionLast(interaction.getLatestDeliveryId())
.dispositionState(new Accepted())
.disposition()
- .detachClose(true)
- .detach().consumeResponse(Detach.class)
- .end().consumeResponse(End.class)
- .doCloseConnection();
+ .detachEndCloseUnconditionally();
return interaction.getDecodedLatestDelivery();
}
}
@@ -178,10 +175,7 @@
.sync();
tag++;
}
- interaction.detachClose(true)
- .detach().consumeResponse(Detach.class)
- .end().consumeResponse(End.class)
- .doCloseConnection();
+ interaction.detachEndCloseUnconditionally();
}
}
}
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/DecodeErrorTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/DecodeErrorTest.java
index c0aaf45..d3d925c 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/DecodeErrorTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/DecodeErrorTest.java
@@ -106,6 +106,7 @@
.transfer();
}
+ interaction.closeUnconditionally();
}
final String validMessage = getTestName() + "_2";
@@ -132,6 +133,7 @@
.attachSource(source)
.attachRole(Role.SENDER)
.attach().consumeResponse()
+ .closeUnconditionally()
.getLatestResponse();
assertThat(latestResponse, is(notNullValue()));
@@ -165,6 +167,7 @@
.attachTarget(target)
.attachRole(Role.SENDER)
.attach().consumeResponse()
+ .closeUnconditionally()
.getLatestResponse();
assertThat(latestResponse, is(notNullValue()));
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 10a700c..4748f10 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
@@ -106,7 +106,7 @@
.transferSettled(Boolean.TRUE)
.transferDeliveryTag(_deliveryTag)
.transfer()
- .sync();
+ .detachEndCloseUnconditionally();
assertThat(Utils.receiveMessage(_brokerAddress, BrokerAdmin.TEST_QUEUE_NAME),
is(equalTo(getTestName())));
@@ -267,7 +267,8 @@
.transferDeliveryTag(_deliveryTag)
.transferTransactionalStateFromCurrentTransaction()
.transferSettled(Boolean.TRUE)
- .transfer().txnDischarge(false);
+ .transfer().txnDischarge(false)
+ .detachEndCloseUnconditionally();
assertThat(interaction.getCoordinatorLatestDeliveryState(), is(instanceOf(Accepted.class)));
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/MultiTransferTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/MultiTransferTest.java
index 766afe5..da85c83 100644
--- a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/MultiTransferTest.java
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/messaging/MultiTransferTest.java
@@ -106,6 +106,9 @@
{
payload.dispose();
}
+
+ interaction.detachEndCloseUnconditionally();
+
assertThat(disposition.getFirst(), is(equalTo(deliveryId)));
assertThat(disposition.getLast(), oneOf(null, deliveryId));
assertThat(disposition.getSettled(), is(equalTo(true)));
@@ -165,6 +168,8 @@
}
Disposition disposition = interaction.consume(Disposition.class, Flow.class);
+ interaction.detachEndCloseUnconditionally();
+
assertThat(disposition.getFirst(), is(equalTo(deliveryId)));
assertThat(disposition.getLast(), oneOf(null, deliveryId));
assertThat(disposition.getSettled(), is(equalTo(true)));
@@ -210,6 +215,8 @@
{
payload.dispose();
}
+
+ interaction.detachEndCloseUnconditionally();
}
String secondMessage = getTestName() + "_2";
Utils.putMessageOnQueue(getBrokerAdmin(), BrokerAdmin.TEST_QUEUE_NAME, secondMessage);
@@ -309,6 +316,8 @@
assertThat(disposition.getState(), is(instanceOf(Accepted.class)));
}
+ interaction.detachEndCloseUnconditionally();
+
assertThat("Unexpected number of dispositions", dispositionMap.size(), equalTo(2));
assertThat(dispositionMap.containsKey(deliverId1), is(true));
assertThat(dispositionMap.containsKey(deliveryId2), is(true));
@@ -387,6 +396,7 @@
payload.dispose();
}
+ interaction.closeUnconditionally();
}
final String controlMessage = getTestName() + "_Control";
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 6332ce4..7b42edb 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
@@ -927,7 +927,7 @@
.transfer()
.sync();
- interaction.doCloseConnection();
+ interaction.closeUnconditionally();
}
assertTestQueueMessages(contents);