Github user gemmellr commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/2149#discussion_r196726608
--- Diff:
tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpNoHearbeatsTest.java
---
@@ -80,4 +88,68 @@ public void inspectOpenedResource(Connection connection)
{
connection.close();
}
+ private static final String QUEUE_NAME = "queue://testHeartless";
+
+ // This test is validating a scenario where the client will leave with
connection reset
+ // This is done by setting soLinger=0 on the socket, which will make
the system to issue a connection.reset instead of sending a
+ // disconnect.
+ @Test(timeout = 60000)
+ public void testCloseConsumerOnConnectionReset() throws Exception {
+
+ AmqpClient client = createAmqpClient();
+ assertNotNull(client);
+
+ client.setValidator(new AmqpValidator() {
+
+ @Override
+ public void inspectOpenedResource(Connection connection) {
+ assertEquals("idle timeout was not disabled", 0,
connection.getTransport().getRemoteIdleTimeout());
+ }
+ });
+
+ AmqpConnection connection = addConnection(client.connect());
+ assertNotNull(connection);
+
+ connection.getStateInspector().assertValid();
+ AmqpSession session = connection.createSession();
+ AmqpReceiver receiver = session.createReceiver(QUEUE_NAME);
+
+ // This test needs a remote process exiting without closing the
socket
+ // with soLinger=0 on the socket so it will issue a connection.reset
+ Process p =
SpawnedVMSupport.spawnVM(AmqpNoHearbeatsTest.class.getName(),
"testConnectionReset");
--- End diff --
Would using the test name be a better idea here to make it align better?
---