with this change we're providing support for Pact based contracts. No longer do you have to set up your contracts using the Groovy DSL. In the same way as with the DSL you can use the Pact contracts to generate tests and the stubs on the producer side.
fixes#96
Stub / Test Matchers (#186)
Without this change we're forcing users to embed their dynamic properties inside the body. For some this is natural and acceptable, but especially for the users coming from the Pact world this sounds bizarre. Also some other people have a problem with remembering who the consumer / producer is etc.
With this change we're introducing the stubMatchers and testMatchers section. Thanks to this one can separate the body from defining the dynamic properties. Especially for Pact users this is more natural. Speaking of which this is a prerequisite for #96fixes#185
Without this change we're forcing users to embed their dynamic properties inside the body. For some this is natural and acceptable, but especially for the users coming from the Pact world this sounds bizarre. Also some other people have a problem with remembering who the consumer / producer is etc.
With this change we're introducing the stubMatchers and testMatchers section. Thanks to this one can separate the body from defining the dynamic properties. Especially for Pact users this is more natural. Speaking of which this is a prerequisite for #96fixes#185
without this change the explicit mode is broken and context path scenario can't be tested
with this change you can provide the EXPLICIT mode with which you can set the RestAssured to send real requests. That way you can set up your application to listen on a socket and have the context path setup. The contracts need to include the context path too since in real world you'll send a request to a URL that contains a context path element.
fixes#179#117
without this change when we work with the repo with common contracts then in the logs we can see that a lot of unnecessary files are processed. Those files are related to the fact that `target` / `build` folders are created and reside in the path in which we're searching for contracts. Due to this we have duplicates in terms of converting files.
with this change we add the `excludeBuildFolders` property that is by default turned off. If you enable it in the `pom.xml` that is used by the consumers to install stubs locally then the target folder gets ignored.
fixes#167
without this change for some reason we're using .get() to address an entry in the list via a index
with this change we're doing it in the proper JSON path format which is `$[index]`
fixes#85
without this change we're escapng an already escaped quotes in a regex
with this change we're doing a hack to unescape a double escaped quote
fixes#169
- fixed the way that text/plain is dealt with
- added compilation checks for Groovy / Java
- added compilation check for JaxRs
This is an important commit since it's compiling the generated code to ensure that the tests we're generating
are compilable. It turned out that a couple of regex for Groovy were not properly set. With this change
if we produce code that doesn't compile
fixes#177#172
without this change a toString was executed on an optional property due to a missing method that parses those kind of props.
with this change we've added a missing method and also we've made optional property toString return the proper pattern
fixes#173
without this change a toString was executed on an optional property due to a missing method that parses those kind of props.
with this change we've added a missing method and also we've made optional property toString return the proper pattern
fixes#173