deregister service when test is done

This commit is contained in:
Spencer Gibb
2020-03-06 10:11:40 -05:00
parent 3e86c77f5f
commit b0849717a4

View File

@@ -82,16 +82,21 @@ public class ConsulServiceRegistryCheckTtlTests {
@Test
public void contextLoads() throws NoSuchFieldException, IllegalAccessException {
ConsulRegistration httpRegistration = createHttpRegistration();
this.consulServiceRegistry.register(httpRegistration);
Field serviceHeartbeatsField = TtlScheduler.class
.getDeclaredField("serviceHeartbeats");
serviceHeartbeatsField.setAccessible(true);
Map serviceHeartbeats = (Map) serviceHeartbeatsField.get(this.ttlScheduler);
assertThat(serviceHeartbeats.keySet().contains(this.registration.getInstanceId()))
.as("Service with heartbeat check not registered in TTL scheduler")
.isTrue();
assertThat(serviceHeartbeats.keySet().contains(httpRegistration.getInstanceId()))
.as("Service with HTTP check registered in TTL scheduler").isFalse();
try {
this.consulServiceRegistry.register(httpRegistration);
Field serviceHeartbeatsField = TtlScheduler.class
.getDeclaredField("serviceHeartbeats");
serviceHeartbeatsField.setAccessible(true);
Map serviceHeartbeats = (Map) serviceHeartbeatsField.get(this.ttlScheduler);
assertThat(serviceHeartbeats.keySet().contains(this.registration.getInstanceId()))
.as("Service with heartbeat check not registered in TTL scheduler")
.isTrue();
assertThat(serviceHeartbeats.keySet().contains(httpRegistration.getInstanceId()))
.as("Service with HTTP check registered in TTL scheduler").isFalse();
}
finally {
this.consulServiceRegistry.deregister(httpRegistration);
}
}
@Configuration(proxyBeanMethods = false)