Merge branch '2.2.x'
This commit is contained in:
@@ -1,32 +1,28 @@
|
||||
version: 2
|
||||
machine: true
|
||||
jobs:
|
||||
build:
|
||||
docker:
|
||||
- image: springcloud/pipeline-base
|
||||
# user: appuser
|
||||
machine:
|
||||
image: ubuntu-1604:202007-01
|
||||
environment:
|
||||
_JAVA_OPTIONS: "-Xms1024m -Xmx2048m"
|
||||
TERM: dumb
|
||||
CACHE_VERSION: 1
|
||||
branches:
|
||||
ignore:
|
||||
- gh-pages # list of branches to ignore
|
||||
steps:
|
||||
- checkout
|
||||
- restore_cache:
|
||||
key: sc-consul-{{ .Branch }}
|
||||
- run:
|
||||
command: ./src/main/bash/ci_install_consul.sh
|
||||
key: sc-consul-{{ .Environment.CACHE_VERSION }}-{{ .Branch }}
|
||||
- run:
|
||||
name: "Download dependencies"
|
||||
command: |
|
||||
./mvnw -s .settings.xml -U --fail-never dependency:go-offline || true
|
||||
- save_cache:
|
||||
key: sc-consul-{{ .Branch }}
|
||||
key: sc-consul-{{ .Environment.CACHE_VERSION }}-{{ .Branch }}
|
||||
paths:
|
||||
- ~/.m2
|
||||
- run:
|
||||
name: "Running Consul"
|
||||
command: ./src/test/bash/ci_run_consul.sh
|
||||
- run:
|
||||
name: "Running build"
|
||||
command: ./mvnw -s .settings.xml clean org.jacoco:jacoco-maven-plugin:prepare-agent install -U -P sonar -nsu --batch-mode -Dmaven.test.redirectTestOutputToFile=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
|
||||
|
||||
6
pom.xml
6
pom.xml
@@ -26,6 +26,7 @@
|
||||
<spring-cloud-deployer.version>1.0.3.RELEASE</spring-cloud-deployer.version>
|
||||
<spring-cloud-openfeign.version>3.0.0-SNAPSHOT</spring-cloud-openfeign.version>
|
||||
<spring-cloud-stream.version>3.1.0-SNAPSHOT</spring-cloud-stream.version>
|
||||
<testcontainers.version>1.14.3</testcontainers.version>
|
||||
</properties>
|
||||
|
||||
<scm>
|
||||
@@ -163,6 +164,11 @@
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!-- end archaius deps -->
|
||||
<dependency>
|
||||
<groupId>org.testcontainers</groupId>
|
||||
<artifactId>testcontainers</artifactId>
|
||||
<version>${testcontainers.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
trap 'pkill -9 consul; EXIT' 0
|
||||
./src/main/bash/ci_install_consul.sh
|
||||
./src/test/bash/ci_run_consul.sh
|
||||
./mvnw clean install -B -Pdocs ${@}
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
./src/main/bash/ci_install_consul.sh
|
||||
./src/test/bash/ci_run_consul.sh
|
||||
./mvnw clean install -B -Pdocs -DskipTests -fae
|
||||
|
||||
@@ -68,7 +68,18 @@
|
||||
<version>2.0.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.testcontainers</groupId>
|
||||
<artifactId>testcontainers</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-consul-core</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
||||
@@ -28,6 +28,7 @@ import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.cloud.stream.annotation.EnableBinding;
|
||||
import org.springframework.cloud.stream.annotation.Output;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
@@ -36,6 +37,7 @@ import org.springframework.messaging.Message;
|
||||
import org.springframework.messaging.MessageChannel;
|
||||
import org.springframework.messaging.support.MessageBuilder;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
|
||||
@@ -55,6 +57,7 @@ import static org.springframework.test.annotation.DirtiesContext.ClassMode.AFTER
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest(classes = ConsulBinderApplicationTests.Application.class)
|
||||
@DirtiesContext(classMode = AFTER_EACH_TEST_METHOD)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulBinderApplicationTests {
|
||||
|
||||
@Rule
|
||||
|
||||
@@ -23,6 +23,7 @@ import org.junit.rules.ExpectedException;
|
||||
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.cloud.stream.annotation.EnableBinding;
|
||||
import org.springframework.cloud.stream.annotation.Output;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
@@ -43,6 +44,7 @@ public class ConsulBinderConfigurationTests {
|
||||
public void consulBinderDisabledWorks() {
|
||||
this.exception.expectMessage(containsString("no proper implementation found"));
|
||||
new SpringApplicationBuilder(Application.class)
|
||||
.initializers(new ConsulTestcontainers())
|
||||
.properties("spring.cloud.consul.binder.enabled=false").run();
|
||||
}
|
||||
|
||||
@@ -51,6 +53,7 @@ public class ConsulBinderConfigurationTests {
|
||||
public void consulDisabledDisablesBinder() {
|
||||
this.exception.expectMessage(containsString("no proper implementation found"));
|
||||
new SpringApplicationBuilder(Application.class)
|
||||
.initializers(new ConsulTestcontainers())
|
||||
.properties("spring.cloud.consul.enabled=false").run();
|
||||
}
|
||||
|
||||
|
||||
@@ -78,6 +78,18 @@
|
||||
<artifactId>junit-vintage-engine</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.testcontainers</groupId>
|
||||
<artifactId>testcontainers</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-consul-core</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
||||
@@ -19,6 +19,7 @@ package org.springframework.cloud.consul.config;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -36,6 +37,7 @@ public class ConsulConfigBootstrapConfigurationTests {
|
||||
@Test
|
||||
public void testConfigPropsBeanBacksOff() {
|
||||
this.contextRunner.withUserConfiguration(TestConfig.class)
|
||||
.withInitializer(new ConsulTestcontainers())
|
||||
.withUserConfiguration(ConsulConfigBootstrapConfiguration.class)
|
||||
.run(context -> {
|
||||
ConsulConfigProperties config = context
|
||||
@@ -54,7 +56,7 @@ public class ConsulConfigBootstrapConfigurationTests {
|
||||
@Test
|
||||
public void testConfigPropsBeanKicksIn() {
|
||||
this.contextRunner.withUserConfiguration(ConsulConfigBootstrapConfiguration.class)
|
||||
.run(context -> {
|
||||
.withInitializer(new ConsulTestcontainers()).run(context -> {
|
||||
ConsulConfigProperties config = context
|
||||
.getBean(ConsulConfigProperties.class);
|
||||
assertThat(config.getPrefix()).as("Prefix did not match")
|
||||
@@ -64,19 +66,19 @@ public class ConsulConfigBootstrapConfigurationTests {
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* Test config that simulates a "user provided bean".
|
||||
*/
|
||||
private static class TestConfig {
|
||||
|
||||
/**
|
||||
* Test config that simulates a "user provided bean".
|
||||
*/
|
||||
class TestConfig {
|
||||
@Bean
|
||||
public ConsulConfigProperties consulConfigProperties() {
|
||||
ConsulConfigProperties config = new ConsulConfigProperties();
|
||||
config.setPrefix("platform-config");
|
||||
config.setDefaultContext("defaults");
|
||||
return config;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ConsulConfigProperties consulConfigProperties() {
|
||||
ConsulConfigProperties config = new ConsulConfigProperties();
|
||||
config.setPrefix("platform-config");
|
||||
config.setDefaultContext("defaults");
|
||||
return config;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.cloud.consul.ConsulProperties;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@@ -31,8 +31,8 @@ public class ConsulPropertyPrefixTests {
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
ConsulProperties properties = new ConsulProperties();
|
||||
this.client = new ConsulClient(properties.getHost(), properties.getPort());
|
||||
ConsulTestcontainers.start();
|
||||
this.client = ConsulTestcontainers.client();
|
||||
}
|
||||
|
||||
@After
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.junit.Test;
|
||||
import org.springframework.boot.WebApplicationType;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.cloud.consul.ConsulProperties;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.env.ConfigurableEnvironment;
|
||||
@@ -64,13 +64,10 @@ public class ConsulPropertySourceLocatorAppNameCustomizedTests {
|
||||
|
||||
private ConsulClient client;
|
||||
|
||||
private ConsulProperties properties;
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
this.properties = new ConsulProperties();
|
||||
this.client = new ConsulClient(this.properties.getHost(),
|
||||
this.properties.getPort());
|
||||
ConsulTestcontainers.start();
|
||||
this.client = ConsulTestcontainers.client();
|
||||
this.client.deleteKVValues(PREFIX);
|
||||
this.client.setKVValue(KEY1, VALUE1);
|
||||
this.client.setKVValue(KEY2, VALUE2);
|
||||
@@ -79,11 +76,12 @@ public class ConsulPropertySourceLocatorAppNameCustomizedTests {
|
||||
.web(WebApplicationType.NONE)
|
||||
.run("--spring.application.name=testConsulPropertySourceLocatorAppNameCustomized",
|
||||
"--spring.config.use-legacy-processing=true",
|
||||
"--spring.cloud.consul.host=" + ConsulTestcontainers.getHost(),
|
||||
"--spring.cloud.consul.port=" + ConsulTestcontainers.getPort(),
|
||||
"--spring.cloud.consul.config.name=" + CONFIG_NAME,
|
||||
"--spring.cloud.consul.config.prefix=" + ROOT);
|
||||
|
||||
this.client = this.context.getBean(ConsulClient.class);
|
||||
this.properties = this.context.getBean(ConsulProperties.class);
|
||||
this.environment = this.context.getEnvironment();
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.junit.Test;
|
||||
import org.springframework.boot.WebApplicationType;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.cloud.consul.ConsulProperties;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.env.ConfigurableEnvironment;
|
||||
@@ -61,13 +61,10 @@ public class ConsulPropertySourceLocatorFilesTests {
|
||||
|
||||
private ConsulClient client;
|
||||
|
||||
private ConsulProperties properties;
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
this.properties = new ConsulProperties();
|
||||
this.client = new ConsulClient(this.properties.getHost(),
|
||||
this.properties.getPort());
|
||||
ConsulTestcontainers.start();
|
||||
this.client = ConsulTestcontainers.client();
|
||||
this.client.setKVValue(ROOT + APPLICATION_YML, "foo: bar\nmy.baz: ${foo}");
|
||||
this.client.setKVValue(ROOT + APPLICATION_DEV_YML,
|
||||
"foo: bar-dev\nmy.baz: ${foo}");
|
||||
@@ -79,13 +76,14 @@ public class ConsulPropertySourceLocatorFilesTests {
|
||||
this.context = new SpringApplicationBuilder(Config.class)
|
||||
.web(WebApplicationType.NONE).run("--spring.application.name=" + APP_NAME,
|
||||
"--spring.config.use-legacy-processing=true",
|
||||
"--spring.cloud.consul.host=" + ConsulTestcontainers.getHost(),
|
||||
"--spring.cloud.consul.port=" + ConsulTestcontainers.getPort(),
|
||||
"--spring.cloud.consul.config.prefix=" + ROOT,
|
||||
"--spring.cloud.consul.config.format=FILES",
|
||||
"--spring.profiles.active=dev",
|
||||
"spring.cloud.consul.config.watch.delay=1");
|
||||
|
||||
this.client = this.context.getBean(ConsulClient.class);
|
||||
this.properties = this.context.getBean(ConsulProperties.class);
|
||||
this.environment = this.context.getEnvironment();
|
||||
}
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ import org.junit.Test;
|
||||
import org.springframework.boot.WebApplicationType;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.cloud.consul.ConsulProperties;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.cloud.context.environment.EnvironmentChangeEvent;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
@@ -80,13 +80,10 @@ public class ConsulPropertySourceLocatorTests {
|
||||
|
||||
private ConsulClient client;
|
||||
|
||||
private ConsulProperties properties;
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
this.properties = new ConsulProperties();
|
||||
this.client = new ConsulClient(this.properties.getHost(),
|
||||
this.properties.getPort());
|
||||
ConsulTestcontainers.start();
|
||||
this.client = ConsulTestcontainers.client();
|
||||
this.client.deleteKVValues(PREFIX);
|
||||
this.client.setKVValue(KEY1, VALUE1);
|
||||
this.client.setKVValue(KEY2, VALUE2);
|
||||
@@ -94,11 +91,12 @@ public class ConsulPropertySourceLocatorTests {
|
||||
this.context = new SpringApplicationBuilder(Config.class)
|
||||
.web(WebApplicationType.NONE).run("--SPRING_APPLICATION_NAME=" + APP_NAME,
|
||||
"--spring.config.use-legacy-processing=true",
|
||||
"--spring.cloud.consul.host=" + ConsulTestcontainers.getHost(),
|
||||
"--spring.cloud.consul.port=" + ConsulTestcontainers.getPort(),
|
||||
"--spring.cloud.consul.config.prefix=" + ROOT,
|
||||
"spring.cloud.consul.config.watch.delay=10");
|
||||
|
||||
this.client = this.context.getBean(ConsulClient.class);
|
||||
this.properties = this.context.getBean(ConsulProperties.class);
|
||||
this.environment = this.context.getEnvironment();
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.cloud.consul.ConsulProperties;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@@ -34,8 +34,6 @@ public class ConsulPropertySourceTests {
|
||||
|
||||
private ConsulClient client;
|
||||
|
||||
private ConsulProperties properties;
|
||||
|
||||
private String prefix;
|
||||
|
||||
private String kvContext;
|
||||
@@ -44,11 +42,10 @@ public class ConsulPropertySourceTests {
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
this.properties = new ConsulProperties();
|
||||
ConsulTestcontainers.start();
|
||||
this.prefix = "consulPropertySourceTests"
|
||||
+ new Random().nextInt(Integer.MAX_VALUE);
|
||||
this.client = new ConsulClient(this.properties.getHost(),
|
||||
this.properties.getPort());
|
||||
this.client = ConsulTestcontainers.client();
|
||||
}
|
||||
|
||||
@After
|
||||
|
||||
@@ -98,6 +98,26 @@
|
||||
<artifactId>junit-vintage-engine</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.testcontainers</groupId>
|
||||
<artifactId>testcontainers</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>3.2.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>test-jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
||||
@@ -24,13 +24,20 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.core.style.ToStringCreator;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import static org.springframework.cloud.consul.ConsulProperties.PREFIX;
|
||||
|
||||
/**
|
||||
* @author Spencer Gibb
|
||||
*/
|
||||
@ConfigurationProperties("spring.cloud.consul")
|
||||
@ConfigurationProperties(PREFIX)
|
||||
@Validated
|
||||
public class ConsulProperties {
|
||||
|
||||
/**
|
||||
* Prefix for configuration properties.
|
||||
*/
|
||||
public static final String PREFIX = "spring.cloud.consul";
|
||||
|
||||
/** Consul agent hostname. Defaults to 'localhost'. */
|
||||
@NotNull
|
||||
private String host = "localhost";
|
||||
|
||||
@@ -28,6 +28,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.SpringBootConfiguration;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.test.util.ReflectionTestUtils;
|
||||
|
||||
@@ -39,6 +41,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
"spring.cloud.consul.tls.key-store-password=letmein",
|
||||
"spring.cloud.consul.tls.certificate-path=src/test/resources/trustStore.jks",
|
||||
"spring.cloud.consul.tls.certificate-password=change_me" })
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoConfigurationTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -25,6 +25,8 @@ import org.springframework.boot.actuate.health.HealthEndpoint;
|
||||
import org.springframework.boot.actuate.health.Status;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -34,6 +36,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
*/
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulHealthIndicatorUpTest {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
/*
|
||||
* Copyright 2013-2020 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.cloud.consul.test;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.ecwid.consul.v1.ConsulClient;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.testcontainers.containers.GenericContainer;
|
||||
import org.testcontainers.containers.output.Slf4jLogConsumer;
|
||||
import org.testcontainers.containers.wait.strategy.Wait;
|
||||
|
||||
import org.springframework.cloud.consul.ConsulProperties;
|
||||
import org.springframework.context.ApplicationContextInitializer;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.core.env.MapPropertySource;
|
||||
import org.springframework.core.env.MutablePropertySources;
|
||||
|
||||
public class ConsulTestcontainers
|
||||
implements ApplicationContextInitializer<ConfigurableApplicationContext> {
|
||||
|
||||
static final Logger logger = LoggerFactory.getLogger(ConsulTestcontainers.class);
|
||||
|
||||
public static GenericContainer<?> consul = new GenericContainer<>("consul:1.7.2")
|
||||
.withLogConsumer(new Slf4jLogConsumer(logger).withSeparateOutputStreams())
|
||||
.waitingFor(Wait.forHttp("/v1/status/leader")).withExposedPorts(8500)
|
||||
.withCommand("agent", "-dev", "-server", "-bootstrap", "-client", "0.0.0.0",
|
||||
"-log-level", "trace");
|
||||
|
||||
@Override
|
||||
public void initialize(ConfigurableApplicationContext context) {
|
||||
start();
|
||||
|
||||
MutablePropertySources sources = context.getEnvironment().getPropertySources();
|
||||
|
||||
if (!sources.contains("consulTestcontainer")) {
|
||||
Integer mappedPort = consul.getMappedPort(8500);
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put(ConsulProperties.PREFIX + ".port", String.valueOf(mappedPort));
|
||||
map.put(ConsulProperties.PREFIX + ".host", consul.getContainerIpAddress());
|
||||
|
||||
sources.addFirst(new MapPropertySource("consulTestcontainer", map));
|
||||
}
|
||||
}
|
||||
|
||||
public static void start() {
|
||||
consul.start();
|
||||
}
|
||||
|
||||
public static Integer getPort() {
|
||||
if (!consul.isRunning()) {
|
||||
throw new IllegalStateException("consul Testcontainer is not running");
|
||||
}
|
||||
return consul.getMappedPort(8500);
|
||||
}
|
||||
|
||||
public static String getHost() {
|
||||
if (!consul.isRunning()) {
|
||||
throw new IllegalStateException("consul Testcontainer is not running");
|
||||
}
|
||||
return consul.getContainerIpAddress();
|
||||
}
|
||||
|
||||
public static ConsulClient client() {
|
||||
return new ConsulClient(getHost(), getPort());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -122,6 +122,18 @@
|
||||
<artifactId>reactor-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.testcontainers</groupId>
|
||||
<artifactId>testcontainers</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-consul-core</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
||||
@@ -27,7 +27,9 @@ import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.client.ServiceInstance;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -42,6 +44,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.preferIpAddress=true",
|
||||
"consul.token=2d2e6b3b-1c82-40ab-8171-54609d8ad304" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulDiscoveryClientAclTests {
|
||||
|
||||
@Autowired
|
||||
@@ -58,10 +61,11 @@ public class ConsulDiscoveryClientAclTests {
|
||||
@Test
|
||||
public void getInstancesForSecondServiceWorks() throws Exception {
|
||||
|
||||
new SpringApplicationBuilder(MyTestConfig.class).run(
|
||||
"--spring.application.name=testSecondServiceAcl", "--server.port=0",
|
||||
"--spring.cloud.consul.discovery.preferIpAddress=true",
|
||||
"--consul.token=2d2e6b3b-1c82-40ab-8171-54609d8ad304");
|
||||
new SpringApplicationBuilder(MyTestConfig.class)
|
||||
.initializers(new ConsulTestcontainers())
|
||||
.run("--spring.application.name=testSecondServiceAcl", "--server.port=0",
|
||||
"--spring.cloud.consul.discovery.preferIpAddress=true",
|
||||
"--consul.token=2d2e6b3b-1c82-40ab-8171-54609d8ad304");
|
||||
|
||||
List<ServiceInstance> instances = this.discoveryClient
|
||||
.getInstances("testSecondServiceAcl");
|
||||
|
||||
@@ -28,7 +28,9 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.client.ServiceInstance;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -48,6 +50,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.metadata[foo]=bar",
|
||||
"spring.cloud.consul.discovery.metadata[foo2]=bar2" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulDiscoveryClientCustomizedTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -30,9 +30,11 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.client.ServiceInstance;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -48,6 +50,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.catalogServicesWatch.enabled=false",
|
||||
"spring.cloud.consul.discovery.defaultQueryTag=intg" })
|
||||
@DirtiesContext
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulDiscoveryClientDefaultQueryTagTests {
|
||||
|
||||
public static final String NAME = "consulServiceDefaultTag";
|
||||
|
||||
@@ -26,7 +26,9 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.client.ServiceInstance;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -42,6 +44,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.scheme=https" },
|
||||
classes = ConsulDiscoveryClientHttpsTests.MyTestConfig.class,
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulDiscoveryClientHttpsTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -29,7 +29,9 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.client.ServiceInstance;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -46,6 +48,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.metadata[foo]=bar" },
|
||||
classes = ConsulDiscoveryClientTests.MyTestConfig.class,
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulDiscoveryClientTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -27,6 +27,8 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.client.ServiceInstance;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -41,6 +43,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.prefer-ip-address=true",
|
||||
"spring.cloud.consul.discovery.tags=foo=bar" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulLoadbalancerClientTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -33,8 +33,10 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration;
|
||||
import org.springframework.cloud.consul.ConsulAutoConfiguration;
|
||||
import org.springframework.cloud.consul.support.ConsulHeartbeatAutoConfiguration;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static com.ecwid.consul.v1.health.model.Check.CheckStatus.CRITICAL;
|
||||
@@ -52,6 +54,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.heartbeat.enabled=true",
|
||||
"spring.cloud.consul.discovery.heartbeat.ttlValue=2" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class TtlSchedulerRemoveTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -32,8 +32,10 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration;
|
||||
import org.springframework.cloud.consul.ConsulAutoConfiguration;
|
||||
import org.springframework.cloud.consul.support.ConsulHeartbeatAutoConfiguration;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static com.ecwid.consul.v1.health.model.Check.CheckStatus.PASSING;
|
||||
@@ -51,6 +53,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.heartbeat.ttlValue=2",
|
||||
"management.server.port=0" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class TtlSchedulerTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.cloud.config.client.ConfigClientProperties;
|
||||
import org.springframework.cloud.consul.discovery.ConsulDiscoveryClient;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.cloud.test.ClassPathExclusions;
|
||||
import org.springframework.cloud.test.ModifiedClassPathRunner;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
@@ -63,8 +64,13 @@ public class DiscoveryClientConfigServiceAutoConfigurationTests {
|
||||
|
||||
@Test
|
||||
public void onWhenRequested() throws Exception {
|
||||
ConsulTestcontainers.start();
|
||||
Integer port = ConsulTestcontainers.getPort();
|
||||
String host = ConsulTestcontainers.getHost();
|
||||
setup("server.port=0", "spring.cloud.config.discovery.enabled=true",
|
||||
"spring.cloud.consul.port=" + port, "spring.cloud.consul.host=" + host,
|
||||
"logging.level.org.springframework.cloud.config.client=DEBUG",
|
||||
"spring.cloud.consul.discovery.catalog-services-watch.enabled=false",
|
||||
"spring.cloud.consul.discovery.test.enabled:true",
|
||||
"spring.application.name=discoveryclientconfigservicetest",
|
||||
"spring.jmx.enabled=false", "spring.cloud.consul.discovery.port:7001",
|
||||
|
||||
@@ -27,7 +27,9 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration;
|
||||
import org.springframework.cloud.consul.ConsulAutoConfiguration;
|
||||
import org.springframework.cloud.consul.support.ConsulHeartbeatAutoConfiguration;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -43,6 +45,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
"spring.cloud.consul.discovery.health-check-critical-timeout=1m",
|
||||
"spring.cloud.consul.discovery.heartbeat.enabled=true" },
|
||||
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoRegistrationCheckTtlDeregisterCriticalServiceTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -27,7 +27,9 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
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;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -42,6 +44,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.application.name=myTestService-DiscoveryHealthCheckTlsSkipVerify",
|
||||
"spring.cloud.consul.discovery.health-check-headers.X-Config-Token=ACCESSTOKEN" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoRegistrationHealthCheckHeadersTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -27,7 +27,9 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
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;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -43,6 +45,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.application.name=myTestService-DiscoveryHealthCheckTlsSkipVerify",
|
||||
"spring.cloud.consul.discovery.health-check-tls-skip-verify=true" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoRegistrationHealthCheckTlsSkipVerifyTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -27,7 +27,9 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
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;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -44,6 +46,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.include-hostname-in-instance-id=true",
|
||||
"spring.cloud.client.hostname=testhostname" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoRegistrationIncludeHostnameInInstanceIdTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -31,7 +31,9 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
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;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -46,6 +48,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.instanceId=myTestNotDeRegisteredService-D",
|
||||
"spring.cloud.consul.discovery.deregister=false" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceDeRegistrationDisabledTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -30,7 +30,9 @@ import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration;
|
||||
import org.springframework.cloud.consul.ConsulAutoConfiguration;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
@@ -48,6 +50,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.serviceName=myprefix-${spring.application.name}",
|
||||
"spring.cloud.consul.discovery.preferAgentAddress=true" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationCustomizedAgentAddressTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -29,7 +29,9 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
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;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.util.SocketUtils;
|
||||
|
||||
@@ -44,6 +46,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
classes = ConsulAutoServiceRegistrationCustomizedDiscoveryPortTests.TestConfig.class,
|
||||
properties = { "spring.application.name=myTestService-DiscoveryPort" },
|
||||
webEnvironment = DEFINED_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationCustomizedDiscoveryPortTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -32,7 +32,9 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
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;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -48,6 +50,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.instanceId=myTestService1-WithGroup",
|
||||
"spring.cloud.consul.discovery.instanceGroup=test" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationCustomizedInstanceGroupTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -30,7 +30,9 @@ import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration;
|
||||
import org.springframework.cloud.consul.ConsulAutoConfiguration;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -47,6 +49,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.instanceZone=zone1",
|
||||
"spring.cloud.consul.discovery.defaultZoneMetadataName=myZone" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationCustomizedInstanceZoneTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -32,7 +32,9 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
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;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
@@ -54,6 +56,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.serviceName=myprefix-${spring.application.name}",
|
||||
"management.server.port=0" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationCustomizedManagementServicePortTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -36,7 +36,9 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
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;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -64,6 +66,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.metadata.key1=value1",
|
||||
"spring.cloud.consul.discovery.metadata.key2=value2" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationCustomizedPropsTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -30,7 +30,9 @@ import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration;
|
||||
import org.springframework.cloud.consul.ConsulAutoConfiguration;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -46,6 +48,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.instanceId=myTestService1-CC",
|
||||
"spring.cloud.consul.discovery.serviceName=myprefix-${spring.application.name}" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationCustomizedServiceNameTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -28,7 +28,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -44,6 +46,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.instanceId=myTestService1-WithServletContext",
|
||||
"server.servlet.context-path=/customContext" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationCustomizedServletContextTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -28,7 +28,9 @@ import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationC
|
||||
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationProperties;
|
||||
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.Bean;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -41,6 +43,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
@SpringBootTest(classes = ConsulAutoServiceRegistrationCustomizedTests.MyTestConfig.class,
|
||||
properties = { "spring.application.name=testCustomAutoServiceRegistration" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationCustomizedTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -24,6 +24,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.consul.discovery.ConsulDiscoveryProperties;
|
||||
import org.springframework.cloud.consul.serviceregistry.ConsulAutoServiceRegistrationCustomizedPropsTests.TestPropsConfig;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -41,6 +43,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.healthCheckInterval=19s",
|
||||
"spring.cloud.consul.discovery.healthCheckTimeout=12s" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationDefaultCheckTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -30,7 +30,9 @@ import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration;
|
||||
import org.springframework.cloud.consul.ConsulAutoConfiguration;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -44,6 +46,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
properties = { "spring.application.name=myTestService2-DD",
|
||||
"spring.cloud.consul.discovery.instanceId=myTestService2-DD" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationDefaultPortTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -25,6 +25,7 @@ import org.junit.Test;
|
||||
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -62,7 +63,7 @@ public class ConsulAutoServiceRegistrationDisabledTests {
|
||||
new WebApplicationContextRunner().withUserConfiguration(TestConfig.class)
|
||||
.withPropertyValues("spring.application.name=" + testName,
|
||||
disableProperty + "=false", "server.port=0")
|
||||
.run(context -> {
|
||||
.withInitializer(new ConsulTestcontainers()).run(context -> {
|
||||
|
||||
assertThat(context)
|
||||
.doesNotHaveBean(ConsulAutoServiceRegistration.class);
|
||||
|
||||
@@ -29,8 +29,10 @@ import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration;
|
||||
import org.springframework.cloud.consul.ConsulAutoConfiguration;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
|
||||
import static org.hamcrest.Matchers.isA;
|
||||
|
||||
@@ -39,6 +41,7 @@ import static org.hamcrest.Matchers.isA;
|
||||
* @author Venil Noronha
|
||||
*/
|
||||
@DirtiesContext
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationFailFastTests {
|
||||
|
||||
@Rule
|
||||
|
||||
@@ -30,8 +30,10 @@ import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration;
|
||||
import org.springframework.cloud.consul.ConsulAutoConfiguration;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -48,6 +50,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.registerHealthCheck=false",
|
||||
"management.server.port=4453" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationManagementCustomizerTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -31,7 +31,9 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
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;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
@@ -50,6 +52,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.managementPort=4453",
|
||||
"management.port=0" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationManagementDisabledServiceTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -31,7 +31,9 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
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;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
@@ -49,6 +51,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
"spring.cloud.consul.discovery.registerHealthCheck=false",
|
||||
"management.server.port=4452" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationManagementServiceTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -28,7 +28,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -41,6 +43,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
@SpringBootTest(classes = ConsulAutoServiceRegistrationNonWebTests.TestConfig.class,
|
||||
properties = { "spring.application.name=consulNonWebTest", "server.port=32111" },
|
||||
webEnvironment = NONE)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationNonWebTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -31,9 +31,11 @@ import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.boot.test.system.OutputCaptureRule;
|
||||
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration;
|
||||
import org.springframework.cloud.consul.ConsulAutoConfiguration;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
|
||||
import static org.hamcrest.Matchers.isA;
|
||||
|
||||
@@ -42,6 +44,7 @@ import static org.hamcrest.Matchers.isA;
|
||||
* @author Venil Noronha
|
||||
*/
|
||||
@DirtiesContext
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationRetryTests {
|
||||
|
||||
@Rule
|
||||
|
||||
@@ -32,6 +32,8 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
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.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
@@ -46,6 +48,7 @@ import static org.springframework.cloud.consul.serviceregistry.ConsulAutoRegistr
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest(properties = { "spring.application.name=myTestService1-FF::something" },
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulAutoServiceRegistrationTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -33,7 +33,9 @@ import org.springframework.cloud.consul.ConsulAutoConfiguration;
|
||||
import org.springframework.cloud.consul.discovery.ConsulDiscoveryProperties;
|
||||
import org.springframework.cloud.consul.discovery.TtlScheduler;
|
||||
import org.springframework.cloud.consul.support.ConsulHeartbeatAutoConfiguration;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -47,10 +49,11 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
"spring.application.name=myConsulServiceRegistryCheckTtlTestService-S",
|
||||
"spring.cloud.consul.discovery.heartbeat.enabled=true" },
|
||||
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulServiceRegistryCheckTtlTests {
|
||||
|
||||
@LocalServerPort
|
||||
private int randomServerPort;
|
||||
private int port;
|
||||
|
||||
@Autowired
|
||||
private ConsulDiscoveryProperties discoveryProperties;
|
||||
@@ -69,7 +72,7 @@ public class ConsulServiceRegistryCheckTtlTests {
|
||||
NewService.Check httpCheck = new NewService.Check();
|
||||
httpCheck.setHttp(
|
||||
String.format("%s://%s:%s%s", this.discoveryProperties.getScheme(),
|
||||
this.discoveryProperties.getHostname(), this.randomServerPort,
|
||||
this.discoveryProperties.getHostname(), this.port,
|
||||
this.discoveryProperties.getHealthCheckPath()));
|
||||
httpCheck.setInterval(this.discoveryProperties.getHealthCheckInterval());
|
||||
NewService httpService = new NewService();
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.junit.Test;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
|
||||
import org.springframework.cloud.consul.discovery.HeartbeatProperties;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -51,7 +52,7 @@ public class ConsulServiceRegistryDisabledTests {
|
||||
new WebApplicationContextRunner().withUserConfiguration(TestConfig.class)
|
||||
.withPropertyValues("spring.application.name=" + testName,
|
||||
disableProperty + "=false", "server.port=0")
|
||||
.run(context -> {
|
||||
.withInitializer(new ConsulTestcontainers()).run(context -> {
|
||||
assertThat(context).doesNotHaveBean(ConsulServiceRegistry.class);
|
||||
assertThat(context).doesNotHaveBean(HeartbeatProperties.class);
|
||||
|
||||
|
||||
@@ -32,6 +32,8 @@ import org.springframework.cloud.client.ServiceInstance;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.consul.discovery.ConsulDiscoveryClient;
|
||||
import org.springframework.cloud.consul.discovery.ConsulDiscoveryProperties;
|
||||
import org.springframework.cloud.consul.test.ConsulTestcontainers;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -43,6 +45,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest(properties = "spring.cloud.consul.discovery.query-passing=true",
|
||||
webEnvironment = RANDOM_PORT)
|
||||
@ContextConfiguration(initializers = ConsulTestcontainers.class)
|
||||
public class ConsulServiceRegistryTests {
|
||||
|
||||
@Autowired(required = false)
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
CONSUL_VER="1.7.2"
|
||||
PLATFORM="amd64"
|
||||
if [ "$(uname -m)" == aarch64 ]; then
|
||||
PLATFORM="arm64"
|
||||
fi
|
||||
CONSUL_ZIP="consul_${CONSUL_VER}_linux_${PLATFORM}.zip"
|
||||
IGNORE_CERTS="${IGNORE_CERTS:-no}"
|
||||
|
||||
# cleanup
|
||||
rm "consul_*"
|
||||
rm "consul"
|
||||
# install consul
|
||||
if [[ "${IGNORE_CERTS}" == "no" ]] ; then
|
||||
echo "Downloading consul with certs verification"
|
||||
wget "https://releases.hashicorp.com/consul/${CONSUL_VER}/${CONSUL_ZIP}"
|
||||
else
|
||||
echo "WARNING... Downloading consul WITHOUT certs verification"
|
||||
wget "https://releases.hashicorp.com/consul/${CONSUL_VER}/${CONSUL_ZIP}" --no-check-certificate
|
||||
fi
|
||||
unzip ${CONSUL_ZIP}
|
||||
# check
|
||||
./consul --version
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
mkdir /tmp/consul-config
|
||||
BASEDIR=`dirname $0`/../../..
|
||||
consul agent -server -bootstrap-expect 1 -advertise 127.0.0.1 -data-dir /tmp/consul -config-dir=/tmp/consul-config -ui-dir ${BASEDIR}/src/test/resources/consul_ui
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
ps -ef | grep consul
|
||||
killall consul
|
||||
BASEDIR=`dirname $0`/../../..
|
||||
#${BASEDIR}/consul agent -server -bootstrap-expect 1 -advertise 127.0.0.1 -data-dir /tmp/consul -ui-dir ${BASEDIR}/src/test/resources/consul_ui -config-dir ${BASEDIR}/src/test/resources/consul_config &
|
||||
${BASEDIR}/consul agent -server -bootstrap-expect 1 -advertise 127.0.0.1 -data-dir /tmp/consul -ui-dir ${BASEDIR}/src/test/resources/consul_ui -config-dir ${BASEDIR}/src/test/resources/empty_config &
|
||||
# wait for consul to elect a leader before sending acl
|
||||
sleep 5
|
||||
# FIXME: 2.2.3 consul acl rework see https://github.com/spring-cloud/spring-cloud-consul/issues/628
|
||||
#curl -X PUT -d @`dirname $0`/../../test/resources/consul_acl/consul_anonymous_acl.json http://localhost:8500/v1/acl/create?token=2ee647bd-bd69-4118-9f34-b9a6e9e60746
|
||||
#echo "consul_anonymous_acl installed"
|
||||
#curl -X PUT -d @`dirname $0`/../../test/resources/consul_acl/consul_discovery_client_acl.json http://localhost:8500/v1/acl/create?token=2ee647bd-bd69-4118-9f34-b9a6e9e60746
|
||||
#echo "consul_discovery_client_acl installed"
|
||||
Reference in New Issue
Block a user