diff --git a/spring-cloud-consul-discovery/pom.xml b/spring-cloud-consul-discovery/pom.xml
index b5e3f88e..70038bf6 100644
--- a/spring-cloud-consul-discovery/pom.xml
+++ b/spring-cloud-consul-discovery/pom.xml
@@ -112,6 +112,17 @@
commons-configuration
commons-configuration
+
+ org.awaitility
+ awaitility
+ 4.0.3
+ test
+
+
+ org.springframework.cloud
+ spring-cloud-starter-loadbalancer
+ test
+
org.springframework.cloud
spring-cloud-test-support
diff --git a/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/discovery/ConsulLoadbalancerClientTests.java b/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/discovery/ConsulLoadbalancerClientTests.java
index bdd8727e..c8b4e24b 100644
--- a/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/discovery/ConsulLoadbalancerClientTests.java
+++ b/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/discovery/ConsulLoadbalancerClientTests.java
@@ -16,7 +16,6 @@
package org.springframework.cloud.consul.discovery;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -38,9 +37,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
* @author Spencer Gibb
*/
@RunWith(SpringRunner.class)
-@SpringBootTest(
- properties = { "spring.application.name=testConsulLoadBalancer",
- "spring.cloud.consul.discovery.prefer-ip-address=true", "spring.cloud.consul.discovery.tags=foo=bar" },
+@SpringBootTest(properties = { "spring.application.name=testConsulLoadBalancer",
+ "spring.cloud.consul.discovery.prefer-ip-address=true", "spring.cloud.consul.discovery.metadata.foo=bar" },
webEnvironment = RANDOM_PORT)
@ContextConfiguration(initializers = ConsulTestcontainers.class)
public class ConsulLoadbalancerClientTests {
@@ -49,7 +47,6 @@ public class ConsulLoadbalancerClientTests {
private LoadBalancerClient client;
@Test
- @Ignore // FIXME: 3.0.0
public void chooseWorks() {
ServiceInstance instance = this.client.choose("testConsulLoadBalancer");
assertThat(instance).isNotNull();
@@ -66,23 +63,8 @@ public class ConsulLoadbalancerClientTests {
@SpringBootConfiguration
@EnableAutoConfiguration
@EnableDiscoveryClient
- // @RibbonClient(name = "testConsulLoadBalancer", configuration =
- // MyRibbonConfig.class)
public static class MyTestConfig {
}
- public static class MyRibbonConfig {
-
- public MyRibbonConfig() {
- System.err.println("here");
- }
-
- // @Bean
- // public ServerListFilter ribbonServerListFilter() {
- // return servers -> servers;
- // }
-
- }
-
}
diff --git a/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/discovery/TtlSchedulerRemoveTests.java b/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/discovery/TtlSchedulerRemoveTests.java
index ba00e00d..fe266d30 100644
--- a/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/discovery/TtlSchedulerRemoveTests.java
+++ b/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/discovery/TtlSchedulerRemoveTests.java
@@ -23,7 +23,6 @@ import com.ecwid.consul.v1.QueryParams;
import com.ecwid.consul.v1.Response;
import com.ecwid.consul.v1.health.HealthChecksForServiceRequest;
import com.ecwid.consul.v1.health.model.Check;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -42,15 +41,18 @@ import org.springframework.test.context.junit4.SpringRunner;
import static com.ecwid.consul.v1.health.model.Check.CheckStatus.CRITICAL;
import static com.ecwid.consul.v1.health.model.Check.CheckStatus.PASSING;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.awaitility.Awaitility.await;
import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
/**
* @author Stéphane Leroy
*/
@RunWith(SpringRunner.class)
-@SpringBootTest(classes = TtlSchedulerRemoveTests.TtlSchedulerRemoveTestConfig.class, properties = {
- "spring.application.name=ttlSchedulerRemove", "spring.cloud.consul.discovery.instance-id=ttlSchedulerRemove-id",
- "spring.cloud.consul.discovery.heartbeat.enabled=true", "spring.cloud.consul.discovery.heartbeat.ttlValue=2" },
+@SpringBootTest(classes = TtlSchedulerRemoveTests.TtlSchedulerRemoveTestConfig.class,
+ properties = { "spring.cloud.consul.discovery.heartbeat.ttl=5s", "spring.application.name=ttlSchedulerRemove",
+ "spring.cloud.consul.discovery.instance-id=ttlSchedulerRemove-id",
+ "spring.cloud.consul.discovery.heartbeat.enabled=true",
+ "spring.cloud.consul.discovery.heartbeat.ttlValue=2" },
webEnvironment = RANDOM_PORT)
@ContextConfiguration(initializers = ConsulTestcontainers.class)
public class TtlSchedulerRemoveTests {
@@ -62,17 +64,18 @@ public class TtlSchedulerRemoveTests {
private TtlScheduler ttlScheduler;
@Test
- @Ignore // FIXME: 3.0.0
public void should_not_send_check_if_service_removed() throws InterruptedException {
- Thread.sleep(1000); // wait for Ttlscheduler to send a check to consul.
- Check serviceCheck = getCheckForService("ttlSchedulerRemove");
- assertThat(serviceCheck.getStatus()).as("Service check is in wrong state").isEqualTo(PASSING);
+ await().untilAsserted(() -> {
+ Check serviceCheck = getCheckForService("ttlSchedulerRemove");
+ assertThat(serviceCheck.getStatus()).as("Service check is in wrong state").isEqualTo(PASSING);
+ });
// Remove service from TtlScheduler and wait for TTL to expired.
this.ttlScheduler.remove("ttlSchedulerRemove-id");
- Thread.sleep(2100);
- serviceCheck = getCheckForService("ttlSchedulerRemove");
- assertThat(serviceCheck.getStatus()).as("Service check is in wrong state").isEqualTo(CRITICAL);
+ await().untilAsserted(() -> {
+ Check serviceCheck = getCheckForService("ttlSchedulerRemove");
+ assertThat(serviceCheck.getStatus()).as("Service check is in wrong state").isEqualTo(CRITICAL);
+ });
}
private Check getCheckForService(String serviceId) {
diff --git a/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/serviceregistry/ConsulAutoServiceRegistrationCustomizedInstanceGroupTests.java b/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/serviceregistry/ConsulAutoServiceRegistrationCustomizedInstanceGroupTests.java
index a6ada493..eef823f7 100644
--- a/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/serviceregistry/ConsulAutoServiceRegistrationCustomizedInstanceGroupTests.java
+++ b/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/serviceregistry/ConsulAutoServiceRegistrationCustomizedInstanceGroupTests.java
@@ -21,7 +21,6 @@ import java.util.Map;
import com.ecwid.consul.v1.ConsulClient;
import com.ecwid.consul.v1.Response;
import com.ecwid.consul.v1.agent.model.Service;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -29,9 +28,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.cloud.client.ServiceInstance;
+import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration;
import org.springframework.cloud.consul.ConsulAutoConfiguration;
-import org.springframework.cloud.consul.discovery.ConsulDiscoveryProperties;
import org.springframework.cloud.consul.test.ConsulTestcontainers;
import org.springframework.context.annotation.Configuration;
import org.springframework.test.context.ContextConfiguration;
@@ -56,10 +56,9 @@ public class ConsulAutoServiceRegistrationCustomizedInstanceGroupTests {
private ConsulClient consul;
@Autowired
- private ConsulDiscoveryProperties properties;
+ private LoadBalancerClient client;
@Test
- @Ignore // FIXME: 3.0.0
public void contextLoads() {
Response