Skip to content

Commit

Permalink
Added Mockito timeout for verifying mqtt client disconnection.
Browse files Browse the repository at this point in the history
In some circumstances this check failed, most probably due to timing issues.

Signed-off-by: Juergen Fickel <juergen.fickel@bosch.io>
  • Loading branch information
Juergen Fickel committed Jul 14, 2022
1 parent 44efc56 commit ad9fec0
Showing 1 changed file with 7 additions and 6 deletions.
Expand Up @@ -80,6 +80,7 @@
public final class ConnectionTesterActorTest {

private static final ConnectionId CONNECTION_ID = ConnectionId.generateRandom();
private static final long CLIENT_DISCONNECT_TIMEOUT = 500L;

@Rule
public final ActorSystemResource actorSystemResource = ActorSystemResource.newInstance();
Expand Down Expand Up @@ -167,7 +168,7 @@ public void testConnectionWhenConnectingGenericMqttClientFailsReturnsFailureStat
assertThat(failure.cause()).isEqualTo(error);
Mockito.verify(connectionLogger)
.failure(Mockito.eq("Connection test failed: {0}"), Mockito.eq(error.getMessage()));
Mockito.verify(genericMqttClient).disconnect();
Mockito.verify(genericMqttClient, Mockito.timeout(CLIENT_DISCONNECT_TIMEOUT)).disconnect();
}

@Test
Expand Down Expand Up @@ -222,7 +223,7 @@ public void testConnectionWorksAsExpectedIfSuccessful() {
final var successMessage = "Connection test was successful.";
assertThat(success.status()).isEqualTo(successMessage);
Mockito.verify(connectionLogger).success(Mockito.eq(successMessage));
Mockito.verify(genericMqttClient).disconnect();
Mockito.verify(genericMqttClient, Mockito.timeout(CLIENT_DISCONNECT_TIMEOUT)).disconnect();
}
}

Expand Down Expand Up @@ -279,7 +280,7 @@ public void testConnectionWorksAsExpectedIfSomeFailuresBecauseOfUnspecificExcept
.hasMessage(errorMessage)
.hasNoCause();
Mockito.verify(connectionLogger).failure("Connection test failed: {0}", errorMessage);
Mockito.verify(genericMqttClient).disconnect();
Mockito.verify(genericMqttClient, Mockito.timeout(CLIENT_DISCONNECT_TIMEOUT)).disconnect();
}
}

Expand Down Expand Up @@ -342,7 +343,7 @@ public void testConnectionWorksAsExpectedIfSomeFailuresBecauseOfAllSubscriptions
.hasMessage(errorMessage)
.hasNoCause();
Mockito.verify(connectionLogger).failure("Connection test failed: {0}", errorMessage);
Mockito.verify(genericMqttClient).disconnect();
Mockito.verify(genericMqttClient, Mockito.timeout(CLIENT_DISCONNECT_TIMEOUT)).disconnect();
}
}

Expand Down Expand Up @@ -400,7 +401,7 @@ public void testConnectionFailsIfPublisherActorDoesNotRespond() {
.hasMessageEndingWith("did not report its status within <%s>.", ConnectionTesterActor.ASK_TIMEOUT)
.hasCauseInstanceOf(AskTimeoutException.class);
Mockito.verify(connectionLogger).failure(Mockito.anyString(), Mockito.anyString());
Mockito.verify(genericMqttClient).disconnect();
Mockito.verify(genericMqttClient, Mockito.timeout(CLIENT_DISCONNECT_TIMEOUT)).disconnect();
}
}

Expand Down Expand Up @@ -459,7 +460,7 @@ public void testConnectionFailsIfPublisherActorSendsUnexpectedResponseAndOneSubs
.hasMessageContaining("has status <%s>", StatusInfo.Status.DOWN)
.hasNoCause();
Mockito.verify(connectionLogger).failure(Mockito.anyString(), Mockito.anyString());
Mockito.verify(genericMqttClient).disconnect();
Mockito.verify(genericMqttClient, Mockito.timeout(CLIENT_DISCONNECT_TIMEOUT)).disconnect();
}
}

Expand Down

0 comments on commit ad9fec0

Please sign in to comment.