Fix more URLs.
This commit is contained in:
150
README.adoc
150
README.adoc
@@ -25,7 +25,7 @@ https://cloud-samples.spring.io/spring-cloud-contract-samples/workshops.html[thi
|
||||
== Spring Cloud Contract Verifier Introduction
|
||||
|
||||
TIP: The Accurest project was initially started by Marcin Grzejszczak and Jakub Kubrynski
|
||||
(http://codearte.io[codearte.io])
|
||||
(https://github.com/Codearte[Codearte])
|
||||
|
||||
Spring Cloud Contract Verifier enables Consumer Driven Contract (CDC) development of
|
||||
JVM-based applications. It moves TDD to the level of software architecture.
|
||||
@@ -617,7 +617,7 @@ https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html#_contra
|
||||
for more information.] We highly recommend using the map notation!
|
||||
|
||||
TIP: You must understand the map notation in order to set up contracts. Please read the
|
||||
http://groovy-lang.org/json.html[Groovy docs regarding JSON].
|
||||
https://groovy-lang.org/json.html[Groovy docs regarding JSON].
|
||||
|
||||
The previously shown contract is an agreement between two sides that:
|
||||
|
||||
@@ -844,7 +844,7 @@ the `contracts` folder, pick only one, which should be `fraud`. Add the `Base` s
|
||||
capitalize `fraud`. That gives you the `FraudBase` test class name.
|
||||
|
||||
All the generated tests extend that class. Over there, you can set up your Spring Context
|
||||
or whatever is necessary. In this case, use http://rest-assured.io/[Rest Assured MVC] to
|
||||
or whatever is necessary. In this case, use https://github.com/rest-assured/rest-assured[Rest Assured MVC] to
|
||||
start the server side `FraudDetectionController`.
|
||||
|
||||
[source,java,indent=0]
|
||||
@@ -1012,9 +1012,9 @@ video::sAAklvxmPmk[youtube,start=538,width=640,height=480]
|
||||
==== Readings
|
||||
|
||||
- https://www.slideshare.net/MarcinGrzejszczak/stick-to-the-rules-consumer-driven-contracts-201507-confitura[Slides from Marcin Grzejszczak's talk about Accurest]
|
||||
- http://toomuchcoding.com/blog/categories/accurest/[Accurest related articles from Marcin Grzejszczak's blog]
|
||||
- http://toomuchcoding.com/blog/categories/spring-cloud-contract/[Spring Cloud Contract related articles from Marcin Grzejszczak's blog]
|
||||
- http://groovy-lang.org/json.html[Groovy docs regarding JSON]
|
||||
- https://toomuchcoding.com/blog/categories/accurest/[Accurest related articles from Marcin Grzejszczak's blog]
|
||||
- https://toomuchcoding.com/blog/categories/spring-cloud-contract/[Spring Cloud Contract related articles from Marcin Grzejszczak's blog]
|
||||
- https://groovy-lang.org/json.html[Groovy docs regarding JSON]
|
||||
|
||||
=== Samples
|
||||
|
||||
@@ -1051,7 +1051,7 @@ Marcin Grzejszczak]
|
||||
|
||||
== Spring Cloud Contract WireMock
|
||||
|
||||
The Spring Cloud Contract WireMock modules let you use http://wiremock.org[WireMock] in a
|
||||
The Spring Cloud Contract WireMock modules let you use https://github.com/tomakehurst/wiremock[WireMock] in a
|
||||
Spring Boot application. Check out the
|
||||
https://github.com/spring-cloud/spring-cloud-contract/tree/{branch}/samples[samples]
|
||||
for more details.
|
||||
@@ -1258,7 +1258,7 @@ visit `https://example.org/`, it gets the responses as being declared at that UR
|
||||
than one stub pattern can be specified, and each one can be a directory (for a recursive
|
||||
list of all ".json"), a fixed filename (as in the example above), or an Ant-style
|
||||
pattern. The JSON format is the normal WireMock format, which you can read about in the
|
||||
http://wiremock.org/docs/stubbing/[WireMock website].
|
||||
https://wiremock.org/docs/stubbing/[WireMock website].
|
||||
|
||||
Currently, the Spring Cloud Contract Verifier supports Tomcat, Jetty, and Undertow as
|
||||
Spring Boot embedded servers, and Wiremock itself has "native" support for a particular
|
||||
@@ -1493,6 +1493,8 @@ You can read more about Spring Cloud Contract Verifier by reading the
|
||||
|
||||
== Contributing
|
||||
|
||||
:spring-cloud-build-branch: master
|
||||
|
||||
Spring Cloud is released under the non-restrictive Apache 2.0 license,
|
||||
and follows a very standard Github development process, using Github
|
||||
tracker for issues and merging pull requests into master. If you want
|
||||
@@ -1538,6 +1540,138 @@ added after the original pull request but before a merge.
|
||||
if you are fixing an existing issue please add `Fixes gh-XXXX` at the end of the commit
|
||||
message (where XXXX is the issue number).
|
||||
|
||||
=== Checkstyle
|
||||
|
||||
Spring Cloud Build comes with a set of checkstyle rules. You can find them in the `spring-cloud-build-tools` module. The most notable files under the module are:
|
||||
|
||||
.spring-cloud-build-tools/
|
||||
----
|
||||
└── src
|
||||
├── checkstyle
|
||||
│ └── checkstyle-suppressions.xml <3>
|
||||
└── main
|
||||
└── resources
|
||||
├── checkstyle-header.txt <2>
|
||||
└── checkstyle.xml <1>
|
||||
----
|
||||
<1> Default Checkstyle rules
|
||||
<2> File header setup
|
||||
<3> Default suppression rules
|
||||
|
||||
==== Checkstyle configuration
|
||||
|
||||
Checkstyle rules are *disabled by default*. To add checkstyle to your project just define the following properties and plugins.
|
||||
|
||||
.pom.xml
|
||||
----
|
||||
<properties>
|
||||
<maven-checkstyle-plugin.failsOnError>true</maven-checkstyle-plugin.failsOnError> <1>
|
||||
<maven-checkstyle-plugin.failsOnViolation>true
|
||||
</maven-checkstyle-plugin.failsOnViolation> <2>
|
||||
<maven-checkstyle-plugin.includeTestSourceDirectory>true
|
||||
</maven-checkstyle-plugin.includeTestSourceDirectory> <3>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin> <4>
|
||||
<groupId>io.spring.javaformat</groupId>
|
||||
<artifactId>spring-javaformat-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin> <5>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-checkstyle-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
||||
<reporting>
|
||||
<plugins>
|
||||
<plugin> <5>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-checkstyle-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</reporting>
|
||||
</build>
|
||||
----
|
||||
<1> Fails the build upon Checkstyle errors
|
||||
<2> Fails the build upon Checkstyle violations
|
||||
<3> Checkstyle analyzes also the test sources
|
||||
<4> Add the Spring Java Format plugin that will reformat your code to pass most of the Checkstyle formatting rules
|
||||
<5> Add checkstyle plugin to your build and reporting phases
|
||||
|
||||
If you need to suppress some rules (e.g. line length needs to be longer), then it's enough for you to define a file under `${project.root}/src/checkstyle/checkstyle-suppressions.xml` with your suppressions. Example:
|
||||
|
||||
.projectRoot/src/checkstyle/checkstyle-suppresions.xml
|
||||
----
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE suppressions PUBLIC
|
||||
"-//Puppy Crawl//DTD Suppressions 1.1//EN"
|
||||
"https://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
|
||||
<suppressions>
|
||||
<suppress files=".*ConfigServerApplication\.java" checks="HideUtilityClassConstructor"/>
|
||||
<suppress files=".*ConfigClientWatch\.java" checks="LineLengthCheck"/>
|
||||
</suppressions>
|
||||
----
|
||||
|
||||
It's advisable to copy the `${spring-cloud-build.rootFolder}/.editorconfig` and `${spring-cloud-build.rootFolder}/.springformat` to your project. That way, some default formatting rules will be applied. You can do so by running this script:
|
||||
|
||||
```bash
|
||||
$ curl https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/.editorconfig -o .editorconfig
|
||||
$ touch .springformat
|
||||
```
|
||||
|
||||
=== IDE setup
|
||||
|
||||
==== Intellij IDEA
|
||||
|
||||
In order to setup Intellij you should import our coding conventions, inspection profiles and set up the checkstyle plugin.
|
||||
|
||||
.spring-cloud-build-tools/
|
||||
----
|
||||
└── src
|
||||
├── checkstyle
|
||||
│ └── checkstyle-suppressions.xml <3>
|
||||
└── main
|
||||
└── resources
|
||||
├── checkstyle-header.txt <2>
|
||||
├── checkstyle.xml <1>
|
||||
└── intellij
|
||||
├── Intellij_Project_Defaults.xml <4>
|
||||
└── Intellij_Spring_Boot_Java_Conventions.xml <5>
|
||||
----
|
||||
<1> Default Checkstyle rules
|
||||
<2> File header setup
|
||||
<3> Default suppression rules
|
||||
<4> Project defaults for Intellij that apply most of Checkstyle rules
|
||||
<5> Project style conventions for Intellij that apply most of Checkstyle rules
|
||||
|
||||
.Code style
|
||||
|
||||
image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-code-style.png[Code style]
|
||||
|
||||
Go to `File` -> `Settings` -> `Editor` -> `Code style`. There click on the icon next to the `Scheme` section. There, click on the `Import Scheme` value and pick the `Intellij IDEA code style XML` option. Import the `spring-cloud-build-tools/src/main/resources/intellij/Intellij_Spring_Boot_Java_Conventions.xml` file.
|
||||
|
||||
.Inspection profiles
|
||||
|
||||
image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-inspections.png[Code style]
|
||||
|
||||
Go to `File` -> `Settings` -> `Editor` -> `Inspections`. There click on the icon next to the `Profile` section. There, click on the `Import Profile` and import the `spring-cloud-build-tools/src/main/resources/intellij/Intellij_Project_Defaults.xml` file.
|
||||
|
||||
.Checkstyle
|
||||
|
||||
To have Intellij work with Checkstyle, you have to install the `Checkstyle` plugin. It's advisable to also install the `Assertions2Assertj` to automatically convert the JUnit assertions
|
||||
|
||||
image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-checkstyle.png[Checkstyle]
|
||||
|
||||
Go to `File` -> `Settings` -> `Other settings` -> `Checkstyle`. There click on the `+` icon in the `Configuration file` section. There, you'll have to define where the checkstyle rules should be picked from. In the image above, we've picked the rules from the cloned Spring Cloud Build repository. However, you can point to the Spring Cloud Build's GitHub repository (e.g. for the `checkstyle.xml` : `https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/main/resources/checkstyle.xml`). We need to provide the following variables:
|
||||
|
||||
- `checkstyle.header.file` - please point it to the Spring Cloud Build's, `spring-cloud-build-tools/src/main/resources/checkstyle/checkstyle-header.txt` file either in your cloned repo or via the `https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/main/resources/checkstyle-header.txt` URL.
|
||||
- `checkstyle.suppressions.file` - default suppressions. Please point it to the Spring Cloud Build's, `spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml` file either in your cloned repo or via the `https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml` URL.
|
||||
- `checkstyle.additional.suppressions.file` - this variable corresponds to suppressions in your local project. E.g. you're working on `spring-cloud-contract`. Then point to the `project-root/src/checkstyle/checkstyle-suppressions.xml` folder. Example for `spring-cloud-contract` would be: `/home/username/spring-cloud-contract/src/checkstyle/checkstyle-suppressions.xml`.
|
||||
|
||||
IMPORTANT: Remember to set the `Scan Scope` to `All sources` since we apply checkstyle rules for production and test sources.
|
||||
|
||||
== How to build it
|
||||
|
||||
IMPORTANT: You need to have all the necessary Groovy plugins
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
== Spring Cloud Contract WireMock
|
||||
|
||||
The Spring Cloud Contract WireMock modules let you use http://wiremock.org[WireMock] in a
|
||||
The Spring Cloud Contract WireMock modules let you use https://github.com/tomakehurst/wiremock[WireMock] in a
|
||||
Spring Boot application. Check out the
|
||||
https://github.com/spring-cloud/spring-cloud-contract/tree/{branch}/samples[samples]
|
||||
for more details.
|
||||
@@ -153,7 +153,7 @@ visit `https://example.org/`, it gets the responses as being declared at that UR
|
||||
than one stub pattern can be specified, and each one can be a directory (for a recursive
|
||||
list of all ".json"), a fixed filename (as in the example above), or an Ant-style
|
||||
pattern. The JSON format is the normal WireMock format, which you can read about in the
|
||||
http://wiremock.org/docs/stubbing/[WireMock website].
|
||||
https://wiremock.org/docs/stubbing/[WireMock website].
|
||||
|
||||
Currently, the Spring Cloud Contract Verifier supports Tomcat, Jetty, and Undertow as
|
||||
Spring Boot embedded servers, and Wiremock itself has "native" support for a particular
|
||||
|
||||
@@ -161,7 +161,7 @@ org.springframework.cloud.contract.spec.Contract.make {
|
||||
}
|
||||
----
|
||||
|
||||
IMPORTANT: Please read the http://groovy-lang.org/json.html[Groovy docs related to JSON] to understand how to
|
||||
IMPORTANT: Please read the https://groovy-lang.org/json.html[Groovy docs related to JSON] to understand how to
|
||||
properly structure the request / response bodies.
|
||||
|
||||
=== How to do Stubs versioning?
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
== Spring Cloud Contract Verifier Introduction
|
||||
|
||||
TIP: The Accurest project was initially started by Marcin Grzejszczak and Jakub Kubrynski
|
||||
(http://codearte.io[codearte.io])
|
||||
(https://github.com/Codearte[Codearte])
|
||||
|
||||
Spring Cloud Contract Verifier enables Consumer Driven Contract (CDC) development of
|
||||
JVM-based applications. It moves TDD to the level of software architecture.
|
||||
@@ -302,7 +302,7 @@ https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html#_contra
|
||||
for more information.] We highly recommend using the map notation!
|
||||
|
||||
TIP: You must understand the map notation in order to set up contracts. Please read the
|
||||
http://groovy-lang.org/json.html[Groovy docs regarding JSON].
|
||||
https://groovy-lang.org/json.html[Groovy docs regarding JSON].
|
||||
|
||||
The previously shown contract is an agreement between two sides that:
|
||||
|
||||
@@ -481,7 +481,7 @@ the `contracts` folder, pick only one, which should be `fraud`. Add the `Base` s
|
||||
capitalize `fraud`. That gives you the `FraudBase` test class name.
|
||||
|
||||
All the generated tests extend that class. Over there, you can set up your Spring Context
|
||||
or whatever is necessary. In this case, use http://rest-assured.io/[Rest Assured MVC] to
|
||||
or whatever is necessary. In this case, use https://github.com/rest-assured/rest-assured[Rest Assured MVC] to
|
||||
start the server side `FraudDetectionController`.
|
||||
|
||||
[source,java,indent=0]
|
||||
@@ -616,9 +616,9 @@ video::sAAklvxmPmk[youtube,start=538,width=640,height=480]
|
||||
==== Readings
|
||||
|
||||
- https://www.slideshare.net/MarcinGrzejszczak/stick-to-the-rules-consumer-driven-contracts-201507-confitura[Slides from Marcin Grzejszczak's talk about Accurest]
|
||||
- http://toomuchcoding.com/blog/categories/accurest/[Accurest related articles from Marcin Grzejszczak's blog]
|
||||
- http://toomuchcoding.com/blog/categories/spring-cloud-contract/[Spring Cloud Contract related articles from Marcin Grzejszczak's blog]
|
||||
- http://groovy-lang.org/json.html[Groovy docs regarding JSON]
|
||||
- https://toomuchcoding.com/blog/categories/accurest/[Accurest related articles from Marcin Grzejszczak's blog]
|
||||
- https://toomuchcoding.com/blog/categories/spring-cloud-contract/[Spring Cloud Contract related articles from Marcin Grzejszczak's blog]
|
||||
- https://groovy-lang.org/json.html[Groovy docs regarding JSON]
|
||||
|
||||
=== Samples
|
||||
|
||||
|
||||
@@ -852,7 +852,7 @@ name of `scenario1` and the three following steps:
|
||||
. logout marked as `Step2` which will close the scenario.
|
||||
|
||||
More details about WireMock scenarios can be found at
|
||||
http://wiremock.org/stateful-behaviour.html[http://wiremock.org/stateful-behaviour.html]
|
||||
https://wiremock.org/stateful-behaviour.html[https://wiremock.org/stateful-behaviour.html]
|
||||
|
||||
Spring Cloud Contract Verifier also generates tests with a guaranteed order of execution.
|
||||
|
||||
@@ -918,7 +918,7 @@ It's enough for you to mount your contracts, pass the environment variables
|
||||
|
||||
- generate the contract tests
|
||||
- execute the tests against the provided URL
|
||||
- generate the http://wiremock.org[WireMock] stubs
|
||||
- generate the https://github.com/tomakehurst/wiremock[WireMock] stubs
|
||||
- (optional - turned on by default) publish the stubs to a Artifact Manager
|
||||
|
||||
===== Environment Variables
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#WireMock password - http://wiremock.org/docs/running-standalone/
|
||||
#WireMock password - https://wiremock.org/docs/running-standalone/
|
||||
server.ssl.key-store-password=password
|
||||
server.ssl.key-password=password
|
||||
server.ssl.trust-store-password=password
|
||||
|
||||
@@ -93,7 +93,7 @@ class RegexPatternsSpec extends Specification {
|
||||
'https://j.mp' || true
|
||||
'ftp://foo.bar/baz' || true
|
||||
'https://foo.bar/?q=Test%20URL-encoded%20stuff' || true
|
||||
'http://1337.net' || true
|
||||
'https://1224.net/' || true
|
||||
'https://a.b-c.de' || true
|
||||
'https://223.255.255.254' || true
|
||||
'foo.com' || true
|
||||
|
||||
@@ -185,7 +185,7 @@ You can set the following options to the main class:
|
||||
|
||||
===== HTTP Stubs
|
||||
|
||||
Stubs are defined in JSON documents, whose syntax is defined in http://wiremock.org/stubbing.html[WireMock documentation]
|
||||
Stubs are defined in JSON documents, whose syntax is defined in https://wiremock.org/stubbing.html[WireMock documentation]
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ public class StubRunnerMain {
|
||||
"Suffix for the jar containing stubs (e.g. 'stubs' if the stub jar would have a 'stubs' classifier for stubs: foobar-stubs ). Defaults to 'stubs'")
|
||||
.withRequiredArg().defaultsTo("stubs");
|
||||
ArgumentAcceptingOptionSpec<String> rootOpt = parser
|
||||
.acceptsAll(Arrays.asList("r", "root"),"Location of a Jar containing server where you keep your stubs (e.g. http://nexus.net/content/repositories/repository)")
|
||||
.acceptsAll(Arrays.asList("r", "root"),"Location of a Jar containing server where you keep your stubs (e.g. https://nexus.net/content/repositories/repository)")
|
||||
.withRequiredArg();
|
||||
ArgumentAcceptingOptionSpec<String> usernameOpt = parser
|
||||
.acceptsAll(Arrays.asList("u", "username"),"Username to user when connecting to repository")
|
||||
|
||||
@@ -42,7 +42,7 @@ public class StubRunnerBootEurekaExample {
|
||||
/*
|
||||
|
||||
// tag::stubrunnereureka_args[]
|
||||
-Dstubrunner.repositoryRoot=https://repo.spring.io/snapshots (1)
|
||||
-Dstubrunner.repositoryRoot=https://repo.spring.io/snapshot (1)
|
||||
-Dstubrunner.cloud.stubbed.discovery.enabled=false (2)
|
||||
-Dstubrunner.ids=org.springframework.cloud.contract.verifier.stubs:loanIssuance,org.springframework.cloud.contract.verifier.stubs:fraudDetectionServer,org.springframework.cloud.contract.verifier.stubs:bootService (3)
|
||||
-Dstubrunner.idsToServiceIds.fraudDetectionServer=someNameThatShouldMapFraudDetectionServer (4)
|
||||
|
||||
@@ -427,7 +427,7 @@ class DslToWireMockClientConverterSpec extends Specification {
|
||||
}
|
||||
body(
|
||||
email: $(consumer(optional(regex(email()))), producer('abc@abc.com')),
|
||||
callback_url: $(consumer(regex(hostname())), producer('http://partners.com'))
|
||||
callback_url: $(consumer(regex(hostname())), producer('https://partners.com'))
|
||||
)
|
||||
}
|
||||
response {
|
||||
@@ -482,7 +482,7 @@ class DslToWireMockClientConverterSpec extends Specification {
|
||||
and:
|
||||
def response = restTemplate.exchange(RequestEntity.post("${url}/users/password".toURI())
|
||||
.header("Content-Type", "application/json")
|
||||
.body('''{"email":"abc@abc.com", "callback_url":"http://partners.com"}''')
|
||||
.body('''{"email":"abc@abc.com", "callback_url":"https://partners.com"}''')
|
||||
, String)
|
||||
response.headers.get('Content-Type') == ['application/json']
|
||||
response.statusCodeValue == 404
|
||||
@@ -728,7 +728,7 @@ class DslToWireMockClientConverterSpec extends Specification {
|
||||
}
|
||||
body(
|
||||
email: 'abc@abc.com',
|
||||
callback_url: 'http://partners.com'
|
||||
callback_url: 'https://partners.com'
|
||||
)
|
||||
stubMatchers {
|
||||
jsonPath('$.[\\'email\\']', byRegex(email()))
|
||||
@@ -790,7 +790,7 @@ class DslToWireMockClientConverterSpec extends Specification {
|
||||
and:
|
||||
def response = restTemplate.exchange(RequestEntity.post("${url}/users/password2".toURI())
|
||||
.header("Content-Type", "application/json")
|
||||
.body('''{"email":"abc@abc.com", "callback_url":"http://partners.com"}''')
|
||||
.body('''{"email":"abc@abc.com", "callback_url":"https://partners.com"}''')
|
||||
, String)
|
||||
response.headers.get('Content-Type') == ['application/json']
|
||||
response.statusCodeValue == 404
|
||||
@@ -814,7 +814,7 @@ class DslToWireMockClientConverterSpec extends Specification {
|
||||
}
|
||||
body(
|
||||
email: 'abc@abc.com',
|
||||
callback_url: 'http://partners.com'
|
||||
callback_url: 'https://partners.com'
|
||||
)
|
||||
stubMatchers {
|
||||
jsonPath('$.[\\'email\\']', byRegex(email()))
|
||||
@@ -888,7 +888,7 @@ class DslToWireMockClientConverterSpec extends Specification {
|
||||
and:
|
||||
def response = restTemplate.exchange(RequestEntity.post("${url}/users/password2".toURI())
|
||||
.header("Content-Type", "application/json")
|
||||
.body('''{"email":"abc@abc.com", "callback_url":"http://partners.com"}''')
|
||||
.body('''{"email":"abc@abc.com", "callback_url":"https://partners.com"}''')
|
||||
, String)
|
||||
response.headers.get('Content-Type') == ['application/json;charset=UTF-8']
|
||||
response.statusCodeValue == 400
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#WireMock password - http://wiremock.org/docs/running-standalone/
|
||||
#WireMock password - https://wiremock.org/docs/running-standalone/
|
||||
server.ssl.key-store-password=password
|
||||
server.ssl.key-password=password
|
||||
server.ssl.trust-store-password=password
|
||||
@@ -264,7 +264,7 @@ class ContractHttpDocsSpec extends Specification {
|
||||
}
|
||||
body(
|
||||
email: $(consumer(optional(regex(email()))), producer('abc@abc.com')),
|
||||
callback_url: $(consumer(regex(hostname())), producer('http://partners.com'))
|
||||
callback_url: $(consumer(regex(hostname())), producer('https://partners.com'))
|
||||
)
|
||||
}
|
||||
response {
|
||||
@@ -290,7 +290,7 @@ class ContractHttpDocsSpec extends Specification {
|
||||
given:
|
||||
def request = given()
|
||||
.header("Content-Type", "application/json")
|
||||
.body('''{"email":"abc@abc.com","callback_url":"http://partners.com"}''')
|
||||
.body('''{"email":"abc@abc.com","callback_url":"https://partners.com"}''')
|
||||
|
||||
when:
|
||||
def response = given().spec(request)
|
||||
|
||||
@@ -117,7 +117,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub
|
||||
}
|
||||
body(
|
||||
email: $(consumer(optional(regex(email()))), producer('abc@abc.com')),
|
||||
callback_url: $(consumer(regex(hostname())), producer('http://partners.com'))
|
||||
callback_url: $(consumer(regex(hostname())), producer('https://partners.com'))
|
||||
)
|
||||
}
|
||||
response {
|
||||
@@ -148,7 +148,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub
|
||||
value(consumer(optional(regex(email()))), producer('abc@abc.com'))
|
||||
}",
|
||||
"callback_url" : "${
|
||||
value(consumer(regex(hostname())), producer('http://partners.com'))
|
||||
value(consumer(regex(hostname())), producer('https://partners.com'))
|
||||
}"
|
||||
}
|
||||
"""
|
||||
@@ -967,7 +967,7 @@ class MockMvcMethodBodyBuilderSpec extends Specification implements WireMockStub
|
||||
}
|
||||
body(
|
||||
email: $(consumer(regex(email())), producer('not.existing@user.com')),
|
||||
callback_url: $(consumer(regex(hostname())), producer('http://partners.com'))
|
||||
callback_url: $(consumer(regex(hostname())), producer('https://partners.com'))
|
||||
)
|
||||
}
|
||||
response {
|
||||
|
||||
@@ -1341,7 +1341,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie
|
||||
}
|
||||
body(
|
||||
email: $(consumer(regex(email())), producer('not.existing@user.com')),
|
||||
callback_url: $(consumer(regex(hostname())), producer('http://partners.com'))
|
||||
callback_url: $(consumer(regex(hostname())), producer('https://partners.com'))
|
||||
)
|
||||
}
|
||||
response {
|
||||
@@ -1480,7 +1480,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie
|
||||
}
|
||||
body(
|
||||
email: $(consumer(optional(regex(email()))), producer('abc@abc.com')),
|
||||
callback_url: $(consumer(regex(hostname())), producer('http://partners.com'))
|
||||
callback_url: $(consumer(regex(hostname())), producer('https://partners.com'))
|
||||
)
|
||||
}
|
||||
response {
|
||||
@@ -1505,7 +1505,7 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie
|
||||
body(
|
||||
""" {
|
||||
"email" : "${value(consumer(optional(regex(email()))), producer('abc@abc.com'))}",
|
||||
"callback_url" : "${value(consumer(regex(hostname())), producer('http://partners.com'))}"
|
||||
"callback_url" : "${value(consumer(regex(hostname())), producer('https://partners.com'))}"
|
||||
}
|
||||
"""
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user