From 7c8a8b4d333dcdb5235ad67fb1d8660825bf0c59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Kubry=C5=84ski?= Date: Tue, 18 Apr 2017 14:17:35 +0200 Subject: [PATCH] Simplify samples used in documentation (#268) --- .../com/example/loan/LoanApplicationService.java | 10 ++++------ .../com/example/fraud/FraudDetectionController.java | 7 +------ .../java/com/example/fraud/FraudNameController.java | 6 +----- .../java/com/example/fraud/FraudStatsController.java | 10 ++-------- .../contracts/fraud/shouldMarkClientAsFraud.groovy | 12 ++++++------ .../fraud/shouldMarkClientAsNotFraud.groovy | 4 ++-- .../contracts/fraud/shouldReturnFraudStats.groovy | 4 ++-- .../fraudname/shouldReturnAFraudForTheName.groovy | 2 +- .../fraudname/shouldReturnNonFraudForTheName.groovy | 2 +- 9 files changed, 20 insertions(+), 37 deletions(-) diff --git a/samples/standalone/dsl/http-client/src/main/java/com/example/loan/LoanApplicationService.java b/samples/standalone/dsl/http-client/src/main/java/com/example/loan/LoanApplicationService.java index c91df67aea..cf26b27f35 100644 --- a/samples/standalone/dsl/http-client/src/main/java/com/example/loan/LoanApplicationService.java +++ b/samples/standalone/dsl/http-client/src/main/java/com/example/loan/LoanApplicationService.java @@ -5,6 +5,7 @@ import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; @@ -20,9 +21,6 @@ import com.example.loan.model.Response; @Service public class LoanApplicationService { - private static final String FRAUD_SERVICE_JSON_VERSION_1 = - "application/vnd.fraud.v1+json"; - private final RestTemplate restTemplate; private int port = 6565; @@ -45,7 +43,7 @@ public class LoanApplicationService { private FraudServiceResponse sendRequestToFraudDetectionService( FraudServiceRequest request) { HttpHeaders httpHeaders = new HttpHeaders(); - httpHeaders.add(HttpHeaders.CONTENT_TYPE, FRAUD_SERVICE_JSON_VERSION_1); + httpHeaders.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE); // tag::client_call_server[] ResponseEntity response = @@ -70,7 +68,7 @@ public class LoanApplicationService { public int countAllFrauds() { HttpHeaders httpHeaders = new HttpHeaders(); - httpHeaders.add(HttpHeaders.CONTENT_TYPE, FRAUD_SERVICE_JSON_VERSION_1); + httpHeaders.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE); ResponseEntity response = restTemplate.exchange("http://localhost:" + port + "/frauds", HttpMethod.GET, new HttpEntity<>(httpHeaders), @@ -80,7 +78,7 @@ public class LoanApplicationService { public int countDrunks() { HttpHeaders httpHeaders = new HttpHeaders(); - httpHeaders.add(HttpHeaders.CONTENT_TYPE, FRAUD_SERVICE_JSON_VERSION_1); + httpHeaders.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE); ResponseEntity response = restTemplate.exchange("http://localhost:" + port + "/drunks", HttpMethod.GET, new HttpEntity<>(httpHeaders), diff --git a/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/FraudDetectionController.java b/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/FraudDetectionController.java index d172969868..764f8a6e96 100644 --- a/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/FraudDetectionController.java +++ b/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/FraudDetectionController.java @@ -15,17 +15,12 @@ import static org.springframework.web.bind.annotation.RequestMethod.PUT; @RestController public class FraudDetectionController { - private static final String FRAUD_SERVICE_JSON_VERSION_1 = "application/vnd.fraud.v1+json"; private static final String NO_REASON = null; private static final String AMOUNT_TOO_HIGH = "Amount too high"; private static final BigDecimal MAX_AMOUNT = new BigDecimal("5000"); // tag::server_api[] - @RequestMapping( - value = "/fraudcheck", - method = PUT, - consumes = FRAUD_SERVICE_JSON_VERSION_1, - produces = FRAUD_SERVICE_JSON_VERSION_1) + @RequestMapping(value = "/fraudcheck", method = PUT) public FraudCheckResult fraudCheck(@RequestBody FraudCheck fraudCheck) { // end::server_api[] // tag::new_impl[] diff --git a/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/FraudNameController.java b/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/FraudNameController.java index ea6ff8f2c0..4ba6881594 100644 --- a/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/FraudNameController.java +++ b/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/FraudNameController.java @@ -10,17 +10,13 @@ import org.springframework.web.bind.annotation.RestController; @RestController class FraudNameController { - private static final String FRAUD_SERVICE_JSON_VERSION_1 = "application/vnd.fraud.v1+json"; - private final FraudVerifier fraudVerifier; FraudNameController(FraudVerifier fraudVerifier) { this.fraudVerifier = fraudVerifier; } - @PutMapping( - value = "/frauds/name", - produces = FRAUD_SERVICE_JSON_VERSION_1) + @PutMapping(value = "/frauds/name") public NameResponse checkByName(@RequestBody NameRequest request) { boolean fraud = this.fraudVerifier.isFraudByName(request.getName()); if (fraud) { diff --git a/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/FraudStatsController.java b/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/FraudStatsController.java index ab8d933814..ac9340611c 100644 --- a/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/FraudStatsController.java +++ b/samples/standalone/dsl/http-server/src/main/java/com/example/fraud/FraudStatsController.java @@ -6,24 +6,18 @@ import org.springframework.web.bind.annotation.RestController; @RestController public class FraudStatsController { - private static final String FRAUD_SERVICE_JSON_VERSION_1 = "application/vnd.fraud.v1+json"; - private final StatsProvider statsProvider; public FraudStatsController(StatsProvider statsProvider) { this.statsProvider = statsProvider; } - @GetMapping( - value = "/frauds", - produces = FRAUD_SERVICE_JSON_VERSION_1) + @GetMapping(value = "/frauds") public Response countAllFrauds() { return new Response(this.statsProvider.count(FraudType.ALL)); } - @GetMapping( - value = "/drunks", - produces = FRAUD_SERVICE_JSON_VERSION_1) + @GetMapping(value = "/drunks") public Response countAllDrunks() { return new Response(this.statsProvider.count(FraudType.DRUNKS)); } diff --git a/samples/standalone/dsl/http-server/src/test/resources/contracts/fraud/shouldMarkClientAsFraud.groovy b/samples/standalone/dsl/http-server/src/test/resources/contracts/fraud/shouldMarkClientAsFraud.groovy index e798cdc7eb..915ae084a7 100644 --- a/samples/standalone/dsl/http-server/src/test/resources/contracts/fraud/shouldMarkClientAsFraud.groovy +++ b/samples/standalone/dsl/http-server/src/test/resources/contracts/fraud/shouldMarkClientAsFraud.groovy @@ -9,7 +9,7 @@ org.springframework.cloud.contract.spec.Contract.make { loanAmount: 99999 ]) headers { // (5) - contentType('application/vnd.fraud.v1+json') + contentType('application/json') } } response { // (6) @@ -19,7 +19,7 @@ org.springframework.cloud.contract.spec.Contract.make { rejectionReason: "Amount too high" ]) headers { // (9) - contentType('application/vnd.fraud.v1+json') + contentType('application/json') } } } @@ -42,12 +42,12 @@ From the Consumer perspective, when shooting a request in the integration test: (4) - with the JSON body that * has a field `clientId` that matches a regular expression `[0-9]{10}` * has a field `loanAmount` that is equal to `99999` -(5) - with header `Content-Type` equal to `application/vnd.fraud.v1+json` +(5) - with header `Content-Type` equal to `application/json` (6) - then the response will be sent with (7) - status equal `200` (8) - and JSON body equal to { "fraudCheckStatus": "FRAUD", "rejectionReason": "Amount too high" } -(9) - with header `Content-Type` equal to `application/vnd.fraud.v1+json` +(9) - with header `Content-Type` equal to `application/json` From the Producer perspective, in the autogenerated producer-side test: @@ -57,10 +57,10 @@ From the Producer perspective, in the autogenerated producer-side test: (4) - with the JSON body that * has a field `clientId` that will have a generated value that matches a regular expression `[0-9]{10}` * has a field `loanAmount` that is equal to `99999` -(5) - with header `Content-Type` equal to `application/vnd.fraud.v1+json` +(5) - with header `Content-Type` equal to `application/json` (6) - then the test will assert if the response has been sent with (7) - status equal `200` (8) - and JSON body equal to { "fraudCheckStatus": "FRAUD", "rejectionReason": "Amount too high" } -(9) - with header `Content-Type` matching `application/vnd.fraud.v1+json.*` +(9) - with header `Content-Type` matching `application/json.*` */ \ No newline at end of file diff --git a/samples/standalone/dsl/http-server/src/test/resources/contracts/fraud/shouldMarkClientAsNotFraud.groovy b/samples/standalone/dsl/http-server/src/test/resources/contracts/fraud/shouldMarkClientAsNotFraud.groovy index c3dce3f32d..a04fe8447f 100644 --- a/samples/standalone/dsl/http-server/src/test/resources/contracts/fraud/shouldMarkClientAsNotFraud.groovy +++ b/samples/standalone/dsl/http-server/src/test/resources/contracts/fraud/shouldMarkClientAsNotFraud.groovy @@ -12,7 +12,7 @@ org.springframework.cloud.contract.spec.Contract.make { """ ) headers { - contentType("application/vnd.fraud.v1+json") + contentType("application/json") } } @@ -23,7 +23,7 @@ org.springframework.cloud.contract.spec.Contract.make { rejectionReason: $(consumer(null), producer(execute('assertThatRejectionReasonIsNull($it)'))) ) headers { - contentType("application/vnd.fraud.v1+json") + contentType("application/json") } } diff --git a/samples/standalone/dsl/http-server/src/test/resources/contracts/fraud/shouldReturnFraudStats.groovy b/samples/standalone/dsl/http-server/src/test/resources/contracts/fraud/shouldReturnFraudStats.groovy index a6ed5a97d7..1b95f5e19f 100644 --- a/samples/standalone/dsl/http-server/src/test/resources/contracts/fraud/shouldReturnFraudStats.groovy +++ b/samples/standalone/dsl/http-server/src/test/resources/contracts/fraud/shouldReturnFraudStats.groovy @@ -15,7 +15,7 @@ import org.springframework.cloud.contract.spec.Contract count: 200 ]) headers { - contentType("application/vnd.fraud.v1+json") + contentType("application/json") } } }, @@ -30,7 +30,7 @@ import org.springframework.cloud.contract.spec.Contract count: 100 ]) headers { - contentType("application/vnd.fraud.v1+json") + contentType("application/json") } } } diff --git a/samples/standalone/dsl/http-server/src/test/resources/contracts/fraudname/shouldReturnAFraudForTheName.groovy b/samples/standalone/dsl/http-server/src/test/resources/contracts/fraudname/shouldReturnAFraudForTheName.groovy index f2f96c2676..31c3d0e215 100644 --- a/samples/standalone/dsl/http-server/src/test/resources/contracts/fraudname/shouldReturnAFraudForTheName.groovy +++ b/samples/standalone/dsl/http-server/src/test/resources/contracts/fraudname/shouldReturnAFraudForTheName.groovy @@ -10,7 +10,7 @@ org.springframework.cloud.contract.spec.Contract.make { name: "fraud" ]) headers { - contentType("application/vnd.fraud.v1+json") + contentType("application/json") } } response { diff --git a/samples/standalone/dsl/http-server/src/test/resources/contracts/fraudname/shouldReturnNonFraudForTheName.groovy b/samples/standalone/dsl/http-server/src/test/resources/contracts/fraudname/shouldReturnNonFraudForTheName.groovy index eddea317a7..ce9a92a533 100644 --- a/samples/standalone/dsl/http-server/src/test/resources/contracts/fraudname/shouldReturnNonFraudForTheName.groovy +++ b/samples/standalone/dsl/http-server/src/test/resources/contracts/fraudname/shouldReturnNonFraudForTheName.groovy @@ -8,7 +8,7 @@ org.springframework.cloud.contract.spec.Contract.make { name: $(anyAlphaUnicode()) ]) headers { - contentType("application/vnd.fraud.v1+json") + contentType("application/json") } } response {