Commit Graph

423 Commits

Author SHA1 Message Date
Marcin Grzejszczak
8bb61176ea Removed dirties context on any tests 2018-08-08 18:00:58 +02:00
buildmaster
5375cf51ff Bumping versions to 2.0.2.BUILD-SNAPSHOT after release 2018-07-31 20:10:10 +00:00
buildmaster
2e92b65169 Going back to snapshots 2018-07-31 20:10:09 +00:00
buildmaster
c9758f5d4c Update SNAPSHOT to 2.0.1.RELEASE 2018-07-31 19:50:29 +00:00
Marcin Grzejszczak
7b710a0fd9 Trying to fix the doc 2018-07-24 21:51:03 +02:00
Marcin Grzejszczak
036e3bf117 Fixed invalid docs 2018-07-19 08:40:21 +02:00
Marcin Grzejszczak
cb5d1a1465 Added documentation on how to set up webflux; fixes gh-688 2018-07-17 12:44:17 +02:00
Marcin Grzejszczak
adcdf30be5 Updated the docs with proper links; fixes gh-672 2018-07-02 14:19:10 +02:00
buildmaster
63418e0400 Bumping versions to 1.2.6.BUILD-SNAPSHOT after release 2018-06-29 20:38:49 +00:00
buildmaster
983b363512 Going back to snapshots 2018-06-29 20:38:47 +00:00
buildmaster
7d9dd84431 Update SNAPSHOT to 1.2.5.RELEASE 2018-06-29 20:22:31 +00:00
buildmaster
3be8122604 Bumping versions to 2.0.1.BUILD-SNAPSHOT after release 2018-06-19 01:35:06 +00:00
buildmaster
8540c6ffdd Going back to snapshots 2018-06-19 01:35:04 +00:00
buildmaster
ffeb8f74eb Update SNAPSHOT to 2.0.0.RELEASE 2018-06-19 01:22:57 +00:00
Marcin Grzejszczak
e67b969762 Removed camel reference 2018-06-18 13:15:46 +02:00
Marcin Grzejszczak
30614360be Updated docs with missing stubs mode env var; gixes gh-666 2018-06-15 11:29:19 +02:00
buildmaster
af93d926cb Going back to snapshots 2018-05-25 13:31:27 +00:00
buildmaster
1e14427889 Update SNAPSHOT to 2.0.0.RC2 2018-05-25 13:22:50 +00:00
Marcin Grzejszczak
b7baea3dee Fixed a typo 2018-05-09 08:03:15 +02:00
Tim Ysewyn
8c5f2f5567 Updated documentation for generating Spring REST Docs snippets (#648)
* Updated documentation with examples how to generate Spring REST Docs snippets from the generated tests.

fixes gh-613
2018-05-09 07:57:13 +02:00
Yura Nosenko
e5d844d4b7 Matchers documentation improvements (#644) 2018-05-08 10:05:12 +02:00
Tim Ysewyn
eb2809765b Credential properties for pact broker (#642)
* Fallback to `contractsRepositoryUsername` and `contractsRepositoryPassword` (maven) or `contractRepository.username` and `contractRepository.password` (gradle) in case the pact broker options for the username and password are not set.

Closes gh-636
2018-05-06 10:14:24 -04:00
Yura Nosenko
1078ae8072 snapshotCheckSkip javadoc enhancement (#634) 2018-05-03 07:32:06 -04:00
buildmaster
7484fc339c Going back to snapshots 2018-04-23 15:16:20 +00:00
buildmaster
7a6037cafe Update SNAPSHOT to 2.0.0.RC1 2018-04-23 15:09:43 +00:00
Marcin Grzejszczak
34f367e62b Merge branch '1.2.x' 2018-04-11 12:48:22 +02:00
Marcin Grzejszczak
6ace68284c Added docs 2018-04-11 12:34:23 +02:00
Marcin Grzejszczak
497ae30ed4 Linked pact samples to the docs 2018-04-03 11:49:28 +02:00
Marcin Grzejszczak
33c4c2a89d Trying to make the docs look nicer 2018-04-02 23:58:12 +02:00
Marcin Grzejszczak
6402e14f3c Added support for Stub Runner and Pact Broker
fixes gh-191
commit 533f1d3d0e8f6dcd37677bfef555fc2ea86bc1b1
Author: Tim Ysewyn <Tim.Ysewyn@me.com>
Date:   Wed Mar 7 15:56:48 2018 +0100

    Upgraded pact-jvm-model to 3.5.13
2018-04-02 22:50:40 +02:00
Tim Ysewyn
de529e222e Support for Pact v3 (#569)
* Upgraded pact-jvm-model to 3.5.13
* Enhanced the conversion of Spring Cloud contracts to Pact contracts using the v3 spec.
Introduces breaking change returning a list of `Pact`s instead of one.
* Enhanced the conversion of Pact contracts using the v3 spec tp Spring Cloud contracts.
* Implemented conversion of Pact v3 messaging to/from Spring Cloud contracts
* Updated code based on comments in the PR
* Added null matcher
* Added missing null matcher conversion from SCC to Pact
* Added number, integer and decimal matchers
* Added support for multiple matchers for the same json path.
Currently only the AND rule logic is supported.
* Added value generator functionality
* Refactored `stubMatchers` and `testMatchers` to support multiple types of "matcher groups", eg. header, path & query
* Refactored e37a8c5d82f96da6e1a698331afc62e6cf747bd6 in favor of a less invasive change using deprecation
* Added header matcher conversion
* Add/updated the ASF license header
* Fixed an issue with the header matchers while updating the documentation
* Updated the documentation
* Made some last minute changes to the `bodyMatchers`: `byNull()` isn't supported by WireMock

Closes #583
Fixes #595
2018-04-02 22:06:51 +02:00
Marcin Grzejszczak
0fe31ce3a5 Git Stub Downloader (#596)
when stubsMode is set to LOCAL or REMOTE, and repositoryRoot starts with git:// we can clone the provided git repository, and search for the folder with stubs for the given artifact. So if the git repo has a folder structure of groupid/artifactid/version (where group id is either dot or slash separated), then we will provide a path to that repository for the stub runner to harvest the stubs

- externalized versions
- added more debugging messages
- added ContractProjectUpdater that updates the project containing contracts from SCM. ATM supports only git
- added ResourceResolver that retrieves the ProtocolResolvers. It does it via spring.factories entries containing StubDownloaderBuilder. SDP extends ProtocolResovler.
added StubRunner.properties map, that will contain any properties that will be later used by any StubDownloader implementations
- added PUBLISH_STUBS_TO_SCM env var for Docker, so that publishStubsToScm task gets called
- updated docs

Breaking:

- StubDownloaderBuilder extends ProtocolResovler. By default the ProtocolResolver methods return null.
- stubRunnerOptions.stubRepositoryRoot is a Resource not a String
- generateWireMockClientStubs Gradle task got removed
- if folder with contracts has a subfolder called contracts, we will pick contracts from the subfolder

fixes #580
2018-03-31 09:35:00 +02:00
buildmaster
766cd59f64 Bumping versions to 1.2.5.BUILD-SNAPSHOT after release 2018-03-27 00:44:45 +00:00
buildmaster
ce62f7f77a Going back to snapshots 2018-03-27 00:44:43 +00:00
buildmaster
71061a7d7f Update SNAPSHOT to 1.2.4.RELEASE 2018-03-27 00:33:17 +00:00
buildmaster
b9740e900d Going back to snapshots 2018-03-22 23:54:47 +00:00
buildmaster
501fefd389 Update SNAPSHOT to 2.0.0.M8 2018-03-22 23:52:03 +00:00
Marcin Grzejszczak
811a28deb1 Added documentation with a explicit mode sample and web app context sample; fixes gh-370 2018-03-21 16:26:42 +01:00
Marcin Grzejszczak
60d45b5ad3 Merge branch '1.2.x' 2018-03-19 16:32:15 +01:00
Marcin Grzejszczak
51564ab444 Discouraged users from using spring-cloud-contract-wiremock dependency directly
the preferred option is to use `spring-cloud-starter-stub-runner`

fixes gh-348
2018-03-19 16:31:12 +01:00
Marcin Grzejszczak
969cfe8573 Added an option to disable the wiremock rest tempalte customizer
with this change just set "wiremock.rest-template-ssl-enabled:false"  and the customizer will not be set up

fixes gh-413
2018-03-16 16:30:30 +01:00
Marcin Grzejszczak
7a38ab9867 Added the deleteStubsAfterTest flag to remove stubs after tests are finished
if `deleteStubsAfterTest` is set to false then stubs will NOT be deleted after tests are executed

fixes gh-512
2018-03-16 01:08:37 +01:00
Marcin Grzejszczak
b43204fb82 Merge branch '1.2.x' 2018-03-15 14:56:04 +01:00
Marcin Grzejszczak
c33ad02550 Added support for Docker and external contracts repo
These environment variables are used when contracts lay in an external repository. To enable
this feature you must set the `EXTERNAL_CONTRACTS_ARTIFACT_ID` environment variable.

- `EXTERNAL_CONTRACTS_GROUP_ID` - group id of the project with contracts. Defaults to `com.example`
- `EXTERNAL_CONTRACTS_ARTIFACT_ID`- artifact id of the project with contracts.
- `EXTERNAL_CONTRACTS_CLASSIFIER`- classifier of the project with contracts. Empty by default
- `EXTERNAL_CONTRACTS_VERSION` - version of the project with contracts. Defaults to `+`, equivalent to picking the latest
- `EXTERNAL_CONTRACTS_REPO_WITH_BINARIES_URL` - URL of your Artifact Manager. Defaults to value of `REPO_WITH_BINARIES_URL` env var.
If that's not set, defaults to `http://localhost:8081/artifactory/libs-release-local`
which is the default URL of https://jfrog.com/artifactory/[Artifactory] running locally
- `EXTERNAL_CONTRACTS_PATH` - path to contracts for the given project, inside the project with contracts.
Defaults to slash separated `EXTERNAL_CONTRACTS_GROUP_ID` concatenated with `/` and `EXTERNAL_CONTRACTS_ARTIFACT_ID`. E.g.
for group id `foo.bar` and artifact id `baz`, would result in `foo/bar/baz` contracts path.
- `EXTERNAL_CONTRACTS_WORK_OFFLINE` - if set to `true` then will retrieve artifact with contracts
from the container's `.m2`. Mount your local `.m2` as a volume available at the container's `/root/.m2` path.
You must not set both `EXTERNAL_CONTRACTS_WORK_OFFLINE` and `EXTERNAL_CONTRACTS_REPO_WITH_BINARIES_URL`.

fixes gh-576
2018-03-15 14:48:28 +01:00
Marcin Grzejszczak
8e4360535c 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
2018-03-15 10:00:45 +01:00
Marcin Grzejszczak
cd51d09ec4 Merge branch '1.2.x' 2018-03-13 18:07:16 +01:00
Marcin Grzejszczak
17c375a629 Updated docs to point to different branches 2018-03-13 17:51:08 +01:00
Marcin Grzejszczak
ab76b12edf Added one more ant pattern to gradle and maven plugins
The bug is related to the fact that initially, we were supporting slash-separated paths to projects. E.g. if the group id was `a.b.c` then we did checked for `a/b/c` folder. At certain point we've started building stubs with the `groupid` folder as such e.g. `a.b.c/artifact-id`. This is where the bug comes in. For Maven and Gradle we're using ant patterns for copying files. We're only providing the slash-separated ant pattern. With this fix, we're backward compatible (we're leaving the slash-separated one) and we're adding support for dot-delimited group id.

fixes gh-555
2018-03-13 17:51:08 +01:00
Marcin Grzejszczak
2740496d86 Added one more ant pattern to gradle and maven plugins
The bug is related to the fact that initially, we were supporting slash-separated paths to projects. E.g. if the group id was `a.b.c` then we did checked for `a/b/c` folder. At certain point we've started building stubs with the `groupid` folder as such e.g. `a.b.c/artifact-id`. This is where the bug comes in. For Maven and Gradle we're using ant patterns for copying files. We're only providing the slash-separated ant pattern. With this fix, we're backward compatible (we're leaving the slash-separated one) and we're adding support for dot-delimited group id.

fixes gh-555
2018-03-13 17:47:00 +01:00
Jay Bryant
399be7599c Editing pass for new content (#570)
Olga Maciaszek-Sharma added very nice content, in the form of a three-second and a three-minute introduction for the verifier. I edited her additions to conform to our usual standards and corporate voice.
2018-03-09 08:29:24 +01:00