From 7c61c550dd3243f733737035697e231f7f80ca80 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Sun, 15 Nov 2015 19:11:58 +0100 Subject: [PATCH] [#147] Made tests use random ports. Fixes #147 --- .../frauddetection/LoanApplicationService.java | 8 +++++++- .../toomuchcoding/LoanApplicationServiceSpec.groovy | 8 +++++++- .../frauddetection/LoanApplicationService.java | 8 +++++++- .../toomuchcoding/LoanApplicationServiceSpec.groovy | 8 +++++++- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/accurest-gradle-plugin/src/test/resources/functionalTest/sampleJerseyProject/loanApplicationService/src/main/java/com/blogspot/toomuchcoding/frauddetection/LoanApplicationService.java b/accurest-gradle-plugin/src/test/resources/functionalTest/sampleJerseyProject/loanApplicationService/src/main/java/com/blogspot/toomuchcoding/frauddetection/LoanApplicationService.java index 82476a3a46..bf622844d6 100644 --- a/accurest-gradle-plugin/src/test/resources/functionalTest/sampleJerseyProject/loanApplicationService/src/main/java/com/blogspot/toomuchcoding/frauddetection/LoanApplicationService.java +++ b/accurest-gradle-plugin/src/test/resources/functionalTest/sampleJerseyProject/loanApplicationService/src/main/java/com/blogspot/toomuchcoding/frauddetection/LoanApplicationService.java @@ -21,6 +21,8 @@ public class LoanApplicationService { private final RestTemplate restTemplate; + private Integer port = 8080; + public LoanApplicationService() { this.restTemplate = new RestTemplate(); } @@ -41,7 +43,7 @@ public class LoanApplicationService { httpHeaders.add(HttpHeaders.CONTENT_TYPE, FRAUD_SERVICE_JSON_VERSION_1); ResponseEntity response = - restTemplate.exchange("http://localhost:8080/fraudcheck", HttpMethod.PUT, + restTemplate.exchange("http://localhost:" + port + "/fraudcheck", HttpMethod.PUT, new HttpEntity<>(request, httpHeaders), FraudServiceResponse.class); @@ -59,4 +61,8 @@ public class LoanApplicationService { return new LoanApplicationResult(applicationStatus, response.getRejectionReason()); } + public void setPort(Integer port) { + this.port = port; + } + } diff --git a/accurest-gradle-plugin/src/test/resources/functionalTest/sampleJerseyProject/loanApplicationService/src/test/groovy/com/blogspot/toomuchcoding/LoanApplicationServiceSpec.groovy b/accurest-gradle-plugin/src/test/resources/functionalTest/sampleJerseyProject/loanApplicationService/src/test/groovy/com/blogspot/toomuchcoding/LoanApplicationServiceSpec.groovy index 58d17673ce..8c30c4e8c5 100644 --- a/accurest-gradle-plugin/src/test/resources/functionalTest/sampleJerseyProject/loanApplicationService/src/test/groovy/com/blogspot/toomuchcoding/LoanApplicationServiceSpec.groovy +++ b/accurest-gradle-plugin/src/test/resources/functionalTest/sampleJerseyProject/loanApplicationService/src/test/groovy/com/blogspot/toomuchcoding/LoanApplicationServiceSpec.groovy @@ -17,13 +17,19 @@ import spock.lang.Specification @ContextConfiguration(loader = SpringApplicationContextLoader, classes = Application) class LoanApplicationServiceSpec extends Specification { + public static Integer port = org.springframework.util.SocketUtils.findAvailableTcpPort() + @ClassRule @Shared - WireMockClassRule wireMockRule = new WireMockClassRule() + WireMockClassRule wireMockRule = new WireMockClassRule(port) @Autowired LoanApplicationService sut + def setup() { + sut.port = port + } + def 'should successfully apply for loan'() { given: LoanApplication application = diff --git a/accurest-gradle-plugin/src/test/resources/functionalTest/sampleProject/loanApplicationService/src/main/java/com/blogspot/toomuchcoding/frauddetection/LoanApplicationService.java b/accurest-gradle-plugin/src/test/resources/functionalTest/sampleProject/loanApplicationService/src/main/java/com/blogspot/toomuchcoding/frauddetection/LoanApplicationService.java index 82476a3a46..bf622844d6 100644 --- a/accurest-gradle-plugin/src/test/resources/functionalTest/sampleProject/loanApplicationService/src/main/java/com/blogspot/toomuchcoding/frauddetection/LoanApplicationService.java +++ b/accurest-gradle-plugin/src/test/resources/functionalTest/sampleProject/loanApplicationService/src/main/java/com/blogspot/toomuchcoding/frauddetection/LoanApplicationService.java @@ -21,6 +21,8 @@ public class LoanApplicationService { private final RestTemplate restTemplate; + private Integer port = 8080; + public LoanApplicationService() { this.restTemplate = new RestTemplate(); } @@ -41,7 +43,7 @@ public class LoanApplicationService { httpHeaders.add(HttpHeaders.CONTENT_TYPE, FRAUD_SERVICE_JSON_VERSION_1); ResponseEntity response = - restTemplate.exchange("http://localhost:8080/fraudcheck", HttpMethod.PUT, + restTemplate.exchange("http://localhost:" + port + "/fraudcheck", HttpMethod.PUT, new HttpEntity<>(request, httpHeaders), FraudServiceResponse.class); @@ -59,4 +61,8 @@ public class LoanApplicationService { return new LoanApplicationResult(applicationStatus, response.getRejectionReason()); } + public void setPort(Integer port) { + this.port = port; + } + } diff --git a/accurest-gradle-plugin/src/test/resources/functionalTest/sampleProject/loanApplicationService/src/test/groovy/com/blogspot/toomuchcoding/LoanApplicationServiceSpec.groovy b/accurest-gradle-plugin/src/test/resources/functionalTest/sampleProject/loanApplicationService/src/test/groovy/com/blogspot/toomuchcoding/LoanApplicationServiceSpec.groovy index 58d17673ce..8c30c4e8c5 100644 --- a/accurest-gradle-plugin/src/test/resources/functionalTest/sampleProject/loanApplicationService/src/test/groovy/com/blogspot/toomuchcoding/LoanApplicationServiceSpec.groovy +++ b/accurest-gradle-plugin/src/test/resources/functionalTest/sampleProject/loanApplicationService/src/test/groovy/com/blogspot/toomuchcoding/LoanApplicationServiceSpec.groovy @@ -17,13 +17,19 @@ import spock.lang.Specification @ContextConfiguration(loader = SpringApplicationContextLoader, classes = Application) class LoanApplicationServiceSpec extends Specification { + public static Integer port = org.springframework.util.SocketUtils.findAvailableTcpPort() + @ClassRule @Shared - WireMockClassRule wireMockRule = new WireMockClassRule() + WireMockClassRule wireMockRule = new WireMockClassRule(port) @Autowired LoanApplicationService sut + def setup() { + sut.port = port + } + def 'should successfully apply for loan'() { given: LoanApplication application =