diff --git a/docs/src/main/asciidoc/verifier/introduction.adoc b/docs/src/main/asciidoc/verifier/introduction.adoc
index 3117f8841f..2ee7708603 100644
--- a/docs/src/main/asciidoc/verifier/introduction.adoc
+++ b/docs/src/main/asciidoc/verifier/introduction.adoc
@@ -109,7 +109,7 @@ we mark him as fraud). The current implementation grants loan to everybody.
Of course both client and server development teams need to communicate directly and discuss changes while
going through the process. CDC is all about communication.
-The code is available under the `samples/samples-standalone/http-server` and `samples/samples-standalone/http-client` folders.
+The code is available under the `samples/standalone/http-server` and `samples/standalone/http-client` folders.
As a developer of the Loan Issuance service (a consumer to the Fraud Detection server):
@@ -142,21 +142,21 @@ Code examples:
[source,groovy,indent=0]
----
-include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/samples-standalone/http-client/src/test/groovy/com/example/loan/LoanApplicationServiceSpec.groovy[tags=client_tdd,indent=0]
+include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-client/src/test/java/com/example/loan/LoanApplicationServiceSpec.java[tags=client_tdd,indent=0]
----
*at some point in time you need to send a request to the Fraud Detection service*
[source,groovy,indent=0]
----
-include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/samples-standalone/http-client/src/main/java/com/example/loan/LoanApplicationService.java[tags=client_call_server,indent=0]
+include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-client/src/main/java/com/example/loan/LoanApplicationService.java[tags=client_call_server,indent=0]
----
*you define the contract locally in the repo of Fraud Detection service*
[source,groovy,indent=0]
----
-include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/samples-standalone/http-server/src/test/resources/contracts/shouldMarkClientAsFraud.groovy[]
+include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/src/test/resources/contracts/shouldMarkClientAsFraud.groovy[]
----
*provide the group id and artifact id for the Spring Cloud Contract Stub Runner to download stubs of your collaborators*
@@ -164,7 +164,7 @@ include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/ma
[source,groovy,indent=0]
----
-include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/samples-standalone/http-client/src/test/resources/application.yaml[]
+include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-client/src/test/resources/application.yaml[]
----
*SERVER*
@@ -175,7 +175,7 @@ the API
[source,java,indent=0]
----
-include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/samples-standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=server_api,indent=0]
+include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=server_api,indent=0]
}
----
@@ -183,8 +183,8 @@ the initial impl
[source,java,indent=0]
----
-include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/samples-standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=server_api,indent=0]
-include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/samples-standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=initial_impl,indent=0]
+include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=server_api,indent=0]
+include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=initial_impl,indent=0]
}
----
@@ -192,9 +192,9 @@ include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/ma
[source,java,indent=0]
----
-include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/samples-standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=server_api,indent=0]
-include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/samples-standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=new_impl,indent=0]
-include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/samples-standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=initial_impl,indent=0]
+include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=server_api,indent=0]
+include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=new_impl,indent=0]
+include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=initial_impl,indent=0]
}
----
diff --git a/samples/standalone/http-client/pom.xml b/samples/standalone/http-client/pom.xml
index 44dabfa182..2cf3465e03 100644
--- a/samples/standalone/http-client/pom.xml
+++ b/samples/standalone/http-client/pom.xml
@@ -43,17 +43,11 @@
spring-boot-starter-test
test
-
org.springframework.cloud
spring-cloud-contract-stub-runner
test
-
- org.spockframework
- spock-spring
- test
-
@@ -74,42 +68,6 @@
org.springframework.boot
spring-boot-maven-plugin
-
- org.codehaus.gmavenplus
- gmavenplus-plugin
- 1.5
-
-
-
- testCompile
-
-
-
-
-
-
- ${project.basedir}/src/test/groovy
-
- **/*.groovy
-
-
-
- ${project.build.directory}/generated-test-sources/accurest
-
- **/*.groovy
-
-
-
-
-
-
- maven-surefire-plugin
-
-
- **/*Spec.java
-
-
-
maven-deploy-plugin
diff --git a/samples/standalone/http-client/src/main/java/com/example/loan/model/Client.java b/samples/standalone/http-client/src/main/java/com/example/loan/model/Client.java
index c93978173b..abf66106b5 100644
--- a/samples/standalone/http-client/src/main/java/com/example/loan/model/Client.java
+++ b/samples/standalone/http-client/src/main/java/com/example/loan/model/Client.java
@@ -3,6 +3,13 @@ package com.example.loan.model;
public class Client {
private String pesel;
+
+ public Client() {
+ }
+
+ public Client(String pesel) {
+ this.pesel = pesel;
+ }
public String getPesel() {
return pesel;
diff --git a/samples/standalone/http-client/src/main/java/com/example/loan/model/LoanApplication.java b/samples/standalone/http-client/src/main/java/com/example/loan/model/LoanApplication.java
index a4c9212c0e..27d66f884c 100644
--- a/samples/standalone/http-client/src/main/java/com/example/loan/model/LoanApplication.java
+++ b/samples/standalone/http-client/src/main/java/com/example/loan/model/LoanApplication.java
@@ -10,6 +10,14 @@ public class LoanApplication {
private String loanApplicationId;
+ public LoanApplication() {
+ }
+
+ public LoanApplication(Client client, double amount) {
+ this.client = client;
+ this.amount = BigDecimal.valueOf(amount);
+ }
+
public Client getClient() {
return client;
}
diff --git a/samples/standalone/http-client/src/test/groovy/com/example/loan/LoanApplicationServiceSpec.groovy b/samples/standalone/http-client/src/test/groovy/com/example/loan/LoanApplicationServiceSpec.groovy
deleted file mode 100644
index bc9e3a9010..0000000000
--- a/samples/standalone/http-client/src/test/groovy/com/example/loan/LoanApplicationServiceSpec.groovy
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.example.loan
-
-import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.boot.test.IntegrationTest;
-import org.springframework.boot.test.context.SpringBootContextLoader
-import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner;
-import org.springframework.test.context.ContextConfiguration
-
-import spock.lang.Specification
-
-import com.example.loan.model.Client
-import com.example.loan.model.LoanApplication
-import com.example.loan.model.LoanApplicationResult
-import com.example.loan.model.LoanApplicationStatus
-
-@ContextConfiguration(loader = SpringBootContextLoader, classes = Application)
-@AutoConfigureStubRunner
-@IntegrationTest("debug=true")
-class LoanApplicationServiceSpec extends Specification {
-
- @Autowired
- LoanApplicationService sut
-
- def 'should successfully apply for loan'() {
- given:
- LoanApplication application =
- new LoanApplication(client: new Client(pesel: '1234567890'), amount: 123.123)
- when:
- LoanApplicationResult loanApplication = sut.loanApplication(application)
- then:
- loanApplication.loanApplicationStatus == LoanApplicationStatus.LOAN_APPLIED
- loanApplication.rejectionReason == null
- }
-
- // tag::client_tdd[]
- def 'should be rejected due to abnormal loan amount'() {
- given:
- LoanApplication application =
- new LoanApplication(client: new Client(pesel: '1234567890'), amount: 99_999)
- when:
- LoanApplicationResult loanApplication = sut.loanApplication(application)
- then:
- loanApplication.loanApplicationStatus == LoanApplicationStatus.LOAN_APPLICATION_REJECTED
- loanApplication.rejectionReason == 'Amount too high'
- }
- // end::client_tdd[]
-
-}
diff --git a/samples/standalone/http-client/src/test/java/com/example/loan/LoanApplicationServiceTests.java b/samples/standalone/http-client/src/test/java/com/example/loan/LoanApplicationServiceTests.java
new file mode 100644
index 0000000000..c6a5235ee6
--- /dev/null
+++ b/samples/standalone/http-client/src/test/java/com/example/loan/LoanApplicationServiceTests.java
@@ -0,0 +1,53 @@
+package com.example.loan;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.example.loan.model.Client;
+import com.example.loan.model.LoanApplication;
+import com.example.loan.model.LoanApplicationResult;
+import com.example.loan.model.LoanApplicationStatus;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+@AutoConfigureStubRunner
+public class LoanApplicationServiceTests {
+
+ @Autowired
+ private LoanApplicationService sut;
+
+ @Test
+ public void shouldSuccessfullyApplyForLoan() {
+ // given:
+ LoanApplication application = new LoanApplication(new Client("1234567890"),
+ 123.123);
+ // when:
+ LoanApplicationResult loanApplication = sut.loanApplication(application);
+ // then:
+ assertThat(loanApplication.getLoanApplicationStatus())
+ .isEqualTo(LoanApplicationStatus.LOAN_APPLIED);
+ assertThat(loanApplication.getRejectionReason()).isNull();
+ }
+
+ // tag::client_tdd[]
+ @Test
+ public void shouldBeRejectedDueToAbnormalLoanAmount() {
+ // given:
+ LoanApplication application = new LoanApplication(new Client("1234567890"),
+ 99999);
+ // when:
+ LoanApplicationResult loanApplication = sut.loanApplication(application);
+ // then:
+ assertThat(loanApplication.getLoanApplicationStatus())
+ .isEqualTo(LoanApplicationStatus.LOAN_APPLICATION_REJECTED);
+ assertThat(loanApplication.getRejectionReason()).isEqualTo("Amount too high");
+ }
+ // end::client_tdd[]
+
+}