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);