without this change we're doing json assertions for payload that should read payloads as bytes
this is a workaround around the issues like https://github.com/spring-cloud/spring-cloud-contract/issues/1701 and https://github.com/spring-cloud/spring-cloud-contract/issues/1627 .
The problem is that due to the fact that we accept GString payloads where you can have complex json structures with consumer / producer parts, we are doing recursive analysis of that json structure. We're parsing the keys and values and then we're creating the final Json payload map. The issue is that sometimes the value is actually textual json which we shouldn't parse. We don't know that when the processing happens.
The workaround is about telling the framework to read the payload from a file as bytes and then simple equality check will happen without additional JSON assertions.
We will need to look into some better fixes for that in the future (e.g. 5.0.0).
fixes gh-1627
fixes gh-1701
we're removing 2 additional types of messaging contracts
we're removing any leftovers of rabbit and kafka support - users will need to provide their own message receiver and a message sender
* Add priority property to converted contract in yaml
* Add test for convert priority property in yaml format
Co-authored-by: Фейтуллаев Арсений Валерьевич <avafeytullaev@sberbank.ru>
The immediate cause under JDK16+ is not always InaccessibleObjectException
meaning the fallback logic to copy properties does not kick in.
Additional logic is needed to harden the detection of the InaccessibleObjectException
to ensure it is catered for in the fallback logic.
Co-authored-by: Adrian Hjertstedt <adrian@adrianhj.com>
Fixes#1656.
Currently, numbers, booleans and null inside arrays are double-quoted
when converting dsl into stub, which results in generating incorrect
json stubs for WireMock. This commit fixes it.