Commit Graph

637 Commits

Author SHA1 Message Date
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
Marcin Grzejszczak
01e682044c Iterate over stub runner downloader builders
with this change we try to retrieve a list of builders of stub runner downloaders. The idea is that if a builder can't build a stub runner downloader, it returns null. If a stub runner downloader can't download an artifact it returns null. That way we can iterate over builders and try to point to unpacked stubs when applicable. No longer do we pick only one applicatble builder. We pick the first matching one.
2018-03-23 10:47:50 +01: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
00eed691fd Merge branch '1.2.x' 2018-03-21 16:03:57 +01:00
Marcin Grzejszczak
841a7bdfca Added a test for regular expressions in wiremock stubs; fixes gh-449 2018-03-21 16:03:49 +01:00
Marcin Grzejszczak
297ee8e2ea Changed the Groovy equals & hashcode usage to manual one
there's a bug in Groovy with autogenerated hashCode and byte arrays
to fix it we've migrated from the AST to manual hashcode and equals generation

fixes gh-546
2018-03-21 14:03:06 +01:00
Marcin Grzejszczak
32888e3b92 Add a convenience mechanism to get stub runner port
Now, you can also use the `@StubRunnerPort` annotation to inject the port of a running stub.
Value of the annotation can be the `groupid.artifactid` or just the `artifactid`. Example for Stub Runner ids
`com.example:foo`, `com.example:bar`.

```java
@StubRunnerPort("foo")
int fooPort;
@StubRunnerPort("com.example.bar")
int barPort;
```

fixes gh-573
2018-03-16 16:04:36 +01:00
Marcin Grzejszczak
e18d3c848e Fixed a typo 2018-03-16 07:10:08 +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
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
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
buildmaster
9c2d54453e Going back to snapshots 2018-02-27 01:35:53 +00:00
buildmaster
c0f773ecd3 Update SNAPSHOT to 2.0.0.M7 2018-02-27 01:30:18 +00:00
Marcin Grzejszczak
f6b6b43c9f Merge branch '1.2.x'
also accidentally fixed gh-507
2018-02-16 16:05:54 +01:00
Marcin Grzejszczak
f44c73fc6d Merge branch '1.2.x' 2018-02-12 17:09:31 +01:00
Marcin Grzejszczak
5de9959561 Bumped to WireMock 2.15.0; fixes gh-548 2018-02-12 17:09:21 +01:00
Marcin Grzejszczak
4c627f8e61 Revert "Bumped the Boot plugin to RC1"
This reverts commit e0bda0f8aa.
2018-02-11 22:29:53 +01:00
Marcin Grzejszczak
e0bda0f8aa Bumped the Boot plugin to RC1 2018-02-10 08:54:23 +01:00
Marcin Grzejszczak
ca7827dce4 Merge branch '1.2.x' 2018-02-10 08:42:58 +01:00
buildmaster
a8e3b64fe6 Bumping versions to 1.2.4.BUILD-SNAPSHOT after release 2018-02-09 16:08:54 +00:00
buildmaster
ab660f8944 Going back to snapshots 2018-02-09 16:08:53 +00:00
buildmaster
c510a555b7 Update SNAPSHOT to 1.2.3.RELEASE 2018-02-09 15:54:44 +00:00
Marcin Grzejszczak
38d9790401 Merge branch '1.2.x' 2018-02-09 15:03:55 +01:00
Marcin Grzejszczak
3b8a091dfc Fixed asm versions 2018-02-09 15:03:48 +01:00
Marcin Grzejszczak
4177c359ae Merge branch '1.2.x' 2018-02-09 10:05:36 +01:00
Marcin Grzejszczak
14c0600f8b Contract converters shouldn't require java 8 2018-02-09 10:04:26 +01:00
Marcin Grzejszczak
7361cf7434 Merge branch '1.2.x' 2018-02-05 14:49:52 +01:00
Marcin Grzejszczak
83e304008e Bumped jsonassert to 0.4.11
fixes gh-538, gh-537
2018-02-05 14:48:04 +01:00
Marcin Grzejszczak
d80f31b72a Merge branch '1.2.x' 2018-01-25 12:50:49 +01:00
Marcin Grzejszczak
01f55db2c6 Bumped WireMock to 2.14; fixes #506 2018-01-25 10:50:32 +01:00
Marcin Grzejszczak
ade0b65720 Fixed some tests and broken dependencies 2018-01-20 00:28:32 +01:00
Marcin Grzejszczak
65ee88aa23 Merge branch '1.2.x' 2018-01-19 01:18:33 +01:00
Marcin Grzejszczak
b745d9a7e3 YAML contracts (#522)
with this change we allow the users to use YAML to define contracts

fixes gh-300 gh-508
helps with #501
2018-01-19 00:27:15 +01:00
buildmaster
b2428c5f13 Bumping versions to 1.2.3.BUILD-SNAPSHOT after release 2018-01-16 17:20:16 +00:00
buildmaster
f5561d3f9b Going back to snapshots 2018-01-16 17:20:15 +00:00
buildmaster
19deb01269 Update SNAPSHOT to 1.2.2.RELEASE 2018-01-16 17:09:51 +00:00
Tom Hombergs
833a7114ab matcher now correctly matches response instead of request 511 (#517) 2018-01-12 22:51:59 +01:00
Marcin Grzejszczak
bea0d4f78d Added pact evaluation of $.body type matcher
fixes #511
2018-01-12 15:24:15 +01:00
Marcin Grzejszczak
709df3e291 Unescaping any json body entries
without this change we're escaping the json body response and then wiremock is escaping it again
with this change we're unescaping the first json body escaping so that wiremock applies it only once

fixes gh-515
2018-01-12 12:56:09 +01:00
Marcin Grzejszczak
748e512f4d Introduces explicit mode of stub downloading (#503)
* Introduces explicit mode of stub downloading

you have to explicitly provide the mode [CLASSPATH, REMOTE, LOCAL] of how you want to fetch and register stubs

fixes gh-287
2018-01-03 08:25:29 +01:00
Marcin Grzejszczak
80f0e66292 Revert "Revert "Merge branch 'master' into 2.0.x""
This reverts commit 822dd4b732.
2017-12-20 16:37:38 +01:00
Marcin Grzejszczak
822dd4b732 Revert "Merge branch 'master' into 2.0.x"
This reverts commit 63a1981f54, reversing
changes made to 0cca942e86.
2017-12-20 16:31:52 +01:00
Marcin Grzejszczak
d9790a4b17 Added option to disable adding custom publication; fixes #482 2017-12-08 15:03:59 -08:00
Marcin Grzejszczak
c06e671292 Merge branch '1.2.x' 2017-12-08 14:22:50 -08:00