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