From b0849717a493dada274bd3e578fa6f480ee0dbc7 Mon Sep 17 00:00:00 2001 From: Spencer Gibb Date: Fri, 6 Mar 2020 10:11:40 -0500 Subject: [PATCH] deregister service when test is done --- .../ConsulServiceRegistryCheckTtlTests.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/serviceregistry/ConsulServiceRegistryCheckTtlTests.java b/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/serviceregistry/ConsulServiceRegistryCheckTtlTests.java index 98e42e42..2f881783 100644 --- a/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/serviceregistry/ConsulServiceRegistryCheckTtlTests.java +++ b/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/serviceregistry/ConsulServiceRegistryCheckTtlTests.java @@ -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)