diff --git a/docs/src/main/asciidoc/using.adoc b/docs/src/main/asciidoc/using.adoc
index fbd106ec4f..760491d1e1 100644
--- a/docs/src/main/asciidoc/using.adoc
+++ b/docs/src/main/asciidoc/using.adoc
@@ -577,7 +577,7 @@ import io.javalin.Javalin;
import io.restassured.RestAssured;
import org.junit.After;
import org.junit.Before;
-import org.springframework.util.SocketUtils;
+import org.springframework.cloud.test.TestSocketUtils;
public class BaseClass {
@@ -586,7 +586,7 @@ public class BaseClass {
@Before
public void setup() {
// pick a random port
- int port = SocketUtils.findAvailableTcpPort();
+ int port = TestSocketUtils.findAvailableTcpPort();
// start the application at a random port
this.app = start(port);
// tell Rest Assured where the started application is
diff --git a/spring-cloud-contract-stub-runner/pom.xml b/spring-cloud-contract-stub-runner/pom.xml
index faa0ecb1e2..154b21a5c9 100644
--- a/spring-cloud-contract-stub-runner/pom.xml
+++ b/spring-cloud-contract-stub-runner/pom.xml
@@ -201,6 +201,11 @@
spring-boot-starter-web
test
+
+ org.springframework.cloud
+ spring-cloud-test-support
+ test
+
org.springframework.cloud
spring-cloud-starter-zookeeper-discovery
diff --git a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutorSpec.groovy b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutorSpec.groovy
index b514028471..93343f41dc 100644
--- a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutorSpec.groovy
+++ b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutorSpec.groovy
@@ -24,7 +24,7 @@ import spock.lang.Specification
import org.springframework.cloud.contract.stubrunner.util.StubsParser
import org.springframework.cloud.contract.verifier.converter.YamlContract
import org.springframework.cloud.contract.verifier.messaging.MessageVerifier
-import org.springframework.util.SocketUtils
+import org.springframework.cloud.test.TestSocketUtils
class StubRunnerExecutorSpec extends Specification {
@@ -74,7 +74,7 @@ class StubRunnerExecutorSpec extends Specification {
def 'should start a stub on a given port'() {
given:
- int port = SocketUtils.findAvailableTcpPort()
+ int port = TestSocketUtils.findAvailableTcpPort()
StubRunnerExecutor executor = new StubRunnerExecutor(portScanner)
stubRunnerOptions = new StubRunnerOptionsBuilder(stubIdsToPortMapping:
stubIdsWithPortsFromString("group:artifact:${port},someotherartifact:${SocketUtils.findAvailableTcpPort()}"))
diff --git a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerSpec.groovy b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerSpec.groovy
index d6913e2a17..c157c6a57c 100644
--- a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerSpec.groovy
+++ b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerSpec.groovy
@@ -21,11 +21,11 @@ import spock.lang.Specification
import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties
import org.springframework.cloud.contract.verifier.messaging.noop.NoOpStubMessages
-import org.springframework.util.SocketUtils
+import org.springframework.cloud.test.TestSocketUtils
class StubRunnerSpec extends Specification {
- private static final int MIN_PORT = SocketUtils.findAvailableTcpPort()
+ private static final int MIN_PORT = TestSocketUtils.findAvailableTcpPort()
private static final int MAX_PORT = MIN_PORT
private static final URL EXPECTED_STUB_URL = new URL("http://localhost:$MIN_PORT")
diff --git a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubServerSpec.groovy b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubServerSpec.groovy
index 60102e5b38..a1483b1e73 100644
--- a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubServerSpec.groovy
+++ b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubServerSpec.groovy
@@ -19,10 +19,10 @@ package org.springframework.cloud.contract.stubrunner
import spock.lang.Specification
import org.springframework.cloud.contract.stubrunner.provider.wiremock.WireMockHttpServerStub
-import org.springframework.util.SocketUtils
+import org.springframework.cloud.test.TestSocketUtils
class StubServerSpec extends Specification {
- static final int STUB_SERVER_PORT = SocketUtils.findAvailableTcpPort()
+ static final int STUB_SERVER_PORT = TestSocketUtils.findAvailableTcpPort()
static final URL EXPECTED_URL = new URL("http://localhost:$STUB_SERVER_PORT")
File repository = new File('src/test/resources/repository/mappings/spring/cloud/bye')
diff --git a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/provider/wiremock/WireMockHttpServerStubSpec.groovy b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/provider/wiremock/WireMockHttpServerStubSpec.groovy
index 4d91e783d8..4f1872fee5 100644
--- a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/provider/wiremock/WireMockHttpServerStubSpec.groovy
+++ b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/provider/wiremock/WireMockHttpServerStubSpec.groovy
@@ -25,9 +25,9 @@ import org.springframework.boot.test.system.OutputCaptureRule
import org.springframework.boot.test.web.client.TestRestTemplate
import org.springframework.cloud.contract.stubrunner.HttpServerStubConfiguration
import org.springframework.cloud.contract.stubrunner.HttpServerStubConfigurer
+import org.springframework.cloud.test.TestSocketUtils
import org.springframework.http.HttpEntity
import org.springframework.http.HttpMethod
-import org.springframework.util.SocketUtils
import org.springframework.web.client.RestTemplate
class WireMockHttpServerStubSpec extends Specification {
@@ -43,7 +43,7 @@ class WireMockHttpServerStubSpec extends Specification {
def 'should describe stub mapping'() {
given:
WireMockHttpServerStub mappingDescriptor = new WireMockHttpServerStub().start(new HttpServerStubConfiguration(HttpServerStubConfigurer.NoOpHttpServerStubConfigurer.INSTANCE, null,
- null, SocketUtils.findAvailableTcpPort())) as WireMockHttpServerStub
+ null, TestSocketUtils.findAvailableTcpPort())) as WireMockHttpServerStub
when:
StubMapping mapping = mappingDescriptor.getMapping(MAPPING_DESCRIPTOR)
then:
diff --git a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/StubRunnerConfigurationSpec.groovy b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/StubRunnerConfigurationSpec.groovy
index 84faee8864..8034e9d74b 100644
--- a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/StubRunnerConfigurationSpec.groovy
+++ b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/StubRunnerConfigurationSpec.groovy
@@ -32,10 +32,10 @@ import org.springframework.cloud.contract.stubrunner.StubFinder
import org.springframework.cloud.contract.stubrunner.StubNotFoundException
import org.springframework.cloud.contract.stubrunner.provider.wiremock.WireMockHttpServerStubAccessor
import org.springframework.cloud.contract.stubrunner.provider.wiremock.WireMockHttpServerStubConfigurer
+import org.springframework.cloud.test.TestSocketUtils
import org.springframework.context.annotation.Configuration
import org.springframework.core.env.Environment
import org.springframework.test.context.ActiveProfiles
-import org.springframework.util.SocketUtils
/**
* @author Marcin Grzejszczak
@@ -161,7 +161,7 @@ class StubRunnerConfigurationSpec extends Specification {
@Override
WireMockConfiguration configure(WireMockConfiguration httpStubConfiguration, HttpServerStubConfiguration httpServerStubConfiguration) {
if (httpServerStubConfiguration.stubConfiguration.artifactId == "fraudDetectionServer") {
- int httpsPort = SocketUtils.findAvailableTcpPort()
+ int httpsPort = TestSocketUtils.findAvailableTcpPort()
log.info("Will set HTTPs port [" + httpsPort + "] for fraud detection server")
return httpStubConfiguration
.httpsPort(httpsPort)
diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/pom.xml b/spring-cloud-contract-tools/spring-cloud-contract-converters/pom.xml
index d11e4eb203..1c48f567cc 100644
--- a/spring-cloud-contract-tools/spring-cloud-contract-converters/pom.xml
+++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/pom.xml
@@ -66,6 +66,11 @@
spring-cloud-contract-wiremock
test
+
+ org.springframework.cloud
+ spring-cloud-test-support
+ test
+
org.springframework.boot
spring-boot-starter-web
diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/groovy/org/springframework/cloud/contract/verifier/wiremock/DslToWireMockClientConverterSpec.groovy b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/groovy/org/springframework/cloud/contract/verifier/wiremock/DslToWireMockClientConverterSpec.groovy
index 2bf8b672d6..35621ac31f 100755
--- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/groovy/org/springframework/cloud/contract/verifier/wiremock/DslToWireMockClientConverterSpec.groovy
+++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/groovy/org/springframework/cloud/contract/verifier/wiremock/DslToWireMockClientConverterSpec.groovy
@@ -33,16 +33,16 @@ import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.verifier.dsl.wiremock.WireMockStubMapping
import org.springframework.cloud.contract.verifier.file.ContractMetadata
import org.springframework.cloud.contract.verifier.util.ContractVerifierDslConverter
+import org.springframework.cloud.test.TestSocketUtils
import org.springframework.core.io.ByteArrayResource
import org.springframework.http.HttpEntity
import org.springframework.http.RequestEntity
import org.springframework.util.LinkedMultiValueMap
import org.springframework.util.MultiValueMap
-import org.springframework.util.SocketUtils
class DslToWireMockClientConverterSpec extends Specification {
- int port = SocketUtils.findAvailableTcpPort()
+ int port = TestSocketUtils.findAvailableTcpPort()
@Rule
public WireMockRule wireMockRule = new WireMockRule(port)
@Rule
diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/build.gradle b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/build.gradle
index 688bfcf065..dd0e94141e 100644
--- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/build.gradle
+++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/build.gradle
@@ -117,6 +117,7 @@ configure([project(':fraudDetectionService'), project(':loanApplicationService')
testImplementation "org.mockito:mockito-core"
testImplementation "org.springframework:spring-test"
testImplementation "org.springframework.boot:spring-boot-test"
+ testImplementation "org.springframework.cloud:spring-cloud-test-support"
testImplementation "io.rest-assured:rest-assured:$restAssuredVersion"
testImplementation "io.rest-assured:spring-mock-mvc:$restAssuredVersion"
}
diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/loanApplicationService/src/test/groovy/org/springframework/cloud/LoanApplicationServiceSpec.groovy b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/loanApplicationService/src/test/groovy/org/springframework/cloud/LoanApplicationServiceSpec.groovy
index 82772f7804..3a63ee1dff 100644
--- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/loanApplicationService/src/test/groovy/org/springframework/cloud/LoanApplicationServiceSpec.groovy
+++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/loanApplicationService/src/test/groovy/org/springframework/cloud/LoanApplicationServiceSpec.groovy
@@ -36,7 +36,7 @@ import org.springframework.test.context.ContextConfiguration
@Stepwise
class LoanApplicationServiceSpec extends Specification {
- public static int port = org.springframework.util.SocketUtils.findAvailableTcpPort()
+ public static int port = org.springframework.cloud.test.TestSocketUtils.findAvailableTcpPort()
@ClassRule
@Shared
diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProjectKotlin/loanApplicationService/src/test/groovy/org/springframework/cloud/LoanApplicationServiceSpec.groovy b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProjectKotlin/loanApplicationService/src/test/groovy/org/springframework/cloud/LoanApplicationServiceSpec.groovy
index 82772f7804..3a63ee1dff 100644
--- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProjectKotlin/loanApplicationService/src/test/groovy/org/springframework/cloud/LoanApplicationServiceSpec.groovy
+++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProjectKotlin/loanApplicationService/src/test/groovy/org/springframework/cloud/LoanApplicationServiceSpec.groovy
@@ -36,7 +36,7 @@ import org.springframework.test.context.ContextConfiguration
@Stepwise
class LoanApplicationServiceSpec extends Specification {
- public static int port = org.springframework.util.SocketUtils.findAvailableTcpPort()
+ public static int port = org.springframework.cloud.test.TestSocketUtils.findAvailableTcpPort()
@ClassRule
@Shared
diff --git a/spring-cloud-contract-verifier/pom.xml b/spring-cloud-contract-verifier/pom.xml
index b686d40edb..fcc60ce4e2 100644
--- a/spring-cloud-contract-verifier/pom.xml
+++ b/spring-cloud-contract-verifier/pom.xml
@@ -174,6 +174,11 @@
spring-boot-autoconfigure-processor
true
+
+ org.springframework.cloud
+ spring-cloud-test-support
+ test
+
cglib
cglib
diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/dsl/wiremock/WireMockGroovyDslSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/dsl/wiremock/WireMockGroovyDslSpec.groovy
index 5fcf4ba8c1..53e6e4aa73 100755
--- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/dsl/wiremock/WireMockGroovyDslSpec.groovy
+++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/dsl/wiremock/WireMockGroovyDslSpec.groovy
@@ -36,7 +36,7 @@ import org.springframework.cloud.contract.verifier.util.AssertionUtil
import org.springframework.cloud.contract.verifier.util.ContractVerifierDslConverter
import org.springframework.http.RequestEntity
import org.springframework.http.ResponseEntity
-import org.springframework.util.SocketUtils
+import org.springframework.cloud.test.TestSocketUtils
class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifier {
@@ -2075,7 +2075,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie
}
'''
and:
- int port = SocketUtils.findAvailableTcpPort()
+ int port = TestSocketUtils.findAvailableTcpPort()
WireMockServer server = new WireMockServer(config().port(port))
server.start()
and:
@@ -2118,7 +2118,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie
and:
def json = toWireMockClientJsonStub(contract)
and:
- int port = SocketUtils.findAvailableTcpPort()
+ int port = TestSocketUtils.findAvailableTcpPort()
WireMockServer server = new WireMockServer(config().port(port))
server.start()
and:
@@ -2229,7 +2229,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie
and:
stubMappingIsValidWireMockStub(json)
and:
- int port = SocketUtils.findAvailableTcpPort()
+ int port = TestSocketUtils.findAvailableTcpPort()
WireMockServer server = new WireMockServer(config().port(port))
server.start()
server.addStubMapping(WireMockStubMapping.buildFrom(json))
@@ -2397,7 +2397,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie
and:
stubMappingIsValidWireMockStub(json)
and:
- int port = SocketUtils.findAvailableTcpPort()
+ int port = TestSocketUtils.findAvailableTcpPort()
WireMockServer server = new WireMockServer(config().port(port))
server.start()
server.addStubMapping(WireMockStubMapping.buildFrom(json))
@@ -2947,7 +2947,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie
wireMockStub.contains('Entity2')
stubMappingIsValidWireMockStub(wireMockStub)
and:
- int port = SocketUtils.findAvailableTcpPort()
+ int port = TestSocketUtils.findAvailableTcpPort()
WireMockServer server = new WireMockServer(config().port(port))
server.start()
and:
@@ -3048,7 +3048,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie
.toWireMockClientStub()
and:
- int port = SocketUtils.findAvailableTcpPort()
+ int port = TestSocketUtils.findAvailableTcpPort()
WireMockServer server = new WireMockServer(config().port(port))
server.start()
and:
diff --git a/spring-cloud-contract-wiremock/pom.xml b/spring-cloud-contract-wiremock/pom.xml
index a6f755b116..8d929d1555 100644
--- a/spring-cloud-contract-wiremock/pom.xml
+++ b/spring-cloud-contract-wiremock/pom.xml
@@ -106,6 +106,10 @@
spring-boot-configuration-processor
true
+
+ org.springframework.cloud
+ spring-cloud-test-support
+
org.springframework.cloud
spring-cloud-contract-verifier
diff --git a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/WireMockApplicationListener.java b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/WireMockApplicationListener.java
index 047e784333..8a46bdcdad 100644
--- a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/WireMockApplicationListener.java
+++ b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/WireMockApplicationListener.java
@@ -23,6 +23,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.boot.context.event.ApplicationPreparedEvent;
+import org.springframework.cloud.test.TestSocketUtils;
import org.springframework.context.ApplicationListener;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
@@ -30,7 +31,6 @@ import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.MapPropertySource;
import org.springframework.core.env.MutablePropertySources;
import org.springframework.core.env.PropertySource;
-import org.springframework.util.SocketUtils;
/**
* Listener that prepares the environment so that WireMock will work when it is
@@ -94,7 +94,7 @@ public class WireMockApplicationListener implements ApplicationListener source = ((MapPropertySource) propertySources.get("wiremock")).getSource();
- int port = SocketUtils.findAvailableTcpPort(minPort, maxPort);
+ int port = TestSocketUtils.findAvailableTcpPort(minPort, maxPort);
source.put(portProperty, port);
if (log.isDebugEnabled()) {
log.debug("Registered property source for property [" + portProperty + "] with value [" + port + "]");
diff --git a/tests/spring-cloud-contract-stub-runner-boot-zookeeper/pom.xml b/tests/spring-cloud-contract-stub-runner-boot-zookeeper/pom.xml
index 3dd39077e6..2ddd6a1ec4 100644
--- a/tests/spring-cloud-contract-stub-runner-boot-zookeeper/pom.xml
+++ b/tests/spring-cloud-contract-stub-runner-boot-zookeeper/pom.xml
@@ -22,6 +22,11 @@
org.springframework.cloud
spring-cloud-contract-stub-runner
+
+ org.springframework.cloud
+ spring-cloud-test-support
+ test
+
org.springframework.cloud
spring-cloud-starter-contract-stub-runner-jetty
diff --git a/tests/spring-cloud-contract-stub-runner-boot-zookeeper/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/zookeeper/StubRunnerSpringCloudZookeeperAutoConfigurationSpec.groovy b/tests/spring-cloud-contract-stub-runner-boot-zookeeper/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/zookeeper/StubRunnerSpringCloudZookeeperAutoConfigurationSpec.groovy
index 3f39f2cc09..635298c7c1 100644
--- a/tests/spring-cloud-contract-stub-runner-boot-zookeeper/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/zookeeper/StubRunnerSpringCloudZookeeperAutoConfigurationSpec.groovy
+++ b/tests/spring-cloud-contract-stub-runner-boot-zookeeper/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/zookeeper/StubRunnerSpringCloudZookeeperAutoConfigurationSpec.groovy
@@ -32,7 +32,7 @@ import org.springframework.cloud.zookeeper.ZookeeperProperties
import org.springframework.cloud.zookeeper.discovery.ZookeeperDiscoveryClient
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
-import org.springframework.util.SocketUtils
+import org.springframework.cloud.test.TestSocketUtils
import org.springframework.web.client.RestTemplate
/**