From 8e4360535ceede8cc81c9fb7608b99fe5c7d35e3 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Thu, 15 Mar 2018 09:59:11 +0100 Subject: [PATCH] Added HttpStatus delegate in the Groovy DSL Response with this change there are numerous helper methods that should provide a more descriptive DSL for the response status. Instead of a numerical status you can now call a method e.g. instead of 200 call OK() fixes gh-575 --- README.adoc | 251 +++++++----- .../main/asciidoc/spring-cloud-wiremock.adoc | 2 +- docs/src/main/asciidoc/verifier_contract.adoc | 9 +- docs/src/main/asciidoc/verifier_faq.adoc | 2 +- .../main/asciidoc/verifier_introduction.adoc | 2 +- .../example/server/client1/expectation.groovy | 2 +- .../example/server/client2/expectation.groovy | 2 +- .../example/server/client3/expectation.groovy | 2 +- .../fraud/shouldMarkClientAsFraud.groovy | 2 +- .../fraud/shouldMarkClientAsNotFraud.groovy | 2 +- .../fraud/shouldReturnFraudStats.groovy | 4 +- .../shouldReturnAFraudForTheName.groovy | 2 +- .../shouldReturnNonFraudForTheName.groovy | 2 +- .../contract/spec/internal/HttpStatus.groovy | 384 ++++++++++++++++++ .../contract/spec/internal/Response.groovy | 3 +- .../spec/internal/ContractSpec.groovy | 12 +- .../spec/internal/HttpStatusTests.java | 278 +++++++++++++ spring-cloud-contract-stub-runner/README.adoc | 4 +- .../repository/contracts/contract1.groovy | 2 +- .../repository/httpcontract/contract1.groovy | 2 +- .../RecursiveFilesConverterSpec.groovy | 4 +- .../DslToWireMockClientConverterSpec.groovy | 14 +- .../WireMockToDslConverterSpec.groovy | 22 +- .../scenario/main_scenario/01_login.groovy | 2 +- .../scenario/main_scenario/02_showCart.groovy | 2 +- .../scenario/main_scenario/03_logout.groovy | 2 +- .../converter/source/dir1/dsl1.groovy | 2 +- .../converter/source/dir1/dsl1_list.groovy | 2 +- .../converter/source/dir1/dsl1_list2.groovy | 2 +- .../converter/source/dir1/dsl1b.groovy | 2 +- .../converter/source/dir2/dsl2.groovy | 2 +- .../resources/converter/source/dslRoot.groovy | 2 +- .../pairId/collerate_PlacesFrom_Tweet.groovy | 2 +- .../pairId/moreComplexVersion.groovy | 2 +- .../shouldMarkClientAsFraud.groovy | 2 +- .../shouldMarkClientAsNotFraud.groovy | 2 +- .../1_shouldMarkClientAsNotFraud.groovy | 2 +- .../2_shouldMarkClientAsFraud.groovy | 2 +- .../contracts/com/hello/v1/Sample.groovy | 2 +- .../contracts/com/hello/v1/WithList.groovy | 2 +- .../contracts/hello/v1/Sample.groovy | 2 +- .../contracts/hello/v1/WithList.groovy | 2 +- .../test/resources/contracts/Sample.groovy | 2 +- .../test/resources/contracts/WithList.groovy | 2 +- .../common-repo/consumer1/Sample.groovy | 2 +- .../common-repo/consumer1/WithList.groovy | 2 +- .../contracts/shouldMarkClientAsFraud.groovy | 2 +- .../shouldMarkClientAsNotFraud.groovy | 2 +- .../contracts/shouldMarkClientAsFraud.groovy | 2 +- .../shouldMarkClientAsNotFraud.groovy | 2 +- .../target/stubs/contracts/Sample.groovy | 2 +- .../contracts/com/hello/v1/WithList.groovy | 4 +- .../resources/contracts/greetings_ok.groovy | 2 +- .../greetings_with_default_value.groovy | 2 +- .../src/test/projects/pomless/Sample.groovy | 2 +- .../resources/contracts/greetings_ok.groovy | 2 +- .../greetings_with_default_value.groovy | 2 +- .../resources/contracts/greetings_ok.groovy | 2 +- .../greetings_with_default_value.groovy | 2 +- .../src/test/resources/stubs/Sample.groovy | 2 +- .../contracts/shouldMarkClientAsFraud.groovy | 2 +- .../shouldMarkClientAsNotFraud.groovy | 2 +- .../contracts/shouldReturnFraudStats.groovy | 4 +- .../builder/ContractHttpDocsSpec.groovy | 6 +- .../JaxRsClientMethodBuilderSpec.groovy | 62 +-- .../builder/MethodBodyBuilderSpec.groovy | 26 +- .../verifier/builder/MethodBuilderSpec.groovy | 2 +- .../MockMvcMethodBodyBuilderSpec.groovy | 104 ++--- ...vcMethodBodyBuilderWithMatchersSpec.groovy | 16 +- .../builder/SingleTestGeneratorSpec.groovy | 16 +- .../verifier/dsl/WireMockGroovyDslSpec.groovy | 72 ++-- .../ContractVerifierDslConverterSpec.groovy | 4 +- .../resources/classpath/readFromFile.groovy | 2 +- .../src/test/resources/contract.groovy | 2 +- .../resources/directory/with/mixed/dsl.groovy | 2 +- .../test/resources/dsl/basic/sampleDsl.groovy | 2 +- .../test/resources/multiple_contracts.groovy | 2 +- 77 files changed, 1064 insertions(+), 347 deletions(-) create mode 100644 spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/HttpStatus.groovy create mode 100644 spring-cloud-contract-spec/src/test/groovy/org/springframework/cloud/contract/spec/internal/HttpStatusTests.java diff --git a/README.adoc b/README.adoc index 3c50c84c47..79912fe714 100644 --- a/README.adoc +++ b/README.adoc @@ -121,15 +121,26 @@ used to test contracts between applications and not to simulate full behavior. This section explores how Spring Cloud Contract Verifier with Stub Runner works. -==== A three second tour +[[spring-cloud-contract-verifier-intro-three-second-tour]] +==== A Three-second Tour +This very brief tour walks through using Spring Cloud Contract: + +* <> +* <> + +You can find a somewhat longer tour +<>. + +[[spring-cloud-contract-verifier-intro-three-second-tour-producer]] ===== On the Producer Side -In order to start working with `Spring Cloud Contract`, add files with REST/ messaging contracts expressed in either -Groovy DSL or YAML to the contracts directory set by the -`contractsDslDir` property, by default `$rootDir/src/test/resources/contracts`. +To start working with Spring Cloud Contract, add files with `REST/` messaging contracts +expressed in either Groovy DSL or YAML to the contracts directory, which is set by the +`contractsDslDir` property. By default, it is `$rootDir/src/test/resources/contracts`. -Then, add Spring Cloud Contract Verifier dependency and plugin to your build file: +Then add the Spring Cloud Contract Verifier dependency and plugin to your build file, as +shown in the following example: [source,xml,indent=0] ---- @@ -140,6 +151,9 @@ Then, add Spring Cloud Contract Verifier dependency and plugin to your build fil ---- +The following listing shows how to add the plugin, which should go in the build/plugins +portion of the file: + [source,xml,indent=0] ---- @@ -150,27 +164,32 @@ Then, add Spring Cloud Contract Verifier dependency and plugin to your build fil ---- -Now, running `./mvnw clean install` will cause tests that verify the application -compliance with the added contracts to be automatically generated, by default under `org.springframework.cloud.contract.verifier.tests.`. +Running `./mvnw clean install` automatically generates tests that verify the application +compliance with the added contracts. By default, the tests get generated under +`org.springframework.cloud.contract.verifier.tests.`. -As the implementation of the functionalities described by the contracts is not yet present, - the tests will fail. +As the implementation of the functionalities described by the contracts is not yet +present, the tests fail. -To make them pass, the correct implementation of either handling HTTP requests or messages -will have to be added. Also, a correct base test class for auto-generated tests needs to be added to the project. -This class will be extended by all the auto-generated tests and it should contain all the setup -necessary to run them (for example `RestAssuredMockMvc` controller setup or messaging test setup). +To make them pass, you must add the correct implementation of either handling HTTP +requests or messages. Also, you must add a correct base test class for auto-generated +tests to the project. This class is extended by all the auto-generated tests, and it +should contain all the setup necessary to run them (for example `RestAssuredMockMvc` +controller setup or messaging test setup). -Once the implementation and the test base class are in place, the tests will pass, and both the application - and the stub artifacts will be built and installed in the local Maven repository. The changes can now be merged - and both the application and the stub artifacts may be published in an online repository. +Once the implementation and the test base class are in place, the tests pass, and both the +application and the stub artifacts are built and installed in the local Maven repository. +The changes can now be merged, and both the application and the stub artifacts may be +published in an online repository. +[[spring-cloud-contract-verifier-intro-three-second-tour-consumer]] ===== On the Consumer Side -`Spring Cloud Contract Stub Runner` can be used in the integration tests to get a running WireMock instance/ -messaging route that simulates the actual service. +`Spring Cloud Contract Stub Runner` can be used in the integration tests to get a running +WireMock instance or messaging route that simulates the actual service. -Add the dependency to `Spring Cloud Contract Stub Runner`: +To do so, add the dependency to `Spring Cloud Contract Stub Runner`, as shown in the +following example: [source,xml,indent=0] ---- @@ -181,23 +200,23 @@ Add the dependency to `Spring Cloud Contract Stub Runner`: ---- -Get the Producer-side stubs installed in your Maven repository by either: - -- checking out the Producer side repository, adding contracts and generating the stubs by running: +You can get the Producer-side stubs installed in your Maven repository in either of two +ways: +* By checking out the Producer side repository and adding contracts and generating the stubs +by running the following commands: ++ [source,bash,indent=0] ---- $ cd local-http-server-repo $ ./mvnw clean install -DskipTests ---- -TIP: The tests are being skipped because the Producer-side contract implementation is not in place yet, -so the automatically-generated contract tests would fail; - -or: - -- getting already existing producer service stubs from a remote repository; to do this, simply pass the - stub artifact ids and artifact repository url as `Spring Cloud Contract Stub Runner` properties: - +TIP: The tests are being skipped because the Producer-side contract implementation is not +in place yet, so the automatically-generated contract tests fail. +* By getting already-existing producer service stubs from a remote repository. To do so, +pass the stub artifact IDs and artifact repository URL as `Spring Cloud Contract +Stub Runner` properties, as shown in the following example: ++ [source,yaml,indent=0] ---- stubrunner: @@ -205,10 +224,9 @@ stubrunner: repositoryRoot: http://repo.spring.io/libs-snapshot ---- -Now just annotate your test class with `@AutoConfigureStubRunner`. In the annotation, provide -the group-id and artifact-id for `Spring Cloud Contract Stub Runner` to run the collaborators' stubs for you. - -TIP: Use the `REMOTE` stubsMode when downloading stubs from an online repository and `LOCAL` for offline work. +Now you can annotate your test class with `@AutoConfigureStubRunner`. In the annotation, +provide the `group-id` and `artifact-id` values for `Spring Cloud Contract Stub Runner` to +run the collaborators' stubs for you, as shown in the following example: [source,java, indent=0] ---- @@ -220,19 +238,33 @@ TIP: Use the `REMOTE` stubsMode when downloading stubs from an online repository public class LoanApplicationServiceTests { ---- -Now in your integration test, you will be able to receive stubbed versions of HTTP responses or messages that are -expected to be emitted by the collaborator service. +TIP: Use the `REMOTE` `stubsMode` when downloading stubs from an online repository and +`LOCAL` for offline work. -==== A three minute tour +Now, in your integration test, you can receive stubbed versions of HTTP responses or +messages that are expected to be emitted by the collaborator service. +[[spring-cloud-contract-verifier-intro-three-minute-tour]] +==== A Three-minute Tour + +This brief tour walks through using Spring Cloud Contract: + +* <> +* <> + +You can find an even more brief tour +<>. + +[[spring-cloud-contract-verifier-intro-three-minute-tour-producer]] ===== On the Producer Side -In order to start working with `Spring Cloud Contract`, add files with REST/ messaging contracts expressed in either -Groovy DSL or YAML to the contracts directory set by the -`contractsDslDir` property, by default `$rootDir/src/test/resources/contracts`. +To start working with `Spring Cloud Contract`, add files with `REST/` messaging contracts +expressed in either Groovy DSL or YAML to the contracts directory, which is set by the +`contractsDslDir` property. By default, it is `$rootDir/src/test/resources/contracts`. -For the HTTP stubs, a contract defines what kind of response should be returned for a given request (taking into account the HTTP -methods, urls, headers, status codes, etc.). A sample HTTP stub contract in Groovy DSL would look like this: +For the HTTP stubs, a contract defines what kind of response should be returned for a +given request (taking into account the HTTP methods, URLs, headers, status codes, and so +on). The following example shows how an HTTP stub contract in Groovy DSL: [source,groovy,indent=0] ---- @@ -251,7 +283,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { - status 200 + status OK() body([ fraudCheckStatus: "FRAUD", "rejection.reason": "Amount too high" @@ -263,7 +295,7 @@ org.springframework.cloud.contract.spec.Contract.make { } ---- -While the same contract expressed in YAML would look the following way: +The same contract expressed in YAML would look like the following example: [source,yaml,indent=0] ---- @@ -289,24 +321,29 @@ response: Content-Type: application/json;charset=UTF-8 ---- -In the case of messaging, the input and the output messages can be defined (taking into account from and -where to it was sent, the message body and header), as well as the methods that should be called after the message - is received or the methods that, when called, should trigger a message. -An example of a Camel messaging contract expressed in Groovy DSL whould look like this: +In the case of messaging, you can define: + +* The input and the output messages can be defined (taking into account from and where it +was sent, the message body, and the header). +* The methods that should be called after the message is received. +* The methods that, when called, should trigger a message. + +The following example shows a Camel messaging contract expressed in Groovy DSL: [source,groovy] ---- Unresolved directive in verifier_introduction.adoc - include::{verifier_core_path}/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MessagingMethodBodyBuilderSpec.groovy[tags=trigger_no_output_dsl] ---- -While, the same contract expressed in YAML would look as in the code below: +The following example shows the same contract expressed in YAML: [source,yml,indent=0] ---- Unresolved directive in verifier_introduction.adoc - include::{verifier_core_path}/src/test/resources/yml/contract_message_scenario3.yml[indent=0] ---- -Then, add Spring Cloud Contract Verifier dependency and plugin to your build file: +Then you can add Spring Cloud Contract Verifier dependency and plugin to your build file, +as shown in the following example: [source,xml,indent=0] ---- @@ -317,6 +354,9 @@ Then, add Spring Cloud Contract Verifier dependency and plugin to your build fil ---- +The following listing shows how to add the plugin, which should go in the build/plugins +portion of the file: + [source,xml,indent=0] ---- @@ -327,10 +367,11 @@ Then, add Spring Cloud Contract Verifier dependency and plugin to your build fil ---- -Now, running `./mvnw clean install` will cause tests that verify the application -compliance with the added contracts to be automatically generated, by default under `org.springframework.cloud.contract.verifier.tests.`. +Running `./mvnw clean install` automatically generates tests that verify the application +compliance with the added contracts. By default, the generated tests are under +`org.springframework.cloud.contract.verifier.tests.`. -A sample auto-generated test for an HTTP contract would look the following way: +The following example shows a sample auto-generated test for an HTTP contract: [source,java,indent=0] ---- @@ -355,17 +396,18 @@ public void validate_shouldMarkClientAsFraud() throws Exception { } ---- -The sample above uses Spring's `MockMvc` to run the tests. This is the default test mode for HTTP -contracts, however also JAX-RX client and explicit HTTP invocations can be used as well (just change -the `testMode` property of the plugin to `JAX-RS` or `EXPLICIT`. +The preceding example uses Spring's `MockMvc` to run the tests. This is the default test +mode for HTTP contracts. However, JAX-RX client and explicit HTTP invocations can also be +used. (To do so, change the `testMode` property of the plugin to `JAX-RS` or `EXPLICIT`, +respectively.) -Apart from the default JUnit, you can also use Spock tests, instead, by setting the plugin `testFramework` -property to `Spock`. +Apart from the default JUnit, you can instead use Spock tests, by setting the plugin +`testFramework` property to `Spock`. -TIP: You can now also generate WireMock scenarios based on the contracts, by including an order number followed by - an underscore at the beginning of the contract file names. +TIP: You can now also generate WireMock scenarios based on the contracts, by including an +order number followed by an underscore at the beginning of the contract file names. -A sample auto-generated test in Spock for a messaging stub contract would look similar to this: +The following example shows an auto-generated test in Spock for a messaging stub contract: [source,groovy,indent=0] ---- @@ -383,17 +425,19 @@ then: bookWasDeleted() ---- -As the implementation of the functionalities described by the contracts is not yet present, - the tests will fail. +As the implementation of the functionalities described by the contracts is not yet +present, the tests fail. -To make them pass, the correct implementation of handling either HTTP requests or messages -will have to be added. Also, a correct base test class for auto-generated tests needs to be added to the project. -This class will be extended by all the auto-generated tests and it should contain all the setup -necessary to run them (for example `RestAssuredMockMvc` controller setup or messaging test setup). +To make them pass, you must add the correct implementation of handling either HTTP +requests or messages. Also, you must add a correct base test class for auto-generated +tests to the project. This class is extended by all the auto-generated tests and should +contain all the setup necessary to run them (for example, `RestAssuredMockMvc` controller +setup or messaging test setup). -Once the implementation and the test base class are in place, the tests will pass, and both the application - and the stub artifacts will be built and installed in the local Maven repository. Information about - installing the stubs jar to the local repository will appear in the logs: +Once the implementation and the test base class are in place, the tests pass, and both the +application and the stub artifacts are built and installed in the local Maven repository. +Information about installing the stubs jar to the local repository appears in the logs, as +shown in the following example: [source,bash,indent=0] ---- @@ -411,22 +455,26 @@ Once the implementation and the test base class are in place, the tests will pas [INFO] Installing /some/path/http-server/target/http-server-0.0.1-SNAPSHOT-stubs.jar to /path/to/your/.m2/repository/com/example/http-server/0.0.1-SNAPSHOT/http-server-0.0.1-SNAPSHOT-stubs.jar ---- -The changes can now be merged and both the application and the stub artifacts may be published in an online repository. +You can now merge the changes and publish both the application and the stub artifacts +in an online repository. *Docker Project* -In order to enable working with contracts while creating applications in non-JVM technologies, -the `springcloud/spring-cloud-contract` Docker image has been created. It contains a project that will -automatically generate tests for HTTP contracts and execute them in `EXPLICIT` test mode, then, if -the tests pass, generate Wiremock stubs and -optionally- publish them to an artifact manager. In order to use the -image, it's sufficient to mount the contracts into the `/contracts` directory and set a few environment variables. +In order to enable working with contracts while creating applications in non-JVM +technologies, the `springcloud/spring-cloud-contract` Docker image has been created. It +contains a project that automatically generates tests for HTTP contracts and executes them +in `EXPLICIT` test mode. Then, if the tests pass, it generates Wiremock stubs and, +optionally, publishes them to an artifact manager. In order to use the image, you can +mount the contracts into the `/contracts` directory and set a few environment variables. +// TODO: We should answer the obvious question: Which environment variables? +[[spring-cloud-contract-verifier-intro-three-minute-tour-consumer]] ===== On the Consumer Side -`Spring Cloud Contract Stub Runner` can be used in the integration tests to get a running WireMock instance/ -messaging route that simulates the actual service. +`Spring Cloud Contract Stub Runner` can be used in the integration tests to get a running +WireMock instance or messaging route that simulates the actual service. -Add the dependency to `Spring Cloud Contract Stub Runner`: +To get started, add the dependency to `Spring Cloud Contract Stub Runner`: [source,xml,indent=0] ---- @@ -437,23 +485,23 @@ Add the dependency to `Spring Cloud Contract Stub Runner`: ---- -Get the Producer-side stubs installed in your Maven repository by either: - -- checking out the Producer side repository, adding contracts and generating the stubs by running: +You can get the Producer-side stubs installed in your Maven repository in either of two +ways: +* By checking out the Producer side repository and adding contracts and generating the +stubs by running the following commands: ++ [source,bash,indent=0] ---- $ cd local-http-server-repo $ ./mvnw clean install -DskipTests ---- -TIP: The tests are being skipped because the Producer-side contract implementation is not in place yet, -so the automatically-generated contract tests would fail; - -or: - -- getting already existing producer service stubs from a remote repository; to do this, simply pass the - stub artifact ids and artifact repository url as `Spring Cloud Contract Stub Runner` properties: - +NOTE: The tests are skipped because the Producer-side contract implementation is not yet +in place, so the automatically-generated contract tests fail. +* Getting already existing producer service stubs from a remote repository. To do so, +pass the stub artifact IDs and artifact repository URl as `Spring Cloud Contract Stub +Runner` properties, as shown in the following example: ++ [source,yaml,indent=0] ---- stubrunner: @@ -461,10 +509,9 @@ stubrunner: repositoryRoot: http://repo.spring.io/libs-snapshot ---- -Now just annotate your test class with `@AutoConfigureStubRunner`. In the annotation, provide -the group-id and artifact-id for `Spring Cloud Contract Stub Runner` to run the collaborators' stubs for you. - -TIP: Use the `REMOTE` stubsMode when downloading stubs from an online repository and `LOCAL` for offline work. +Now you can annotate your test class with `@AutoConfigureStubRunner`. In the annotation, +provide the `group-id` and `artifact-id` for `Spring Cloud Contract Stub Runner` to run +the collaborators' stubs for you, as shown in the following example: [source,java, indent=0] ---- @@ -476,8 +523,12 @@ TIP: Use the `REMOTE` stubsMode when downloading stubs from an online repository public class LoanApplicationServiceTests { ---- -Now in your integration test, you will be able to receive stubbed versions of HTTP responses or messages that are -expected to be emitted by the collaborator service. You will see entries similar to theses in the build logs: +TIP: Use the `REMOTE` `stubsMode` when downloading stubs from an online repository and +`LOCAL` for offline work. + +In your integration test, you can receive stubbed versions of HTTP responses or messages +that are expected to be emitted by the collaborator service. You can see entries similar +to the following in the build logs: [source,bash,indent=0] ---- @@ -491,7 +542,7 @@ expected to be emitted by the collaborator service. You will see entries similar ---- -==== Defining the contract +==== Defining the Contract As consumers of services, we need to define what exactly we want to achieve. We need to formulate our expectations. That is why we write contracts. @@ -518,7 +569,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { // (6) - status 200 // (7) + status OK() // (7) body([ // (8) fraudCheckStatus: "FRAUD", "rejection.reason": "Amount too high" @@ -876,7 +927,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { // (6) - status 200 // (7) + status OK() // (7) body([ // (8) fraudCheckStatus: "FRAUD", "rejection.reason": "Amount too high" @@ -1868,7 +1919,7 @@ Contract.make { } } response { - status 200 + status OK() body(''' bar ''') diff --git a/docs/src/main/asciidoc/spring-cloud-wiremock.adoc b/docs/src/main/asciidoc/spring-cloud-wiremock.adoc index 1fc643d0a2..37d2aa7cae 100644 --- a/docs/src/main/asciidoc/spring-cloud-wiremock.adoc +++ b/docs/src/main/asciidoc/spring-cloud-wiremock.adoc @@ -371,7 +371,7 @@ Contract.make { } } response { - status 200 + status OK() body(''' bar ''') diff --git a/docs/src/main/asciidoc/verifier_contract.adoc b/docs/src/main/asciidoc/verifier_contract.adoc index 9deb6bbda7..ecdc08b09c 100644 --- a/docs/src/main/asciidoc/verifier_contract.adoc +++ b/docs/src/main/asciidoc/verifier_contract.adoc @@ -357,10 +357,13 @@ include::{verifier_core_path}/src/test/resources/yml/contract.yml[tags=response, include::{verifier_core_path}/src/test/resources/yml/contract.yml[tags=response_obligatory,indent=0] ---- - Besides status, the response may contain **headers** and a **body**, both of which are specified the same way as in the request (see the previous paragraph). +TIP: Via the Groovy DSL you can reference the `org.springframework.cloud.contract.spec.internal.HttpStatus` +methods to provide a meaningful status instead of a digit. E.g. you can call +`OK()` for a status `200` or `BAD_REQUEST()` for `400`. + === Dynamic properties The contract can contain some dynamic properties: timestamps, IDs, and so on. You do not @@ -929,7 +932,7 @@ Contract.make { url("/foo") } response { - status 200 + status OK() body(events: [[ operation : 'EXPORT', eventId : '16f1ed75-0bcc-4f0d-a04d-3121798faf99', @@ -1007,7 +1010,7 @@ org.springframework.cloud.contract.spec.Contract.make { url '/get' } response { - status 200 + status OK() body 'Passed' async() } diff --git a/docs/src/main/asciidoc/verifier_faq.adoc b/docs/src/main/asciidoc/verifier_faq.adoc index 584b1edfe7..85be0b1dfc 100644 --- a/docs/src/main/asciidoc/verifier_faq.adoc +++ b/docs/src/main/asciidoc/verifier_faq.adoc @@ -151,7 +151,7 @@ org.springframework.cloud.contract.spec.Contract.make { ]) } response { - status 200 + status OK() body([ time : value(producer(regex('[0-9]{4}-[0-9]{2}-[0-9]{2} [0-2][0-9]-[0-5][0-9]-[0-5][0-9]')), id: value([producer(regex('[0-9a-zA-z]{8}-[0-9a-zA-z]{4}-[0-9a-zA-z]{4}-[0-9a-zA-z]{12}')) diff --git a/docs/src/main/asciidoc/verifier_introduction.adoc b/docs/src/main/asciidoc/verifier_introduction.adoc index dfebbedd7b..166e0fd844 100644 --- a/docs/src/main/asciidoc/verifier_introduction.adoc +++ b/docs/src/main/asciidoc/verifier_introduction.adoc @@ -249,7 +249,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { - status 200 + status OK() body([ fraudCheckStatus: "FRAUD", "rejection.reason": "Amount too high" diff --git a/samples/standalone/contracts/com/example/server/client1/expectation.groovy b/samples/standalone/contracts/com/example/server/client1/expectation.groovy index e798cdc7eb..9185953537 100644 --- a/samples/standalone/contracts/com/example/server/client1/expectation.groovy +++ b/samples/standalone/contracts/com/example/server/client1/expectation.groovy @@ -13,7 +13,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { // (6) - status 200 // (7) + status OK() // (7) body([ // (8) fraudCheckStatus: "FRAUD", rejectionReason: "Amount too high" diff --git a/samples/standalone/contracts/com/example/server/client2/expectation.groovy b/samples/standalone/contracts/com/example/server/client2/expectation.groovy index c8eb2adff4..5c98a9f735 100644 --- a/samples/standalone/contracts/com/example/server/client2/expectation.groovy +++ b/samples/standalone/contracts/com/example/server/client2/expectation.groovy @@ -13,7 +13,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { // (6) - status 200 // (7) + status OK() // (7) body([ // (8) fraudCheckStatus: "FRAUD", rejectionReason: "Amount too high" diff --git a/samples/standalone/contracts/com/example/server/client3/expectation.groovy b/samples/standalone/contracts/com/example/server/client3/expectation.groovy index 47958d8ae9..49e278e0a6 100644 --- a/samples/standalone/contracts/com/example/server/client3/expectation.groovy +++ b/samples/standalone/contracts/com/example/server/client3/expectation.groovy @@ -13,7 +13,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { // (6) - status 200 // (7) + status OK() // (7) body([ // (8) fraudCheckStatus: "FRAUD", rejectionReason: "Amount too high" 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 ccf82ed8d2..b321d0f483 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 @@ -13,7 +13,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { // (6) - status 200 // (7) + status OK() // (7) body([ // (8) fraudCheckStatus: "FRAUD", "rejection.reason": "Amount too high" 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 1a0259cb0d..9a085932ca 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 @@ -17,7 +17,7 @@ org.springframework.cloud.contract.spec.Contract.make { } response { - status 200 + status OK() body( fraudCheckStatus: "OK", "rejection.reason": $(consumer(null), producer(execute('assertThatRejectionReasonIsNull($it)'))) 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 1b95f5e19f..04650151ab 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 @@ -10,7 +10,7 @@ import org.springframework.cloud.contract.spec.Contract url '/frauds' } response { - status 200 + status OK() body([ count: 200 ]) @@ -25,7 +25,7 @@ import org.springframework.cloud.contract.spec.Contract url '/drunks' } response { - status 200 + status OK() body([ count: 100 ]) 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 524caa690b..a09a6e8455 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 @@ -14,7 +14,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { - status 200 + status OK() body([ result: "Sorry ${fromRequest().body('$.name')} but you're a fraud" ]) 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 ce9a92a533..8a27d4e1b0 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 @@ -12,7 +12,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { - status 200 + status OK() body([ result: "Don't worry ${fromRequest().body('$.name')} you're not a fraud" ]) diff --git a/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/HttpStatus.groovy b/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/HttpStatus.groovy new file mode 100644 index 0000000000..ad45936d16 --- /dev/null +++ b/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/HttpStatus.groovy @@ -0,0 +1,384 @@ +package org.springframework.cloud.contract.spec.internal + +import groovy.transform.CompileStatic +import groovy.transform.EqualsAndHashCode + +/** + * Helper functions for HTTP statuses + * + * @author Marcin Grzejszczak + * @since 2.0.0 + */ +@CompileStatic +@EqualsAndHashCode +class HttpStatus { + + private HttpStatus() {} + + // 1xx Informational + + /** + * {@code 100 Continue}. + * @see HTTP/1.1: Semantics and Content, section 6.2.1 + */ + int CONTINUE() { + return 100 + } + + /** + * {@code 101 Switching Protocols}. + * @see HTTP/1.1: Semantics and Content, section 6.2.2 + */ + int SWITCHING_PROTOCOLS() { + return 101 + } + /** + * {@code 102 Processing}. + * @see WebDAV + */ + int PROCESSING() { return 102 } + /** + * {@code 103 Checkpoint}. + * @see A proposal for supporting + * resumable POST/PUT HTTP requests in HTTP/1.0 + */ + int CHECKPOINT() { return 103 } + + // 2xx Success + + /** + * {@code 200 OK}. + * @see HTTP/1.1: Semantics and Content, section 6.3.1 + */ + int OK() { return 200 } + /** + * {@code 201 Created}. + * @see HTTP/1.1: Semantics and Content, section 6.3.2 + */ + int CREATED() { return 201 } + /** + * {@code 202 Accepted}. + * @see HTTP/1.1: Semantics and Content, section 6.3.3 + */ + int ACCEPTED() { return 202 } + /** + * {@code 203 Non-Authoritative Information}. + * @see HTTP/1.1: Semantics and Content, section 6.3.4 + */ + int NON_AUTHORITATIVE_INFORMATION() { return 203 } + /** + * {@code 204 No Content}. + * @see HTTP/1.1: Semantics and Content, section 6.3.5 + */ + int NO_CONTENT() { return 204 } + /** + * {@code 205 Reset Content}. + * @see HTTP/1.1: Semantics and Content, section 6.3.6 + */ + int RESET_CONTENT() { return 205 } + /** + * {@code 206 Partial Content}. + * @see HTTP/1.1: Range Requests, section 4.1 + */ + int PARTIAL_CONTENT() { return 206 } + /** + * {@code 207 Multi-Status}. + * @see WebDAV + */ + int MULTI_STATUS() { return 207 } + /** + * {@code 208 Already Reported}. + * @see WebDAV Binding Extensions + */ + int ALREADY_REPORTED() { return 208 } + /** + * {@code 226 IM Used}. + * @see Delta encoding in HTTP + */ + int IM_USED() { return 226 } + + // 3xx Redirection + + /** + * {@code 300 Multiple Choices}. + * @see HTTP/1.1: Semantics and Content, section 6.4.1 + */ + int MULTIPLE_CHOICES() { return 300 } + /** + * {@code 301 Moved Permanently}. + * @see HTTP/1.1: Semantics and Content, section 6.4.2 + */ + int MOVED_PERMANENTLY() { return 301 } + /** + * {@code 302 Found}. + * @see HTTP/1.1: Semantics and Content, section 6.4.3 + */ + int FOUND() { return 302 } + /** + * {@code 302 Moved Temporarily}. + * @see HTTP/1.0, section 9.3 + * @deprecated in favor of {@link #FOUND} which will be returned from {@code HttpStatus.valueOf(302)} + */ + @Deprecated + int MOVED_TEMPORARILY() { return 302 } + /** + * {@code 303 See Other}. + * @see HTTP/1.1: Semantics and Content, section 6.4.4 + */ + int SEE_OTHER() { return 303 } + /** + * {@code 304 Not Modified}. + * @see HTTP/1.1: Conditional Requests, section 4.1 + */ + int NOT_MODIFIED() { return 304 } + /** + * {@code 305 Use Proxy}. + * @see HTTP/1.1: Semantics and Content, section 6.4.5 + * @deprecated due to security concerns regarding in-band configuration of a proxy + */ + @Deprecated + int USE_PROXY() { return 305 } + /** + * {@code 307 Temporary Redirect}. + * @see HTTP/1.1: Semantics and Content, section 6.4.7 + */ + int TEMPORARY_REDIRECT() { return 307 } + /** + * {@code 308 Permanent Redirect}. + * @see RFC 7238 + */ + int PERMANENT_REDIRECT() { return 308 } + + // --- 4xx Client Error --- + + /** + * {@code 400 Bad Request}. + * @see HTTP/1.1: Semantics and Content, section 6.5.1 + */ + int BAD_REQUEST() { return 400 } + /** + * {@code 401 Unauthorized}. + * @see HTTP/1.1: Authentication, section 3.1 + */ + int UNAUTHORIZED() { return 401 } + /** + * {@code 402 Payment Required}. + * @see HTTP/1.1: Semantics and Content, section 6.5.2 + */ + int PAYMENT_REQUIRED() { return 402 } + /** + * {@code 403 Forbidden}. + * @see HTTP/1.1: Semantics and Content, section 6.5.3 + */ + int FORBIDDEN() { return 403 } + /** + * {@code 404 Not Found}. + * @see HTTP/1.1: Semantics and Content, section 6.5.4 + */ + int NOT_FOUND() { return 404 } + /** + * {@code 405 Method Not Allowed}. + * @see HTTP/1.1: Semantics and Content, section 6.5.5 + */ + int METHOD_NOT_ALLOWED() { return 405 } + /** + * {@code 406 Not Acceptable}. + * @see HTTP/1.1: Semantics and Content, section 6.5.6 + */ + int NOT_ACCEPTABLE() { return 406 } + /** + * {@code 407 Proxy Authentication Required}. + * @see HTTP/1.1: Authentication, section 3.2 + */ + int PROXY_AUTHENTICATION_REQUIRED() { return 407 } + /** + * {@code 408 Request Timeout}. + * @see HTTP/1.1: Semantics and Content, section 6.5.7 + */ + int REQUEST_TIMEOUT() { return 408 } + /** + * {@code 409 Conflict}. + * @see HTTP/1.1: Semantics and Content, section 6.5.8 + */ + int CONFLICT() { return 409 } + /** + * {@code 410 Gone}. + * @see HTTP/1.1: Semantics and Content, section 6.5.9 + */ + int GONE() { return 410 } + /** + * {@code 411 Length Required}. + * @see HTTP/1.1: Semantics and Content, section 6.5.10 + */ + int LENGTH_REQUIRED() { return 411 } + /** + * {@code 412 Precondition failed}. + * @see HTTP/1.1: Conditional Requests, section 4.2 + */ + int PRECONDITION_FAILED() { return 412 } + /** + * {@code 413 Payload Too Large}. + * @since 4.1 + * @see HTTP/1.1: Semantics and Content, section 6.5.11 + */ + int PAYLOAD_TOO_LARGE() { return 413 } + /** + * {@code 413 Request Entity Too Large}. + * @see HTTP/1.1, section 10.4.14 + * @deprecated in favor of {@link #PAYLOAD_TOO_LARGE} which will be returned from {@code HttpStatus.valueOf(413)} + */ + @Deprecated + int REQUEST_ENTITY_TOO_LARGE() { return 413 } + /** + * {@code 414 URI Too Long}. + * @since 4.1 + * @see HTTP/1.1: Semantics and Content, section 6.5.12 + */ + int URI_TOO_LONG() { return 414 } + /** + * {@code 414 Request-URI Too Long}. + * @see HTTP/1.1, section 10.4.15 + * @deprecated in favor of {@link #URI_TOO_LONG} which will be returned from {@code HttpStatus.valueOf(414)} + */ + @Deprecated + int REQUEST_URI_TOO_LONG() { return 414 } + /** + * {@code 415 Unsupported Media Type}. + * @see HTTP/1.1: Semantics and Content, section 6.5.13 + */ + int UNSUPPORTED_MEDIA_TYPE() { return 415 } + /** + * {@code 416 Requested Range Not Satisfiable}. + * @see HTTP/1.1: Range Requests, section 4.4 + */ + int REQUESTED_RANGE_NOT_SATISFIABLE() { return 416 } + /** + * {@code 417 Expectation Failed}. + * @see HTTP/1.1: Semantics and Content, section 6.5.14 + */ + int EXPECTATION_FAILED() { return 417 } + /** + * {@code 418 I'm a teapot}. + * @see HTCPCP/1.0 + */ + int I_AM_A_TEAPOT() { return 418 } + /** + * @deprecated See WebDAV Draft Changes + */ + @Deprecated + int INSUFFICIENT_SPACE_ON_RESOURCE() { return 419 } + /** + * @deprecated See WebDAV Draft Changes + */ + @Deprecated + int METHOD_FAILURE() { return 420 } + /** + * @deprecated See WebDAV Draft Changes + */ + @Deprecated + int DESTINATION_LOCKED() { return 421 } + /** + * {@code 422 Unprocessable Entity}. + * @see WebDAV + */ + int UNPROCESSABLE_ENTITY() { return 422 } + /** + * {@code 423 Locked}. + * @see WebDAV + */ + int LOCKED() { return 423 } + /** + * {@code 424 Failed Dependency}. + * @see WebDAV + */ + int FAILED_DEPENDENCY() { return 424 } + /** + * {@code 426 Upgrade Required}. + * @see Upgrading to TLS Within HTTP/1.1 + */ + int UPGRADE_REQUIRED() { return 426 } + /** + * {@code 428 Precondition Required}. + * @see Additional HTTP Status Codes + */ + int PRECONDITION_REQUIRED() { return 428 } + /** + * {@code 429 Too Many Requests}. + * @see Additional HTTP Status Codes + */ + int TOO_MANY_REQUESTS() { return 429 } + /** + * {@code 431 Request Header Fields Too Large}. + * @see Additional HTTP Status Codes + */ + int REQUEST_HEADER_FIELDS_TOO_LARGE() { return 431 } + /** + * {@code 451 Unavailable For Legal Reasons}. + * @see + * An HTTP Status Code to Report Legal Obstacles + * @since 4.3 + */ + int UNAVAILABLE_FOR_LEGAL_REASONS() { return 451 } + + // --- 5xx Server Error --- + + /** + * {@code 500 Internal Server Error}. + * @see HTTP/1.1: Semantics and Content, section 6.6.1 + */ + int INTERNAL_SERVER_ERROR() { return 500 } + /** + * {@code 501 Not Implemented}. + * @see HTTP/1.1: Semantics and Content, section 6.6.2 + */ + int NOT_IMPLEMENTED() { return 501 } + /** + * {@code 502 Bad Gateway}. + * @see HTTP/1.1: Semantics and Content, section 6.6.3 + */ + int BAD_GATEWAY() { return 502 } + /** + * {@code 503 Service Unavailable}. + * @see HTTP/1.1: Semantics and Content, section 6.6.4 + */ + int SERVICE_UNAVAILABLE() { return 503 } + /** + * {@code 504 Gateway Timeout}. + * @see HTTP/1.1: Semantics and Content, section 6.6.5 + */ + int GATEWAY_TIMEOUT() { return 504 } + /** + * {@code 505 HTTP Version Not Supported}. + * @see HTTP/1.1: Semantics and Content, section 6.6.6 + */ + int HTTP_VERSION_NOT_SUPPORTED() { return 505 } + /** + * {@code 506 Variant Also Negotiates} + * @see Transparent Content Negotiation + */ + int VARIANT_ALSO_NEGOTIATES() { return 506 } + /** + * {@code 507 Insufficient Storage} + * @see WebDAV + */ + int INSUFFICIENT_STORAGE() { return 507 } + /** + * {@code 508 Loop Detected} + * @see WebDAV Binding Extensions + */ + int LOOP_DETECTED() { return 508 } + /** + * {@code 509 Bandwidth Limit Exceeded} + */ + int BANDWIDTH_LIMIT_EXCEEDED() { return 509 } + /** + * {@code 510 Not Extended} + * @see HTTP Extension Framework + */ + int NOT_EXTENDED() { return 510 } + /** + * {@code 511 Network Authentication Required}. + * @see Additional HTTP Status Codes + */ + int NETWORK_AUTHENTICATION_REQUIRED() { return 511 } +} diff --git a/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/Response.groovy b/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/Response.groovy index 008f92043d..87fa97f6dd 100644 --- a/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/Response.groovy +++ b/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/Response.groovy @@ -35,7 +35,8 @@ import java.util.regex.Pattern class Response extends Common { @Delegate ServerPatternValueDslProperty property = new ServerPatternValueDslProperty() - + @Delegate HttpStatus httpStatus = new HttpStatus() + DslProperty status DslProperty delay Headers headers diff --git a/spring-cloud-contract-spec/src/test/groovy/org/springframework/cloud/contract/spec/internal/ContractSpec.groovy b/spring-cloud-contract-spec/src/test/groovy/org/springframework/cloud/contract/spec/internal/ContractSpec.groovy index cf55575211..17e2abb59f 100644 --- a/spring-cloud-contract-spec/src/test/groovy/org/springframework/cloud/contract/spec/internal/ContractSpec.groovy +++ b/spring-cloud-contract-spec/src/test/groovy/org/springframework/cloud/contract/spec/internal/ContractSpec.groovy @@ -182,7 +182,7 @@ then: url "/${index}" } response { - status 200 + status OK() } } def b = Contract.make { @@ -194,7 +194,7 @@ then: url "/${index}" } response { - status 200 + status OK() } } a == b @@ -212,7 +212,7 @@ then: url "/${index}" } response { - status 200 + status OK() } } int index2 = 2 @@ -225,7 +225,7 @@ then: url "/${index2}" } response { - status 200 + status OK() } } a != b @@ -249,7 +249,7 @@ then: } } response { - status 200 + status OK() body( id: [value: '132'], surname: 'Kowalsky', @@ -277,7 +277,7 @@ then: } } response { - status 200 + status OK() body( id: [value: '132'], surname: 'Kowalsky', diff --git a/spring-cloud-contract-spec/src/test/groovy/org/springframework/cloud/contract/spec/internal/HttpStatusTests.java b/spring-cloud-contract-spec/src/test/groovy/org/springframework/cloud/contract/spec/internal/HttpStatusTests.java new file mode 100644 index 0000000000..8fad18951d --- /dev/null +++ b/spring-cloud-contract-spec/src/test/groovy/org/springframework/cloud/contract/spec/internal/HttpStatusTests.java @@ -0,0 +1,278 @@ +package org.springframework.cloud.contract.spec.internal; + +import org.assertj.core.api.BDDAssertions; +import org.junit.Test; + +/** + * @author Marcin Grzejszczak + */ +public class HttpStatusTests { + + @Test public void CONTINUE() { + BDDAssertions.then(new HttpStatus().CONTINUE()).isEqualTo(100); + } + + @Test public void SWITCHING_PROTOCOLS() { + BDDAssertions.then(new HttpStatus().SWITCHING_PROTOCOLS()).isEqualTo(101); + } + + @Test public void PROCESSING() { + BDDAssertions.then(new HttpStatus().PROCESSING()).isEqualTo(102); + } + + @Test public void CHECKPOINT() { + BDDAssertions.then(new HttpStatus().CHECKPOINT()).isEqualTo(103); + } + + @Test public void OK() { + BDDAssertions.then(new HttpStatus().OK()).isEqualTo(200); + } + + @Test public void CREATED() { + BDDAssertions.then(new HttpStatus().CREATED()).isEqualTo(201); + } + + @Test public void ACCEPTED() { + BDDAssertions.then(new HttpStatus().ACCEPTED()).isEqualTo(202); + } + + @Test public void NON_AUTHORITATIVE_INFORMATION() { + BDDAssertions.then(new HttpStatus().NON_AUTHORITATIVE_INFORMATION()).isEqualTo(203); + } + + @Test public void NO_CONTENT() { + BDDAssertions.then(new HttpStatus().NO_CONTENT()).isEqualTo(204); + } + + @Test public void RESET_CONTENT() { + BDDAssertions.then(new HttpStatus().RESET_CONTENT()).isEqualTo(205); + } + + @Test public void PARTIAL_CONTENT() { + BDDAssertions.then(new HttpStatus().PARTIAL_CONTENT()).isEqualTo(206); + } + + @Test public void MULTI_STATUS() { + BDDAssertions.then(new HttpStatus().MULTI_STATUS()).isEqualTo(207); + } + + @Test public void ALREADY_REPORTED() { + BDDAssertions.then(new HttpStatus().ALREADY_REPORTED()).isEqualTo(208); + } + + @Test public void IM_USED() { + BDDAssertions.then(new HttpStatus().IM_USED()).isEqualTo(226); + } + + @Test public void MULTIPLE_CHOICES() { + BDDAssertions.then(new HttpStatus().MULTIPLE_CHOICES()).isEqualTo(300); + } + + @Test public void MOVED_PERMANENTLY() { + BDDAssertions.then(new HttpStatus().MOVED_PERMANENTLY()).isEqualTo(301); + } + + @Test public void FOUND() { + BDDAssertions.then(new HttpStatus().FOUND()).isEqualTo(302); + } + + @Test public void MOVED_TEMPORARILY() { + BDDAssertions.then(new HttpStatus().MOVED_TEMPORARILY()).isEqualTo(302); + } + + @Test public void SEE_OTHER() { + BDDAssertions.then(new HttpStatus().SEE_OTHER()).isEqualTo(303); + } + + @Test public void NOT_MODIFIED() { + BDDAssertions.then(new HttpStatus().NOT_MODIFIED()).isEqualTo(304); + } + + @Test public void USE_PROXY() { + BDDAssertions.then(new HttpStatus().USE_PROXY()).isEqualTo(305); + } + + @Test public void TEMPORARY_REDIRECT() { + BDDAssertions.then(new HttpStatus().TEMPORARY_REDIRECT()).isEqualTo(307); + } + + @Test public void PERMANENT_REDIRECT() { + BDDAssertions.then(new HttpStatus().PERMANENT_REDIRECT()).isEqualTo(308); + } + + @Test public void BAD_REQUEST() { + BDDAssertions.then(new HttpStatus().BAD_REQUEST()).isEqualTo(400); + } + + @Test public void UNAUTHORIZED() { + BDDAssertions.then(new HttpStatus().UNAUTHORIZED()).isEqualTo(401); + } + + @Test public void PAYMENT_REQUIRED() { + BDDAssertions.then(new HttpStatus().PAYMENT_REQUIRED()).isEqualTo(402); + } + + @Test public void FORBIDDEN() { + BDDAssertions.then(new HttpStatus().FORBIDDEN()).isEqualTo(403); + } + + @Test public void NOT_FOUND() { + BDDAssertions.then(new HttpStatus().NOT_FOUND()).isEqualTo(404); + } + + @Test public void METHOD_NOT_ALLOWED() { + BDDAssertions.then(new HttpStatus().METHOD_NOT_ALLOWED()).isEqualTo(405); + } + + @Test public void NOT_ACCEPTABLE() { + BDDAssertions.then(new HttpStatus().NOT_ACCEPTABLE()).isEqualTo(406); + } + + @Test public void PROXY_AUTHENTICATION_REQUIRED() { + BDDAssertions.then(new HttpStatus().PROXY_AUTHENTICATION_REQUIRED()).isEqualTo(407); + } + + @Test public void REQUEST_TIMEOUT() { + BDDAssertions.then(new HttpStatus().REQUEST_TIMEOUT()).isEqualTo(408); + } + + @Test public void CONFLICT() { + BDDAssertions.then(new HttpStatus().CONFLICT()).isEqualTo(409); + } + + @Test public void GONE() { + BDDAssertions.then(new HttpStatus().GONE()).isEqualTo(410); + } + + @Test public void LENGTH_REQUIRED() { + BDDAssertions.then(new HttpStatus().LENGTH_REQUIRED()).isEqualTo(411); + } + + @Test public void PRECONDITION_FAILED() { + BDDAssertions.then(new HttpStatus().PRECONDITION_FAILED()).isEqualTo(412); + } + + @Test public void PAYLOAD_TOO_LARGE() { + BDDAssertions.then(new HttpStatus().PAYLOAD_TOO_LARGE()).isEqualTo(413); + } + + @Test public void REQUEST_ENTITY_TOO_LARGE() { + BDDAssertions.then(new HttpStatus().REQUEST_ENTITY_TOO_LARGE()).isEqualTo(413); + } + + @Test public void URI_TOO_LONG() { + BDDAssertions.then(new HttpStatus().URI_TOO_LONG()).isEqualTo(414); + } + + @Test public void REQUEST_URI_TOO_LONG() { + BDDAssertions.then(new HttpStatus().REQUEST_URI_TOO_LONG()).isEqualTo(414); + } + + @Test public void UNSUPPORTED_MEDIA_TYPE() { + BDDAssertions.then(new HttpStatus().UNSUPPORTED_MEDIA_TYPE()).isEqualTo(415); + } + + @Test public void REQUESTED_RANGE_NOT_SATISFIABLE() { + BDDAssertions.then(new HttpStatus().REQUESTED_RANGE_NOT_SATISFIABLE()).isEqualTo(416); + } + + @Test public void EXPECTATION_FAILED() { + BDDAssertions.then(new HttpStatus().EXPECTATION_FAILED()).isEqualTo(417); + } + + @Test public void I_AM_A_TEAPOT() { + BDDAssertions.then(new HttpStatus().I_AM_A_TEAPOT()).isEqualTo(418); + } + + @Test public void INSUFFICIENT_SPACE_ON_RESOURCE() { + BDDAssertions.then(new HttpStatus().INSUFFICIENT_SPACE_ON_RESOURCE()).isEqualTo(419); + } + + @Test public void METHOD_FAILURE() { + BDDAssertions.then(new HttpStatus().METHOD_FAILURE()).isEqualTo(420); + } + + @Test public void DESTINATION_LOCKED() { + BDDAssertions.then(new HttpStatus().DESTINATION_LOCKED()).isEqualTo(421); + } + + @Test public void UNPROCESSABLE_ENTITY() { + BDDAssertions.then(new HttpStatus().UNPROCESSABLE_ENTITY()).isEqualTo(422); + } + + @Test public void LOCKED() { + BDDAssertions.then(new HttpStatus().LOCKED()).isEqualTo(423); + } + + @Test public void FAILED_DEPENDENCY() { + BDDAssertions.then(new HttpStatus().FAILED_DEPENDENCY()).isEqualTo(424); + } + + @Test public void UPGRADE_REQUIRED() { + BDDAssertions.then(new HttpStatus().UPGRADE_REQUIRED()).isEqualTo(426); + } + + @Test public void PRECONDITION_REQUIRED() { + BDDAssertions.then(new HttpStatus().PRECONDITION_REQUIRED()).isEqualTo(428); + } + + @Test public void TOO_MANY_REQUESTS() { + BDDAssertions.then(new HttpStatus().TOO_MANY_REQUESTS()).isEqualTo(429); + } + + @Test public void REQUEST_HEADER_FIELDS_TOO_LARGE() { + BDDAssertions.then(new HttpStatus().REQUEST_HEADER_FIELDS_TOO_LARGE()).isEqualTo(431); + } + + @Test public void UNAVAILABLE_FOR_LEGAL_REASONS() { + BDDAssertions.then(new HttpStatus().UNAVAILABLE_FOR_LEGAL_REASONS()).isEqualTo(451); + } + + @Test public void INTERNAL_SERVER_ERROR() { + BDDAssertions.then(new HttpStatus().INTERNAL_SERVER_ERROR()).isEqualTo(500); + } + + @Test public void NOT_IMPLEMENTED() { + BDDAssertions.then(new HttpStatus().NOT_IMPLEMENTED()).isEqualTo(501); + } + + @Test public void BAD_GATEWAY() { + BDDAssertions.then(new HttpStatus().BAD_GATEWAY()).isEqualTo(502); + } + + @Test public void SERVICE_UNAVAILABLE() { + BDDAssertions.then(new HttpStatus().SERVICE_UNAVAILABLE()).isEqualTo(503); + } + + @Test public void GATEWAY_TIMEOUT() { + BDDAssertions.then(new HttpStatus().GATEWAY_TIMEOUT()).isEqualTo(504); + } + + @Test public void HTTP_VERSION_NOT_SUPPORTED() { + BDDAssertions.then(new HttpStatus().HTTP_VERSION_NOT_SUPPORTED()).isEqualTo(505); + } + + @Test public void VARIANT_ALSO_NEGOTIATES() { + BDDAssertions.then(new HttpStatus().VARIANT_ALSO_NEGOTIATES()).isEqualTo(506); + } + + @Test public void INSUFFICIENT_STORAGE() { + BDDAssertions.then(new HttpStatus().INSUFFICIENT_STORAGE()).isEqualTo(507); + } + + @Test public void LOOP_DETECTED() { + BDDAssertions.then(new HttpStatus().LOOP_DETECTED()).isEqualTo(508); + } + + @Test public void BANDWIDTH_LIMIT_EXCEEDED() { + BDDAssertions.then(new HttpStatus().BANDWIDTH_LIMIT_EXCEEDED()).isEqualTo(509); + } + + @Test public void NOT_EXTENDED() { + BDDAssertions.then(new HttpStatus().NOT_EXTENDED()).isEqualTo(510); + } + + @Test public void NETWORK_AUTHENTICATION_REQUIRED() { + BDDAssertions.then(new HttpStatus().NETWORK_AUTHENTICATION_REQUIRED()).isEqualTo(511); + } +} \ No newline at end of file diff --git a/spring-cloud-contract-stub-runner/README.adoc b/spring-cloud-contract-stub-runner/README.adoc index 26dfbd3c6e..9daf246ca0 100644 --- a/spring-cloud-contract-stub-runner/README.adoc +++ b/spring-cloud-contract-stub-runner/README.adoc @@ -585,7 +585,7 @@ request { method GET() } response { - status 200 + status OK() body( foo: "foo" } @@ -601,7 +601,7 @@ request { method GET() } response { - status 200 + status OK() body( bar: "bar" } diff --git a/spring-cloud-contract-stub-runner/src/test/resources/repository/contracts/contract1.groovy b/spring-cloud-contract-stub-runner/src/test/resources/repository/contracts/contract1.groovy index 80e123ae4d..03a06b8b81 100644 --- a/spring-cloud-contract-stub-runner/src/test/resources/repository/contracts/contract1.groovy +++ b/spring-cloud-contract-stub-runner/src/test/resources/repository/contracts/contract1.groovy @@ -14,7 +14,7 @@ org.springframework.cloud.contract.spec.Contract.make { } response { - status 200 + status OK() body( """{ "fraudCheckStatus": "${value(c('FRAUD'), p(regex('[A-Z]{5}')))}", "rejectionReason": "Amount too high" diff --git a/spring-cloud-contract-stub-runner/src/test/resources/repository/httpcontract/contract1.groovy b/spring-cloud-contract-stub-runner/src/test/resources/repository/httpcontract/contract1.groovy index 80e123ae4d..03a06b8b81 100644 --- a/spring-cloud-contract-stub-runner/src/test/resources/repository/httpcontract/contract1.groovy +++ b/spring-cloud-contract-stub-runner/src/test/resources/repository/httpcontract/contract1.groovy @@ -14,7 +14,7 @@ org.springframework.cloud.contract.spec.Contract.make { } response { - status 200 + status OK() body( """{ "fraudCheckStatus": "${value(c('FRAUD'), p(regex('[A-Z]{5}')))}", "rejectionReason": "Amount too high" diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/groovy/org/springframework/cloud/contract/verifier/converter/RecursiveFilesConverterSpec.groovy b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/groovy/org/springframework/cloud/contract/verifier/converter/RecursiveFilesConverterSpec.groovy index baca9e39ff..d35b35d777 100755 --- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/groovy/org/springframework/cloud/contract/verifier/converter/RecursiveFilesConverterSpec.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/groovy/org/springframework/cloud/contract/verifier/converter/RecursiveFilesConverterSpec.groovy @@ -110,7 +110,7 @@ class RecursiveFilesConverterSpec extends Specification { method "GET" } response { - status 200 + status OK() } } """ @@ -140,7 +140,7 @@ class RecursiveFilesConverterSpec extends Specification { method "GET" } response { - status 200 + status OK() } } """ 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 7a8dbccb4a..9ad50a36a7 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 @@ -59,7 +59,7 @@ class DslToWireMockClientConverterSpec extends Specification { url \$(consumer(~/\\/[0-9]{2}/), producer('/12')) } response { - status 200 + status OK() } } """) @@ -94,7 +94,7 @@ class DslToWireMockClientConverterSpec extends Specification { url "/${index}" } response { - status 200 + status OK() } } } @@ -160,7 +160,7 @@ class DslToWireMockClientConverterSpec extends Specification { url '/foo' } response { - status 200 + status OK() fixedDelayMilliseconds 1000 } } @@ -230,7 +230,7 @@ class DslToWireMockClientConverterSpec extends Specification { ''' } response { - status 200 + status OK() } } """) @@ -338,7 +338,7 @@ class DslToWireMockClientConverterSpec extends Specification { urlPath '/foos' } response { - status 200 + status OK() body([[id: value( consumer('123'), producer(regex('[0-9]+')) @@ -383,7 +383,7 @@ class DslToWireMockClientConverterSpec extends Specification { urlPath '/foos' } response { - status 200 + status OK() body( digit: \$(producer(regex('[0-9]{1}'))), id: \$(producer(regex(number()))) @@ -537,7 +537,7 @@ class DslToWireMockClientConverterSpec extends Specification { } } response { - status 200 + status OK() body([ duck: 123, alpha: "abc", diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/groovy/org/springframework/cloud/contract/verifier/wiremock/WireMockToDslConverterSpec.groovy b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/groovy/org/springframework/cloud/contract/verifier/wiremock/WireMockToDslConverterSpec.groovy index 095091af0e..711a1a8e23 100755 --- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/groovy/org/springframework/cloud/contract/verifier/wiremock/WireMockToDslConverterSpec.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/groovy/org/springframework/cloud/contract/verifier/wiremock/WireMockToDslConverterSpec.groovy @@ -70,7 +70,7 @@ class WireMockToDslConverterSpec extends Specification { } } response { - status 200 + status OK() body("""{ "id": { "value": "132" @@ -131,7 +131,7 @@ class WireMockToDslConverterSpec extends Specification { } } response { - status 200 + status OK() body( """{ "status": "OK" }""") @@ -185,7 +185,7 @@ class WireMockToDslConverterSpec extends Specification { } } response { - status 200 + status OK() body(200) headers { header 'Content-Type': 'application/json' @@ -236,7 +236,7 @@ class WireMockToDslConverterSpec extends Specification { } } response { - status 200 + status OK() body( """[ { "a": 1, @@ -290,7 +290,7 @@ class WireMockToDslConverterSpec extends Specification { } } response { - status 200 + status OK() body("""[ { "amount": 1.01, @@ -350,7 +350,7 @@ class WireMockToDslConverterSpec extends Specification { body ('''{"property1":"abc", "property2":"2017-01", "property3":"666", "property4":1428566412}''') } response { - status 200 + status OK() } } when: @@ -390,7 +390,7 @@ class WireMockToDslConverterSpec extends Specification { body $(consumer(~/1/), producer('1')) } response { - status 200 + status OK() } } when: @@ -431,7 +431,7 @@ class WireMockToDslConverterSpec extends Specification { body '''{"pan":"4855141150107894", "expirationDate":"2017-01", "dcvx":"178"}''' } response { - status 200 + status OK() } } when: @@ -471,7 +471,7 @@ class WireMockToDslConverterSpec extends Specification { body '''{"pan":"4855141150107894", "expirationDate":"2017-01", "dcvx":"178"}''' } response { - status 200 + status OK() } } when: @@ -511,7 +511,7 @@ class WireMockToDslConverterSpec extends Specification { body $(consumer(~/1/), producer('1')) } response { - status 200 + status OK() } } when: @@ -549,7 +549,7 @@ class WireMockToDslConverterSpec extends Specification { url '/test' } response { - status 200 + status OK() } } when: diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/scenario/main_scenario/01_login.groovy b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/scenario/main_scenario/01_login.groovy index 514008973a..648269154b 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/scenario/main_scenario/01_login.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/scenario/main_scenario/01_login.groovy @@ -22,6 +22,6 @@ Contract.make { url '/login' } response { - status 200 + status OK() } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/scenario/main_scenario/02_showCart.groovy b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/scenario/main_scenario/02_showCart.groovy index 973a99d6fd..739ecec83a 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/scenario/main_scenario/02_showCart.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/scenario/main_scenario/02_showCart.groovy @@ -22,6 +22,6 @@ Contract.make { url '/cart' } response { - status 200 + status OK() } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/scenario/main_scenario/03_logout.groovy b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/scenario/main_scenario/03_logout.groovy index 9e37e20ba7..3a97f3723a 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/scenario/main_scenario/03_logout.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/scenario/main_scenario/03_logout.groovy @@ -22,6 +22,6 @@ Contract.make { url '/logout' } response { - status 200 + status OK() } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir1/dsl1.groovy b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir1/dsl1.groovy index 56f4944d7b..642a434946 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir1/dsl1.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir1/dsl1.groovy @@ -25,6 +25,6 @@ Contract.make { url $(consumer('/[0-9]{2}'), producer('/12')) } response { - status 200 + status OK() } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir1/dsl1_list.groovy b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir1/dsl1_list.groovy index 292c101620..2c412a2ca8 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir1/dsl1_list.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir1/dsl1_list.groovy @@ -26,7 +26,7 @@ import org.springframework.cloud.contract.spec.Contract url "/${index}" } response { - status 200 + status OK() } } } \ No newline at end of file diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir1/dsl1_list2.groovy b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir1/dsl1_list2.groovy index 8a397c5cfb..def698a873 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir1/dsl1_list2.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir1/dsl1_list2.groovy @@ -27,7 +27,7 @@ import org.springframework.cloud.contract.spec.Contract url "/${index}" } response { - status 200 + status OK() } } } \ No newline at end of file diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir1/dsl1b.groovy b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir1/dsl1b.groovy index 56f4944d7b..642a434946 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir1/dsl1b.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir1/dsl1b.groovy @@ -25,6 +25,6 @@ Contract.make { url $(consumer('/[0-9]{2}'), producer('/12')) } response { - status 200 + status OK() } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir2/dsl2.groovy b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir2/dsl2.groovy index 56f4944d7b..642a434946 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir2/dsl2.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dir2/dsl2.groovy @@ -25,6 +25,6 @@ Contract.make { url $(consumer('/[0-9]{2}'), producer('/12')) } response { - status 200 + status OK() } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dslRoot.groovy b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dslRoot.groovy index 56f4944d7b..642a434946 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dslRoot.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/src/test/resources/converter/source/dslRoot.groovy @@ -25,6 +25,6 @@ Contract.make { url $(consumer('/[0-9]{2}'), producer('/12')) } response { - status 200 + status OK() } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/bootSimple/repository/mappings/spring/cloud/twitter-places-analyzer/pairId/collerate_PlacesFrom_Tweet.groovy b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/bootSimple/repository/mappings/spring/cloud/twitter-places-analyzer/pairId/collerate_PlacesFrom_Tweet.groovy index 2288cfd263..36e723be74 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/bootSimple/repository/mappings/spring/cloud/twitter-places-analyzer/pairId/collerate_PlacesFrom_Tweet.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/bootSimple/repository/mappings/spring/cloud/twitter-places-analyzer/pairId/collerate_PlacesFrom_Tweet.groovy @@ -31,6 +31,6 @@ Contract.make { ''' } response { - status 200 + status OK() } } \ No newline at end of file diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/bootSimple/repository/mappings/spring/cloud/twitter-places-analyzer/pairId/moreComplexVersion.groovy b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/bootSimple/repository/mappings/spring/cloud/twitter-places-analyzer/pairId/moreComplexVersion.groovy index 24ed641ddd..ca1e2212d6 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/bootSimple/repository/mappings/spring/cloud/twitter-places-analyzer/pairId/moreComplexVersion.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/bootSimple/repository/mappings/spring/cloud/twitter-places-analyzer/pairId/moreComplexVersion.groovy @@ -38,6 +38,6 @@ Contract.make { path: $(consumer('/api/12'), producer(regex('^/api/[0-9]{2}$'))), correlationId: $(consumer('1223456'), producer(execute('isProperCorrelationId($it)'))) ) - status 200 + status OK() } } \ No newline at end of file diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/sampleProject/fraudDetectionService/mappings/fraudDetectionService/shouldMarkClientAsFraud.groovy b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/sampleProject/fraudDetectionService/mappings/fraudDetectionService/shouldMarkClientAsFraud.groovy index abe0e9ebf6..58c63c61c0 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/sampleProject/fraudDetectionService/mappings/fraudDetectionService/shouldMarkClientAsFraud.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/sampleProject/fraudDetectionService/mappings/fraudDetectionService/shouldMarkClientAsFraud.groovy @@ -31,7 +31,7 @@ Contract.make { } response { - status 200 + status OK() body( """{ "fraudCheckStatus": "${value(consumer('FRAUD'), producer(regex('[A-Z]{5}')))}", "rejectionReason": "Amount too high" diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/sampleProject/fraudDetectionService/mappings/fraudDetectionService/shouldMarkClientAsNotFraud.groovy b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/sampleProject/fraudDetectionService/mappings/fraudDetectionService/shouldMarkClientAsNotFraud.groovy index 9e86f291c0..25e10a14c5 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/sampleProject/fraudDetectionService/mappings/fraudDetectionService/shouldMarkClientAsNotFraud.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/sampleProject/fraudDetectionService/mappings/fraudDetectionService/shouldMarkClientAsNotFraud.groovy @@ -32,7 +32,7 @@ Contract.make { } response { - status 200 + status OK() body( fraudCheckStatus: "OK", rejectionReason: $(consumer(null), producer(execute('assertThatRejectionReasonIsNull($it)'))) diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/fraudDetectionService/mappings/fraudDetectionService/1_shouldMarkClientAsNotFraud.groovy b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/fraudDetectionService/mappings/fraudDetectionService/1_shouldMarkClientAsNotFraud.groovy index 9e86f291c0..25e10a14c5 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/fraudDetectionService/mappings/fraudDetectionService/1_shouldMarkClientAsNotFraud.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/fraudDetectionService/mappings/fraudDetectionService/1_shouldMarkClientAsNotFraud.groovy @@ -32,7 +32,7 @@ Contract.make { } response { - status 200 + status OK() body( fraudCheckStatus: "OK", rejectionReason: $(consumer(null), producer(execute('assertThatRejectionReasonIsNull($it)'))) diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/fraudDetectionService/mappings/fraudDetectionService/2_shouldMarkClientAsFraud.groovy b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/fraudDetectionService/mappings/fraudDetectionService/2_shouldMarkClientAsFraud.groovy index 0b3d49edc0..fbebf7fe89 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/fraudDetectionService/mappings/fraudDetectionService/2_shouldMarkClientAsFraud.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/fraudDetectionService/mappings/fraudDetectionService/2_shouldMarkClientAsFraud.groovy @@ -32,7 +32,7 @@ Contract.make { } response { - status 200 + status OK() body( """{ "fraudCheckStatus": "${value(consumer('FRAUD'), producer(regex('[A-Z]{5}')))}", "rejectionReason": "Amount too high" diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic-baseclass-from-mappings/src/test/resources/contracts/com/hello/v1/Sample.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic-baseclass-from-mappings/src/test/resources/contracts/com/hello/v1/Sample.groovy index db7314bcb3..fb38551094 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic-baseclass-from-mappings/src/test/resources/contracts/com/hello/v1/Sample.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic-baseclass-from-mappings/src/test/resources/contracts/com/hello/v1/Sample.groovy @@ -26,7 +26,7 @@ org.springframework.cloud.contract.spec.Contract.make { body '''{ "login" : "john", "name": "John The Contract" }''' } response { - status 200 + status OK() headers { header 'Location': '/users/john' } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic-baseclass-from-mappings/src/test/resources/contracts/com/hello/v1/WithList.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic-baseclass-from-mappings/src/test/resources/contracts/com/hello/v1/WithList.groovy index fe5ca5748a..131a1d6e72 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic-baseclass-from-mappings/src/test/resources/contracts/com/hello/v1/WithList.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic-baseclass-from-mappings/src/test/resources/contracts/com/hello/v1/WithList.groovy @@ -25,7 +25,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { - status 200 + status OK() headers { header 'Location': '/users/john' } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic-generated-baseclass/src/test/resources/contracts/hello/v1/Sample.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic-generated-baseclass/src/test/resources/contracts/hello/v1/Sample.groovy index db7314bcb3..fb38551094 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic-generated-baseclass/src/test/resources/contracts/hello/v1/Sample.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic-generated-baseclass/src/test/resources/contracts/hello/v1/Sample.groovy @@ -26,7 +26,7 @@ org.springframework.cloud.contract.spec.Contract.make { body '''{ "login" : "john", "name": "John The Contract" }''' } response { - status 200 + status OK() headers { header 'Location': '/users/john' } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic-generated-baseclass/src/test/resources/contracts/hello/v1/WithList.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic-generated-baseclass/src/test/resources/contracts/hello/v1/WithList.groovy index fe5ca5748a..131a1d6e72 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic-generated-baseclass/src/test/resources/contracts/hello/v1/WithList.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic-generated-baseclass/src/test/resources/contracts/hello/v1/WithList.groovy @@ -25,7 +25,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { - status 200 + status OK() headers { header 'Location': '/users/john' } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic/src/test/resources/contracts/Sample.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic/src/test/resources/contracts/Sample.groovy index db7314bcb3..fb38551094 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic/src/test/resources/contracts/Sample.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic/src/test/resources/contracts/Sample.groovy @@ -26,7 +26,7 @@ org.springframework.cloud.contract.spec.Contract.make { body '''{ "login" : "john", "name": "John The Contract" }''' } response { - status 200 + status OK() headers { header 'Location': '/users/john' } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic/src/test/resources/contracts/WithList.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic/src/test/resources/contracts/WithList.groovy index 4232f274d5..d88cbec614 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic/src/test/resources/contracts/WithList.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/basic/src/test/resources/contracts/WithList.groovy @@ -26,7 +26,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { - status 200 + status OK() headers { header 'Location': '/users/john' } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/common-repo/consumer1/Sample.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/common-repo/consumer1/Sample.groovy index db7314bcb3..fb38551094 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/common-repo/consumer1/Sample.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/common-repo/consumer1/Sample.groovy @@ -26,7 +26,7 @@ org.springframework.cloud.contract.spec.Contract.make { body '''{ "login" : "john", "name": "John The Contract" }''' } response { - status 200 + status OK() headers { header 'Location': '/users/john' } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/common-repo/consumer1/WithList.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/common-repo/consumer1/WithList.groovy index fe5ca5748a..131a1d6e72 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/common-repo/consumer1/WithList.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/common-repo/consumer1/WithList.groovy @@ -25,7 +25,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { - status 200 + status OK() headers { header 'Location': '/users/john' } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration/src/test/contracts/shouldMarkClientAsFraud.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration/src/test/contracts/shouldMarkClientAsFraud.groovy index d457bd5f83..9bf73d9a20 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration/src/test/contracts/shouldMarkClientAsFraud.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration/src/test/contracts/shouldMarkClientAsFraud.groovy @@ -30,7 +30,7 @@ org.springframework.cloud.contract.spec.Contract.make { } response { - status 200 + status OK() body( """{ "fraudCheckStatus": "${value(consumer('FRAUD'), producer(regex('[A-Z]{5}')))}", "rejectionReason": "Amount too high" diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration/src/test/contracts/shouldMarkClientAsNotFraud.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration/src/test/contracts/shouldMarkClientAsNotFraud.groovy index 91949b51f9..2ae9ff6e05 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration/src/test/contracts/shouldMarkClientAsNotFraud.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration/src/test/contracts/shouldMarkClientAsNotFraud.groovy @@ -31,7 +31,7 @@ org.springframework.cloud.contract.spec.Contract.make { } response { - status 200 + status OK() body( fraudCheckStatus: "OK", rejectionReason: $(consumer(null), producer(execute('assertThatRejectionReasonIsNull($it)'))) diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/different-module-configuration/module/src/test/contracts/shouldMarkClientAsFraud.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/different-module-configuration/module/src/test/contracts/shouldMarkClientAsFraud.groovy index d457bd5f83..9bf73d9a20 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/different-module-configuration/module/src/test/contracts/shouldMarkClientAsFraud.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/different-module-configuration/module/src/test/contracts/shouldMarkClientAsFraud.groovy @@ -30,7 +30,7 @@ org.springframework.cloud.contract.spec.Contract.make { } response { - status 200 + status OK() body( """{ "fraudCheckStatus": "${value(consumer('FRAUD'), producer(regex('[A-Z]{5}')))}", "rejectionReason": "Amount too high" diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/different-module-configuration/module/src/test/contracts/shouldMarkClientAsNotFraud.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/different-module-configuration/module/src/test/contracts/shouldMarkClientAsNotFraud.groovy index 91949b51f9..2ae9ff6e05 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/different-module-configuration/module/src/test/contracts/shouldMarkClientAsNotFraud.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/different-module-configuration/module/src/test/contracts/shouldMarkClientAsNotFraud.groovy @@ -31,7 +31,7 @@ org.springframework.cloud.contract.spec.Contract.make { } response { - status 200 + status OK() body( fraudCheckStatus: "OK", rejectionReason: $(consumer(null), producer(execute('assertThatRejectionReasonIsNull($it)'))) diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/generatedStubs/target/stubs/contracts/Sample.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/generatedStubs/target/stubs/contracts/Sample.groovy index 673ab7bd8d..1da94e88cf 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/generatedStubs/target/stubs/contracts/Sample.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/generatedStubs/target/stubs/contracts/Sample.groovy @@ -10,7 +10,7 @@ io.codearte.accurest.dsl.GroovyDsl.make { body '''{ "login" : "john", "name": "John The Contract" }''' } response { - status 200 + status OK() headers { header 'Location': '/users/john' } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/multiple-contracts/src/test/resources/contracts/com/hello/v1/WithList.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/multiple-contracts/src/test/resources/contracts/com/hello/v1/WithList.groovy index 08ee2dc9ac..97f3d6ef74 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/multiple-contracts/src/test/resources/contracts/com/hello/v1/WithList.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/multiple-contracts/src/test/resources/contracts/com/hello/v1/WithList.groovy @@ -25,7 +25,7 @@ import org.springframework.cloud.contract.spec.Contract url('/users/1') } response { - status 200 + status OK() } }, Contract.make { @@ -34,7 +34,7 @@ import org.springframework.cloud.contract.spec.Contract url('/users/2') } response { - status 200 + status OK() } } ] diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/plugin-extension/src/test/resources/contracts/greetings_ok.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/plugin-extension/src/test/resources/contracts/greetings_ok.groovy index e40e930a95..cb5b1d5e13 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/plugin-extension/src/test/resources/contracts/greetings_ok.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/plugin-extension/src/test/resources/contracts/greetings_ok.groovy @@ -28,7 +28,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { - status 200 + status OK() body( id: 1, content: "Hello, Something!" diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/plugin-extension/src/test/resources/contracts/greetings_with_default_value.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/plugin-extension/src/test/resources/contracts/greetings_with_default_value.groovy index acb7961bc0..74d364f4df 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/plugin-extension/src/test/resources/contracts/greetings_with_default_value.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/plugin-extension/src/test/resources/contracts/greetings_with_default_value.groovy @@ -24,7 +24,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { - status 200 + status OK() body( id: 1, content: "Hello, World!" diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/pomless/Sample.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/pomless/Sample.groovy index db7314bcb3..fb38551094 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/pomless/Sample.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/pomless/Sample.groovy @@ -26,7 +26,7 @@ org.springframework.cloud.contract.spec.Contract.make { body '''{ "login" : "john", "name": "John The Contract" }''' } response { - status 200 + status OK() headers { header 'Location': '/users/john' } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-groovy/src/test/resources/contracts/greetings_ok.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-groovy/src/test/resources/contracts/greetings_ok.groovy index 62ae364b07..8745dc9da0 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-groovy/src/test/resources/contracts/greetings_ok.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-groovy/src/test/resources/contracts/greetings_ok.groovy @@ -28,7 +28,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { - status 200 + status OK() body ( id: 1, content: "Hello, Something!" diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-groovy/src/test/resources/contracts/greetings_with_default_value.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-groovy/src/test/resources/contracts/greetings_with_default_value.groovy index c05efc3ec3..2d3767a830 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-groovy/src/test/resources/contracts/greetings_with_default_value.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-groovy/src/test/resources/contracts/greetings_with_default_value.groovy @@ -24,7 +24,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { - status 200 + status OK() body ( id: 1, content: "Hello, World!" diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-java/src/test/resources/contracts/greetings_ok.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-java/src/test/resources/contracts/greetings_ok.groovy index e40e930a95..cb5b1d5e13 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-java/src/test/resources/contracts/greetings_ok.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-java/src/test/resources/contracts/greetings_ok.groovy @@ -28,7 +28,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { - status 200 + status OK() body( id: 1, content: "Hello, Something!" diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-java/src/test/resources/contracts/greetings_with_default_value.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-java/src/test/resources/contracts/greetings_with_default_value.groovy index acb7961bc0..74d364f4df 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-java/src/test/resources/contracts/greetings_with_default_value.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-java/src/test/resources/contracts/greetings_with_default_value.groovy @@ -24,7 +24,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { - status 200 + status OK() body( id: 1, content: "Hello, World!" diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/withStubs/src/test/resources/stubs/Sample.groovy b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/withStubs/src/test/resources/stubs/Sample.groovy index db7314bcb3..fb38551094 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/withStubs/src/test/resources/stubs/Sample.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/withStubs/src/test/resources/stubs/Sample.groovy @@ -26,7 +26,7 @@ org.springframework.cloud.contract.spec.Contract.make { body '''{ "login" : "john", "name": "John The Contract" }''' } response { - status 200 + status OK() headers { header 'Location': '/users/john' } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/resources/contracts/shouldMarkClientAsFraud.groovy b/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/resources/contracts/shouldMarkClientAsFraud.groovy index bb6d491ce4..dabdf08398 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/resources/contracts/shouldMarkClientAsFraud.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/resources/contracts/shouldMarkClientAsFraud.groovy @@ -13,7 +13,7 @@ org.springframework.cloud.contract.spec.Contract.make { } } response { // (6) - status 200 // (7) + status OK() // (7) body([ // (8) fraudCheckStatus: "FRAUD", rejectionReason: "Amount too high" diff --git a/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/resources/contracts/shouldMarkClientAsNotFraud.groovy b/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/resources/contracts/shouldMarkClientAsNotFraud.groovy index c3dce3f32d..9c70e50970 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/resources/contracts/shouldMarkClientAsNotFraud.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/resources/contracts/shouldMarkClientAsNotFraud.groovy @@ -17,7 +17,7 @@ org.springframework.cloud.contract.spec.Contract.make { } response { - status 200 + status OK() body( fraudCheckStatus: "OK", rejectionReason: $(consumer(null), producer(execute('assertThatRejectionReasonIsNull($it)'))) diff --git a/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/resources/contracts/shouldReturnFraudStats.groovy b/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/resources/contracts/shouldReturnFraudStats.groovy index a6ed5a97d7..38688aeac6 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/resources/contracts/shouldReturnFraudStats.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/resources/contracts/shouldReturnFraudStats.groovy @@ -10,7 +10,7 @@ import org.springframework.cloud.contract.spec.Contract url '/frauds' } response { - status 200 + status OK() body([ count: 200 ]) @@ -25,7 +25,7 @@ import org.springframework.cloud.contract.spec.Contract url '/drunks' } response { - status 200 + status OK() body([ count: 100 ]) diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/ContractHttpDocsSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/ContractHttpDocsSpec.groovy index 81935cdf3f..19c1ef1c27 100644 --- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/ContractHttpDocsSpec.groovy +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/ContractHttpDocsSpec.groovy @@ -197,7 +197,7 @@ class ContractHttpDocsSpec extends Specification { response { // Status code sent by the server // in response to request specified above. - status 200 + status OK() } } // end::response[] @@ -210,7 +210,7 @@ class ContractHttpDocsSpec extends Specification { url $(consumer(~/\/[0-9]{2}/), producer('/12')) } response { - status 200 + status OK() body( id: $(anyNumber()), surname: $( @@ -305,7 +305,7 @@ class ContractHttpDocsSpec extends Specification { path: $(consumer('/api/12'), producer(regex('^/api/[0-9]{2}$'))), correlationId: $(consumer('1223456'), producer(execute('isProperCorrelationId($it)'))) ) - status 200 + status OK() } } // end::method[] diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/JaxRsClientMethodBuilderSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/JaxRsClientMethodBuilderSpec.groovy index 8cbf2f07b9..ad367d8963 100644 --- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/JaxRsClientMethodBuilderSpec.groovy +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/JaxRsClientMethodBuilderSpec.groovy @@ -42,7 +42,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body """{ "property1": "a", "property2": "b" @@ -75,7 +75,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body """{ "property1": "true", "property2": null, @@ -110,7 +110,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body( property1: 'a', property2: [ @@ -149,7 +149,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body( property1: 'a', property2: [ @@ -190,7 +190,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub ) } response { - status 200 + status OK() } } MethodBodyBuilder builder = methodBuilder(contractDsl) @@ -221,7 +221,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub ) } response { - status 200 + status OK() } } MethodBodyBuilder builder = methodBuilder(contractDsl) @@ -248,7 +248,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body """[ { "property1": "a" @@ -283,7 +283,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body """{ "property1": [ { "property2": "test1"}, @@ -317,7 +317,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body '''\ { "property1": "a", @@ -351,7 +351,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body( property1: "a", property2: value( @@ -390,7 +390,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body("""{"property1":"a","property2":"${value(consumer('123'), producer(regex('[0-9]{3}')))}"}""") headers { header('Content-Type': 'application/json') @@ -425,7 +425,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub } } response { - status 200 + status OK() } } MethodBodyBuilder builder = methodBuilder(contractDsl) @@ -457,7 +457,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub body '' } response { - status 200 + status OK() } } MethodBodyBuilder builder = methodBuilder(contractDsl) @@ -500,7 +500,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub } } response { - status 200 + status OK() body """ { "property1": "a", @@ -557,7 +557,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub } } response { - status 200 + status OK() body """ { "property1": "a", @@ -630,7 +630,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body "test" } } @@ -661,7 +661,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub url "/v1/some_cool_requests/e86df6f693de4b35ae648464c5b0dc08" } response { - status 200 + status OK() headers { contentType(applicationJson()) } @@ -708,7 +708,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub } } response { - status 200 + status OK() body """ { "property1": "a" @@ -764,7 +764,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub urlPath '/get' } response { - status 200 + status OK() body([ fraudCheckStatus: "OK", rejectionReason : [ @@ -805,7 +805,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub urlPath '/get' } response { - status 200 + status OK() body([ [ name: $(consumer("userName 1"), producer(execute('assertThatUserNameIsNotNull($it)'))) @@ -838,7 +838,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub urlPath '/get' } response { - status 200 + status OK() body([ [ name: $(consumer("userName 1"), producer(execute('assertThatUserNameIsNotNull($it)'))) @@ -868,8 +868,8 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub url '/get' } response { - status 200 - status 200 + status OK() + status OK() body(value(stub("HELLO FROM STUB"), server(regex(".*")))) } } @@ -893,8 +893,8 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub url '/get' } response { - status 200 - status 200 + status OK() + status OK() body(value(stub("HELLO FROM STUB"), server(regex(".*")))) } } @@ -918,8 +918,8 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub url '/get' } response { - status 200 - status 200 + status OK() + status OK() body(value(stub("HELLO FROM STUB"), server(execute('foo($it)')))) } } @@ -941,8 +941,8 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub url '/get' } response { - status 200 - status 200 + status OK() + status OK() body(value(stub("HELLO FROM STUB"), server(execute('foo($it)')))) } } @@ -966,7 +966,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body( property1: "a", property2: $( @@ -1028,7 +1028,7 @@ class JaxRsClientMethodBuilderSpec extends Specification implements WireMockStub } } response { - status 200 + status OK() body([ alpha: $(anyAlphaUnicode()), number: $(anyNumber()), diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MethodBodyBuilderSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MethodBodyBuilderSpec.groovy index 7c8d31a9de..e8e125533a 100644 --- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MethodBodyBuilderSpec.groovy +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MethodBodyBuilderSpec.groovy @@ -49,7 +49,7 @@ class MethodBodyBuilderSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() body ([ myArray:[ [ @@ -117,7 +117,7 @@ DocumentContext parsedJson = JsonPath.parse(json); urlPath '/foo' } response { - status 200 + status OK() body ( foo: ["my.dotted.response" : $(c('foo'), p(execute('"foo".equals($it)')))] ) @@ -167,7 +167,7 @@ DocumentContext parsedJson = JsonPath.parse(json); } } response { - status 200 + status OK() headers { contentType(applicationJson()) } @@ -220,7 +220,7 @@ DocumentContext parsedJson = JsonPath.parse(json); ) } response { - status 200 + status OK() } } //end::body_execute[] @@ -257,7 +257,7 @@ DocumentContext parsedJson = JsonPath.parse(json); ]) } response { - status 200 + status OK() headers { contentType(applicationPdf()) header('Content-Length': 4) @@ -289,7 +289,7 @@ DocumentContext parsedJson = JsonPath.parse(json); url "test" } response { - status 200 + status OK() body( "createdAt": 1502766000000, "updatedAt": 1499476115000 @@ -327,7 +327,7 @@ DocumentContext parsedJson = JsonPath.parse(json); } } response { - status 200 + status OK() } } MethodBodyBuilder builder = methodBuilder(contractDsl) @@ -358,7 +358,7 @@ DocumentContext parsedJson = JsonPath.parse(json); body("""{ "name": "My name" }""") } response { - status 200 + status OK() body fromRequest().body('$.name') } } @@ -395,7 +395,7 @@ DocumentContext parsedJson = JsonPath.parse(json); body("""{ "name": "My name" }""") } response { - status 200 + status OK() body ( foo: fromRequest().query("foo"), number: fromRequest().query("number") @@ -440,7 +440,7 @@ DocumentContext parsedJson = JsonPath.parse(json); url '/' } response { - status 200 + status OK() body("Ryan") headers { contentType(textHtml()) @@ -472,7 +472,7 @@ DocumentContext parsedJson = JsonPath.parse(json); url "test" } response { - status 200 + status OK() async() fixedDelayMilliseconds(10000) body(a: 'foo') @@ -507,7 +507,7 @@ DocumentContext parsedJson = JsonPath.parse(json); body('a=abc&b=123') } response { - status 200 + status OK() } } MethodBodyBuilder builder = methodBuilder(contractDsl) @@ -537,7 +537,7 @@ DocumentContext parsedJson = JsonPath.parse(json); url '/api/users' } response { - status 200 + status OK() } } MethodBodyBuilder builder = methodBuilder(contractDsl) diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MethodBuilderSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MethodBuilderSpec.groovy index cc46bb7c24..4ce7ccf715 100644 --- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MethodBuilderSpec.groovy +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MethodBuilderSpec.groovy @@ -16,7 +16,7 @@ class MethodBuilderSpec extends Specification { urlPath '/foo' } response { - status 200 + status OK() body(foo: "foo") headers { contentType(applicationJson()) diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MockMvcMethodBodyBuilderSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MockMvcMethodBodyBuilderSpec.groovy index 0f7457d673..bc93875aea 100644 --- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MockMvcMethodBodyBuilderSpec.groovy +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MockMvcMethodBodyBuilderSpec.groovy @@ -115,7 +115,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body """{ "property1": "a", "property2": "b" @@ -148,7 +148,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body """{ "property1": "true", "property2": null, @@ -183,7 +183,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body( property1: 'a', property2: [ @@ -222,7 +222,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body( property1: 'a', property2: [ @@ -263,7 +263,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub ) } response { - status 200 + status OK() } } MethodBodyBuilder builder = methodBuilder(contractDsl) @@ -294,7 +294,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub ) } response { - status 200 + status OK() } } MethodBodyBuilder builder = methodBuilder(contractDsl) @@ -322,7 +322,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body( property: [ 14: 0.0, @@ -356,7 +356,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body """[ { "property1": "a" @@ -391,7 +391,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body """{ "property1": [ { "property2": "test1"}, @@ -425,7 +425,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body '''\ { "property1": "a", @@ -459,7 +459,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body( property1: "a", property2: value( @@ -497,7 +497,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body("""{"property1":"a","property2":"${ value(consumer('123'), producer(regex('[0-9]{3}'))) }"}""") @@ -532,7 +532,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body("""{"property":" ${ value(consumer('123'), producer(regex('\\d+'))) }"}""") @@ -578,7 +578,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub } } response { - status 200 + status OK() body """ { "property1": "a", @@ -636,7 +636,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub } } response { - status 200 + status OK() body """ { "property1": "a", @@ -709,7 +709,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub url "test" } response { - status 200 + status OK() body "test" } } @@ -832,7 +832,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub } response { - status 200 + status OK() body(errors: [ [property: "bank_account_number", message: "incorrect_format"] ]) @@ -995,7 +995,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub } response { - status 200 + status OK() body("""{ "fraudCheckStatus": "OK", "rejectionReason": ${ @@ -1072,7 +1072,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub ) } response { - status 200 + status OK() headers { contentType(applicationJson()) } @@ -1115,7 +1115,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub ) } response { - status 200 + status OK() headers { contentType(applicationJson()) } @@ -1147,7 +1147,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub World.''') } response { - status 200 + status OK() } } MethodBodyBuilder builder = methodBuilder(contractDsl) @@ -1191,7 +1191,7 @@ World.'''""" ) } response { - status 200 + status OK() } } // end::multipartdsl[] @@ -1237,7 +1237,7 @@ World.'''""" ) } response { - status 200 + status OK() } } MethodBodyBuilder builder = methodBuilder(contractDsl) @@ -1287,7 +1287,7 @@ World.'''""" ) } response { - status 200 + status OK() } } MethodBodyBuilder builder = methodBuilder(contractDsl) @@ -1322,7 +1322,7 @@ World.'''""" } } response { - status 200 + status OK() body( authorities: [ value(consumer('ROLE_ADMIN'), producer(regex('^[a-zA-Z0-9_\\- ]+$'))) @@ -1358,7 +1358,7 @@ World.'''""" } } response { - status 200 + status OK() body( authorities: [ value(consumer('ROLE_ADMIN'), producer(regex('^[a-zA-Z0-9_\\- ]+$'))) @@ -1385,7 +1385,7 @@ World.'''""" url '/fraudcheck' } response { - status 200 + status OK() body( fraudCheckStatus: "OK", rejectionReason: $(consumer(null), producer(execute('assertThatRejectionReasonIsNull($it)'))) @@ -1416,7 +1416,7 @@ World.'''""" urlPath '/foos' } response { - status 200 + status OK() body([[id: value( consumer('123'), producer(regex('[0-9]+')) @@ -1449,7 +1449,7 @@ World.'''""" urlPath '/api/tags' } response { - status 200 + status OK() body(["Java", "Java8", "Spring", "SpringBoot", "Stream"]) headers { header('Content-Type': 'application/json;charset=UTF-8') @@ -1486,7 +1486,7 @@ World.'''""" urlPath '/api/tags' } response { - status 200 + status OK() body(["Java", "Java8", "Spring", "SpringBoot", "Stream"]) headers { header('Content-Type': 'application/json;charset=UTF-8') @@ -1522,7 +1522,7 @@ World.'''""" urlPath '/api/categories' } response { - status 200 + status OK() body([["Programming", "Java"], ["Programming", "Java", "Spring", "Boot"]]) headers { header('Content-Type': 'application/json;charset=UTF-8') @@ -1556,7 +1556,7 @@ World.'''""" url '/test' } response { - status 200 + status OK() async() } } @@ -1590,7 +1590,7 @@ World.'''""" } } response { - status 200 + status OK() async() } } @@ -1620,7 +1620,7 @@ World.'''""" urlPath '/api/tags' } response { - status 200 + status OK() body('''{ "partners":[ { @@ -1656,7 +1656,7 @@ World.'''""" urlPath '/get' } response { - status 200 + status OK() body( code: 9, message: $(consumer('Wrong credentials'), producer(regex('^(?!\\s*$).+'))) ) } } @@ -1712,7 +1712,7 @@ World.'''""" ''' } response { - status 200 + status OK() } } // end::dsl_example[] @@ -1731,7 +1731,7 @@ World.'''""" } } response { - status 200 + status OK() body([ responseElement: $(producer(regex('[0-9]{7}'))) ]) @@ -1772,7 +1772,7 @@ World.'''""" urlPath '/get' } response { - status 200 + status OK() body([ fraudCheckStatus: "OK", rejectionReason : [ @@ -1804,7 +1804,7 @@ World.'''""" urlPath '/get' } response { - status 200 + status OK() body([ [ name: $(consumer("userName 1"), producer(execute('assertThatUserNameIsNotNull($it)'))) @@ -1834,7 +1834,7 @@ World.'''""" urlPath '/get' } response { - status 200 + status OK() body([ [ name: $(consumer("userName 1"), producer(execute('assertThatUserNameIsNotNull($it)'))) @@ -1867,7 +1867,7 @@ World.'''""" } } response { - status 200 + status OK() body([ fraudCheckStatus: "OK", rejectionReason : [ @@ -1899,7 +1899,7 @@ World.'''""" url '/get' } response { - status 200 + status OK() body(value(stub("HELLO FROM STUB"), server(regex(".*")))) } } @@ -1923,7 +1923,7 @@ World.'''""" url '/get' } response { - status 200 + status OK() body(value(stub("HELLO FROM STUB"), server(execute('foo($it)')))) } } @@ -1953,7 +1953,7 @@ World.'''""" } } response { - status 200 + status OK() body([ fraudCheckStatus: "OK", rejectionReason : [ @@ -2007,7 +2007,7 @@ World.'''""" } } response { - status 200 + status OK() body([ alpha: $(anyAlphaUnicode()), number: $(anyNumber()), @@ -2086,7 +2086,7 @@ DocumentContext parsedJson = JsonPath.parse(json); } } response { - status 200 + status OK() headers { contentType("application/vnd.fraud.v1+json") } @@ -2186,7 +2186,7 @@ DocumentContext parsedJson = JsonPath.parse(json); url '/foo' } response { - status 200 + status OK() headers { contentType(applicationJsonUtf8()) } @@ -2225,7 +2225,7 @@ DocumentContext parsedJson = JsonPath.parse(json); headers { header('Content-Type', 'application/json;charset=UTF-8') } } response { - status 200 + status OK() body( bar: $(producer(regex('some value \u0022with quote\u0022|bar'))) ) @@ -2257,7 +2257,7 @@ DocumentContext parsedJson = JsonPath.parse(json); url $(c("foo"), p(execute("executedMethod()"))) } response { - status 200 + status OK() } } MethodBodyBuilder builder = methodBuilder(contractDsl) @@ -2291,7 +2291,7 @@ DocumentContext parsedJson = JsonPath.parse(json); url '/api/v1/xxxx' } response { - status 200 + status OK() body([ status: '200', list: [], @@ -2327,7 +2327,7 @@ DocumentContext parsedJson = JsonPath.parse(json); body(12000) } response { - status 200 + status OK() body(12000) } } @@ -2369,7 +2369,7 @@ DocumentContext parsedJson = JsonPath.parse(json); body(foo: "bar", baz: 5) } response { - status 200 + status OK() headers { header(authorization(), "foo ${fromRequest().header(authorization())} bar") } diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MockMvcMethodBodyBuilderWithMatchersSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MockMvcMethodBodyBuilderWithMatchersSpec.groovy index caac11a390..01fbc69e26 100644 --- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MockMvcMethodBodyBuilderWithMatchersSpec.groovy +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MockMvcMethodBodyBuilderWithMatchersSpec.groovy @@ -73,7 +73,7 @@ class MockMvcMethodBodyBuilderWithMatchersSpec extends Specification implements } } response { - status 200 + status OK() body([ duck: 123, alpha: "abc", @@ -200,7 +200,7 @@ class MockMvcMethodBodyBuilderWithMatchersSpec extends Specification implements url 'person' } response { - status 200 + status OK() body([ "firstName": "Jane", "lastName": "Doe", @@ -270,7 +270,7 @@ class MockMvcMethodBodyBuilderWithMatchersSpec extends Specification implements url 'person' } response { - status 200 + status OK() body([ "phoneNumbers": [ number: "foo" @@ -323,7 +323,7 @@ class MockMvcMethodBodyBuilderWithMatchersSpec extends Specification implements url 'person' } response { - status 200 + status OK() body([ "phoneNumbers": [ number: "foo" @@ -358,7 +358,7 @@ class MockMvcMethodBodyBuilderWithMatchersSpec extends Specification implements url 'person' } response { - status 200 + status OK() body([ "phoneNumbers": [ number: "foo" @@ -394,7 +394,7 @@ class MockMvcMethodBodyBuilderWithMatchersSpec extends Specification implements body(12000) } response { - status 200 + status OK() body ([[ [ access_token: '123'] ]]) @@ -434,7 +434,7 @@ class MockMvcMethodBodyBuilderWithMatchersSpec extends Specification implements headers { header "accept", "application/...json" } } response { - status 200 + status OK() body(""" { "items": [ @@ -481,7 +481,7 @@ class MockMvcMethodBodyBuilderWithMatchersSpec extends Specification implements headers { header "accept", "application/...json" } } response { - status 200 + status OK() body([ "items": [ "id" : "35309", diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/SingleTestGeneratorSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/SingleTestGeneratorSpec.groovy index 897321b198..6d72082b7c 100644 --- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/SingleTestGeneratorSpec.groovy +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/SingleTestGeneratorSpec.groovy @@ -123,7 +123,7 @@ class SingleTestGeneratorSpec extends Specification { url 'url' } response { - status 200 + status OK() } } """) @@ -226,7 +226,7 @@ class SingleTestGeneratorSpec extends Specification { } } response { - status 200 + status OK() body(foo:"foo", bar:"bar") headers { contentType(applicationJson()) @@ -246,7 +246,7 @@ class SingleTestGeneratorSpec extends Specification { } } response { - status 200 + status OK() body(foo:"foo", bar:"bar") headers { contentType(applicationJson()) @@ -369,7 +369,7 @@ class SingleTestGeneratorSpec extends Specification { url 'url' } response { - status 200 + status OK() } } """) @@ -433,7 +433,7 @@ class SingleTestGeneratorSpec extends Specification { url '/my-context-path/url' } response { - status 200 + status OK() } } // end::context_path_contract[] @@ -466,7 +466,7 @@ class SingleTestGeneratorSpec extends Specification { url 'url' } response { - status 200 + status OK() } } """) @@ -498,7 +498,7 @@ class SingleTestGeneratorSpec extends Specification { url "/${index}" } response { - status 200 + status OK() } } }''') @@ -530,7 +530,7 @@ class SingleTestGeneratorSpec extends Specification { url "/${index}" } response { - status 200 + status OK() } } }''') diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/dsl/WireMockGroovyDslSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/dsl/WireMockGroovyDslSpec.groovy index dc31b06385..90f76c6369 100755 --- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/dsl/WireMockGroovyDslSpec.groovy +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/dsl/WireMockGroovyDslSpec.groovy @@ -45,7 +45,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie url $(consumer(~/\/[0-9]{2}/), producer('/12')) } response { - status 200 + status OK() body( id: value( consumer('123'), @@ -98,7 +98,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() body( ingredients: [ [type: 'MALT', quantity: 100], @@ -196,7 +196,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie url $(consumer(~/\/[0-9]{2}/), producer('/12')) } response { - status 200 + status OK() body("""\ { "id": "${value(consumer('123'), producer('321'))}", @@ -254,7 +254,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie """ } response { - status 200 + status OK() body("""\ { "name": "Jan" @@ -312,7 +312,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie ) } response { - status 200 + status OK() } } when: @@ -359,7 +359,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie """ } response { - status 200 + status OK() } } when: @@ -403,7 +403,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie }""" } response { - status 200 + status OK() } } when: @@ -446,7 +446,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie }""" } response { - status 200 + status OK() } } when: @@ -481,7 +481,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie url "/users" } response { - status 200 + status OK() body """${value(consumer('Jozo'), producer('Denis'))}${ value(consumer(""), producer('1234567890')) }""" @@ -516,7 +516,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie body equalToJson('''{"name":"Jan"}''') } response { - status 200 + status OK() } } when: @@ -554,7 +554,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie }""") } response { - status 200 + status OK() } } when: @@ -594,7 +594,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie """ } response { - status 200 + status OK() body("""\ { "name": "Jan" @@ -651,7 +651,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } response { - status 200 + status OK() body( fraudCheckStatus: "OK", rejectionReason: $(consumer(null), producer(execute('assertThatRejectionReasonIsNull($it)'))) @@ -714,7 +714,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() } } when: @@ -774,7 +774,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() } } when: @@ -815,7 +815,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() } } when: @@ -851,7 +851,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie urlPath $(consumer("boxes"), producer("items")) } response { - status 200 + status OK() } } when: @@ -881,7 +881,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie urlPath "boxes" } response { - status 200 + status OK() } } when: @@ -916,7 +916,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() } } then: @@ -936,7 +936,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() } } then: @@ -956,7 +956,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() } } then: @@ -982,7 +982,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() } }, { @@ -995,7 +995,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() } }, { @@ -1008,7 +1008,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() } } ] @@ -1027,7 +1027,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() } } when: @@ -1083,7 +1083,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie """ } response { - status 200 + status OK() body("""\ { "name": "Jan" @@ -1145,7 +1145,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie ) } response { - status 200 + status OK() body ''' { "status": "OK" @@ -1266,7 +1266,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie ) } response { - status 200 + status OK() } } when: @@ -1302,7 +1302,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie ) } response { - status 200 + status OK() } } when: @@ -1562,7 +1562,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie ) } response { - status 200 + status OK() } } // end::multipartdsl[] @@ -1626,7 +1626,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() body( content: [[ id : '00000000-0000-0000-0000-000000000000', @@ -1698,7 +1698,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() body('') } } @@ -1724,7 +1724,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() body('') } } @@ -1753,7 +1753,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie body(foo: "bar", baz: 5) } response { - status 200 + status OK() headers { header(authorization(), "${fromRequest().header(authorization())};foo") } @@ -1850,7 +1850,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() } } when: @@ -1960,7 +1960,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie } } response { - status 200 + status OK() body(""" { "code": 91015, diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/util/ContractVerifierDslConverterSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/util/ContractVerifierDslConverterSpec.groovy index 8f39cb115b..4a79681c14 100644 --- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/util/ContractVerifierDslConverterSpec.groovy +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/util/ContractVerifierDslConverterSpec.groovy @@ -41,7 +41,7 @@ class ContractVerifierDslConverterSpec extends Specification { url("/1") } response { - status 200 + status OK() body(""" { "status" : "OK" } """) headers { contentType(textPlain()) @@ -60,7 +60,7 @@ class ContractVerifierDslConverterSpec extends Specification { url("/${index}") } response { - status 200 + status OK() body(""" { "status" : "OK" } """) headers { contentType(textPlain()) diff --git a/spring-cloud-contract-verifier/src/test/resources/classpath/readFromFile.groovy b/spring-cloud-contract-verifier/src/test/resources/classpath/readFromFile.groovy index e245d4b877..7060ee74d5 100644 --- a/spring-cloud-contract-verifier/src/test/resources/classpath/readFromFile.groovy +++ b/spring-cloud-contract-verifier/src/test/resources/classpath/readFromFile.groovy @@ -10,7 +10,7 @@ Contract.make { url("/1") } response { - status 200 + status OK() body(file("response.json")) headers { contentType(textPlain()) diff --git a/spring-cloud-contract-verifier/src/test/resources/contract.groovy b/spring-cloud-contract-verifier/src/test/resources/contract.groovy index 9d84157ee9..6ff9391571 100644 --- a/spring-cloud-contract-verifier/src/test/resources/contract.groovy +++ b/spring-cloud-contract-verifier/src/test/resources/contract.groovy @@ -26,7 +26,7 @@ Contract.make { url("/1") } response { - status 200 + status OK() body(""" { "status" : "OK" } """) headers { contentType(textPlain()) diff --git a/spring-cloud-contract-verifier/src/test/resources/directory/with/mixed/dsl.groovy b/spring-cloud-contract-verifier/src/test/resources/directory/with/mixed/dsl.groovy index 067e0f7d19..beede0ac1e 100644 --- a/spring-cloud-contract-verifier/src/test/resources/directory/with/mixed/dsl.groovy +++ b/spring-cloud-contract-verifier/src/test/resources/directory/with/mixed/dsl.groovy @@ -32,7 +32,7 @@ Contract.make { url $(consumer('/[0-9]{2}'), producer('/12')) } response { - status 200 + status OK() body("""\ { "name": "Jan", diff --git a/spring-cloud-contract-verifier/src/test/resources/dsl/basic/sampleDsl.groovy b/spring-cloud-contract-verifier/src/test/resources/dsl/basic/sampleDsl.groovy index b4272b0507..a3e09ca75b 100644 --- a/spring-cloud-contract-verifier/src/test/resources/dsl/basic/sampleDsl.groovy +++ b/spring-cloud-contract-verifier/src/test/resources/dsl/basic/sampleDsl.groovy @@ -32,7 +32,7 @@ Contract.make { url $(consumer('/[0-9]{2}'), producer('/12')) } response { - status 200 + status OK() body("""\ { "name": "Jan", diff --git a/spring-cloud-contract-verifier/src/test/resources/multiple_contracts.groovy b/spring-cloud-contract-verifier/src/test/resources/multiple_contracts.groovy index db131661ac..e91240c6dc 100644 --- a/spring-cloud-contract-verifier/src/test/resources/multiple_contracts.groovy +++ b/spring-cloud-contract-verifier/src/test/resources/multiple_contracts.groovy @@ -26,7 +26,7 @@ import org.springframework.cloud.contract.spec.Contract url("/${index}") } response { - status 200 + status OK() body(""" { "status" : "OK" } """) headers { contentType(textPlain())