{ "consumer": { "name": "test_consumer" }, "provider": { "name": "test_provider" }, "interactions": [ { "type": "Asynchronous/Messages", "key": "m_001", "metadata": { "contentType": "application/json", "destination": "a/b/c" }, "providerStates": [ { "name": "message exists" } ], "contents": { "contentType": "application/json", "encoded": false, "content": { "a": "1234-1234" } }, "matchingRules": { "content": { "$.a": { "matchers": [ { "match": "regex", "regex": "\\d+-\\d+" } ], "combine": "AND" } } }, "generators": { "content": { "a": { "type": "Uuid" } } }, "description": "Test Message", "comments": { "text": [ "This allows me to specify just a bit more information about the interaction", "It has no functional impact, but can be displayed in the broker HTML page, and potentially in the test output", "It could even contain the name of the running test on the consumer side to help marry the interactions back to the test case" ], "testname": "example_test.groovy" } } ], "metadata": { "pactSpecification": { "version": "4.0" } } }