solve port conflict during integration tests
This commit is contained in:
parent
86137d30db
commit
e67b1f95a8
@ -82,4 +82,16 @@
|
|||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<forkCount>1</forkCount>
|
||||||
|
<reuseForks>true</reuseForks>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
@ -1,14 +1,18 @@
|
|||||||
package com.baeldung.spring.cloud.client;
|
package com.baeldung.spring.cloud.client;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.springframework.boot.test.context.TestConfiguration;
|
||||||
import org.springframework.boot.test.util.TestPropertyValues;
|
import org.springframework.boot.test.util.TestPropertyValues;
|
||||||
import org.springframework.context.ApplicationContextInitializer;
|
import org.springframework.context.ApplicationContextInitializer;
|
||||||
import org.springframework.context.ConfigurableApplicationContext;
|
import org.springframework.context.ConfigurableApplicationContext;
|
||||||
|
import org.springframework.test.context.ActiveProfiles;
|
||||||
import org.testcontainers.containers.GenericContainer;
|
import org.testcontainers.containers.GenericContainer;
|
||||||
import org.testcontainers.lifecycle.Startables;
|
import org.testcontainers.lifecycle.Startables;
|
||||||
|
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
|
@TestConfiguration
|
||||||
|
@ActiveProfiles("eureka-test")
|
||||||
public class EurekaContainerConfig {
|
public class EurekaContainerConfig {
|
||||||
|
|
||||||
public static class Initializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {
|
public static class Initializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {
|
||||||
|
@ -22,7 +22,7 @@ import static java.util.Arrays.asList;
|
|||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
@ActiveProfiles("test")
|
@ActiveProfiles("ribbon-test")
|
||||||
@EnableConfigurationProperties
|
@EnableConfigurationProperties
|
||||||
@ExtendWith(SpringExtension.class)
|
@ExtendWith(SpringExtension.class)
|
||||||
@ContextConfiguration(classes = { RibbonTestConfig.class })
|
@ContextConfiguration(classes = { RibbonTestConfig.class })
|
||||||
|
@ -7,11 +7,13 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.boot.test.context.TestConfiguration;
|
import org.springframework.boot.test.context.TestConfiguration;
|
||||||
import org.springframework.cloud.netflix.ribbon.StaticServerList;
|
import org.springframework.cloud.netflix.ribbon.StaticServerList;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.test.context.ActiveProfiles;
|
||||||
|
|
||||||
import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options;
|
import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options;
|
||||||
|
|
||||||
@TestConfiguration
|
@TestConfiguration
|
||||||
public class RibbonTestConfig extends WireMockConfig {
|
@ActiveProfiles("ribbon-test")
|
||||||
|
public class RibbonTestConfig {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private WireMockServer mockBooksService;
|
private WireMockServer mockBooksService;
|
||||||
@ -19,6 +21,11 @@ public class RibbonTestConfig extends WireMockConfig {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private WireMockServer secondMockBooksService;
|
private WireMockServer secondMockBooksService;
|
||||||
|
|
||||||
|
@Bean(initMethod = "start", destroyMethod = "stop")
|
||||||
|
public WireMockServer mockBooksService() {
|
||||||
|
return new WireMockServer(options().dynamicPort());
|
||||||
|
}
|
||||||
|
|
||||||
@Bean(name="secondMockBooksService", initMethod = "start", destroyMethod = "stop")
|
@Bean(name="secondMockBooksService", initMethod = "start", destroyMethod = "stop")
|
||||||
public WireMockServer secondBooksMockService() {
|
public WireMockServer secondBooksMockService() {
|
||||||
return new WireMockServer(options().dynamicPort());
|
return new WireMockServer(options().dynamicPort());
|
||||||
|
@ -25,7 +25,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
|
|||||||
@ExtendWith(SpringExtension.class)
|
@ExtendWith(SpringExtension.class)
|
||||||
@SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
@SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||||||
@ContextConfiguration(classes = { MockBookServiceConfig.class }, initializers = { EurekaContainerConfig.Initializer.class })
|
@ContextConfiguration(classes = { MockBookServiceConfig.class }, initializers = { EurekaContainerConfig.Initializer.class })
|
||||||
class EurekaBooksClientIntegrationTest {
|
class ServiceDiscoveryBooksClientIntegrationTest {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private BooksClient booksClient;
|
private BooksClient booksClient;
|
@ -3,8 +3,10 @@ package com.baeldung.spring.cloud.client;
|
|||||||
import com.github.tomakehurst.wiremock.WireMockServer;
|
import com.github.tomakehurst.wiremock.WireMockServer;
|
||||||
import org.springframework.boot.test.context.TestConfiguration;
|
import org.springframework.boot.test.context.TestConfiguration;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.test.context.ActiveProfiles;
|
||||||
|
|
||||||
@TestConfiguration
|
@TestConfiguration
|
||||||
|
@ActiveProfiles("test")
|
||||||
public class WireMockConfig {
|
public class WireMockConfig {
|
||||||
|
|
||||||
@Bean(initMethod = "start", destroyMethod = "stop")
|
@Bean(initMethod = "start", destroyMethod = "stop")
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
eureka:
|
||||||
|
client:
|
||||||
|
enabled: false
|
Loading…
x
Reference in New Issue
Block a user