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 /**