Commit Graph

53 Commits

Author SHA1 Message Date
Dave Syer
ac9e976a4b Merge remote-tracking branch 'origin/1.0.x' 2017-03-24 09:43:04 +00:00
Dave Syer
c1e285e76f Fix property source ordering issue with bootstrap context
The problem is that the bootstrap context gets created first
with the correct wiremock server port, and then the environment
is merged into the main context before the annotation
property source is created, so the latter takes precedence.
Fixed by re-ordering the property sources if detected.

Also switch off bootstrap context for wiremock server

Fixes gh-225
2017-03-24 09:41:36 +00:00
Dave Syer
aeefdd8636 Merge remote-tracking branch 'origin/1.0.x' 2017-03-22 12:06:58 +00:00
Dave Syer
fd04629f8f Extend range of HTTP request methods in Wiremock REST docs
Fixes gh-249
2017-03-22 12:05:16 +00:00
Marcin Grzejszczak
0048ebd756 Merge branch '1.0.x' 2017-02-23 17:37:40 +01:00
Marcin Grzejszczak
7e19f9fceb Adds option to generate contracts from RestDocs
with this change we're giving an option to not only generate stubs but also generate contracts from the RestDocs test

    fixes #14
2017-02-23 17:37:24 +01:00
Marcin Grzejszczak
d75636169f Merge branch '1.0.x' 2017-02-08 14:04:24 +01:00
Marcin Grzejszczak
92349595e5 Fixed unnecessary slash (#218)
without this change the pattern for stubs contains an unnecessary / which corrupts the location search (e.g. /_files is converted to //_files and there is no such path)
with this change we're removing that value

fixes #216
2017-02-08 14:04:07 +01:00
Marcin Grzejszczak
e135e618ec Polish 2017-02-02 17:16:36 +01:00
Marcin Grzejszczak
eaea0a6d21 Upgrading WireMock to 2.5.1
fixes #202
2017-02-02 17:15:04 +01:00
Marcin Grzejszczak
1e9e7a4792 Added foreward compatibility with WireMock stubs
fixes #213
2017-02-02 17:00:17 +01:00
Patrice Conil
1337bb0dea Implement JSON matching with JSON Content-Type (#208)
fixes #116
2017-02-01 10:13:24 +01:00
Marcin Grzejszczak
ed30fc6aa5 Fixed the not setting of response status for rest docs
without this change the status recorded in the test was not properly placed in the stub
with this change it gets fixed

fixes #199
2017-01-26 13:11:37 +01:00
Marcin Grzejszczak
4ceaff5b66 Added missing body pattern comparison
without this change the eact contents of the body were mostly ignored
with this change we support all WireMock body matching patterns

fixes #135
2016-12-29 15:38:34 +01:00
Marcin Grzejszczak
e4d8e1f6e2 Added missing method verification
without this change the only criterion for matching of requests was URL / headers / content. The method check was missing
with this change we verify if the HTTP method matches too

fixes #163
2016-12-29 14:10:13 +01:00
Dave Syer
e93d951d50 Add support for file root location in @AutoConfigureWireMock 2016-11-11 14:15:11 +00:00
Dave Syer
3d4cb355c2 Add support for files in WireMockRestServiceServer 2016-11-11 13:10:27 +00:00
Dave Syer
4829e687d8 Improve test coverage of default stubs locations 2016-11-11 12:55:41 +00:00
Dave Syer
b063612d89 Add support for explicit priority in mock server stubs 2016-11-11 12:33:53 +00:00
Dave Syer
891452376b Don't use ServerProperties for configuring Wiremock server
The problem is that it is a Spring Boot app (really tiny one), so
it binds to server.* in the environment, if you try to use
the stock ServerProperties. We only need a subset of the features
so it's actually relatively easy to wrap it and use a delegate.
2016-11-09 16:12:23 +00:00
Dave Syer
13a90f71e9 Defer setting ignore expect order 2016-10-12 09:20:22 +01:00
Marcin Grzejszczak
c8ac0fe8dc Fixing checkstyle issues 2016-10-12 10:18:19 +02:00
Dave Syer
0f41f4a4dc Tweak mock server builder so that it ignores order by default
If user loads stubs from a directory, the order of the resources
is best left to the comparator by default. If the user wants to
order stubs explicitly, she now has to use ignoreExpectOrder(false)
(the default is true, unlike the normal mock mvc server).
2016-10-11 17:03:14 +02:00
Dave Syer
1a88cbd40a Fix order of matchers in mock server
It turns out the WireMock does not (I think) contain a comparator
that helps. We have made a custom comparator that helps a bit
(it orders requests with the same URL in reverse order of the
number of headers matched).
2016-10-11 15:45:30 +02:00
Dave Syer
67e75fd2c6 Add header matchers for mock http server
Wrapping the WireMock matcher in a Hamcrest matcher, and also
using WireMock's native support for sorting mappings, so the
most specific match comes first.
2016-10-11 14:58:14 +02:00
Dave Syer
103668c669 Add all headers if they are matched with "equalTo"
Still TODO: other matcher types (regex etc.)

See gh-105
2016-10-11 14:31:40 +02:00
Dave Syer
870e42f565 Fix mock server when path is empty
When the path is empty "/" is a better default than "null".
2016-10-11 13:57:36 +02:00
Dave Syer
4313717e01 Check that header exists explicitly while loading stubs
Fixes gh-103
2016-10-11 09:49:30 +01:00
Dave Syer
1d32db483b Add test and correct double "/" in fail path
A double "/" wrks with the file system but not in a jar file
apparently, so the test isn't perfect yet. Also improves
javadocs for stubs().
2016-10-11 09:38:37 +01:00
Marcin Grzejszczak
bfc2172d66 Applied checkstyle rules 2016-08-29 12:04:21 +02:00
Marcin Grzejszczak
64d6d3ef6c Automatic stub registration (#64)
before this change the support for Stub Runner Boot with Service Discovery was pretty useless since Stub Runner stubbed service discovery. That makes a lot of sense in unit / integration tests but not when you want to do some version of end to end tests. 

With this change you can pass a property to enable automated registration of stubs in Service Discovery.

Technical changes:
* Added Zookeeper registration
* Added Eureka registration
* Added Consul registration
* Added checkstyle plugin - fixed part of exceptions
2016-08-26 16:09:16 +02:00
Marcin Grzejszczak
c7665db7d9 Fixed code style issues 2016-08-12 11:46:41 +02:00
Dave Syer
33a287dfb8 Polish 2016-07-28 10:23:02 +01:00
Dave Syer
bcce5699de Add additional build() step to allow ordered stubs 2016-07-28 09:32:30 +01:00
Dave Syer
417465b4bd Actually write the request matchers to the stub mapping 2016-07-27 09:22:52 +01:00
Dave Syer
5609ffe76c Add support for WireMock matchers on restdocs stub builder 2016-07-27 09:16:12 +01:00
Dave Syer
f46666324b Add some docs for restdocs usage and rename some things 2016-07-26 15:05:12 +01:00
Dave Syer
aa1d7dc074 Rename expect() to stubs() in mock server config 2016-07-26 14:29:20 +01:00
Dave Syer
997a17f923 Move restdocs stuff into its own package 2016-07-26 14:28:43 +01:00
Dave Syer
eb691717a2 Add support for automatically registering stubs in @AutoConfigureWireMock 2016-07-26 14:28:43 +01:00
Dave Syer
4305f40fd9 Expose WireMockServer for @Autowired in test class 2016-07-26 14:28:43 +01:00
Dave Syer
44eebcab0f Re-organize contract generation into a new helper 2016-07-26 14:28:43 +01:00
Dave Syer
1a8c1214c4 Add support for restdocs in a crude way 2016-07-26 14:28:43 +01:00
Dave Syer
cc1d20c91b Add support for random port with https as well 2016-07-21 22:06:33 +01:00
Dave Syer
b47ea3b0cd Add support for port and random port in WireMock
User can @AutoConfigureWireMock(port=0) for instance. Still missing:
declarative HTTPS.
2016-07-21 17:18:28 +01:00
Marcin Grzejszczak
72e67d6397 Polish 2016-07-20 19:39:01 +02:00
Dave Syer
fbfa19dcbd Fix wrong group id 2016-07-14 14:54:57 +01:00
Dave Syer
324c2326a4 Rename test class 2016-07-14 09:55:52 +01:00
Dave Syer
476aecaa6b Rename @WireMockTest -> @AutoConfigureWireMock 2016-07-14 09:53:57 +01:00
Dave Syer
f5d3a63869 Remove unused grape config 2016-07-14 09:53:23 +01:00