From 833a7114abfd0f508f20accfe23d0f359eef1637 Mon Sep 17 00:00:00 2001 From: Tom Hombergs Date: Fri, 12 Jan 2018 22:51:59 +0100 Subject: [PATCH] matcher now correctly matches response instead of request 511 (#517) --- .../contract/verifier/spec/pact/PactContractConverter.groovy | 2 +- .../verifier/spec/pact/PactContractConverterSpec.groovy | 3 ++- .../src/test/resources/pact/pact_509.json | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/main/groovy/org/springframework/cloud/contract/verifier/spec/pact/PactContractConverter.groovy b/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/main/groovy/org/springframework/cloud/contract/verifier/spec/pact/PactContractConverter.groovy index 173b70f901..1b047d902d 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/main/groovy/org/springframework/cloud/contract/verifier/spec/pact/PactContractConverter.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/main/groovy/org/springframework/cloud/contract/verifier/spec/pact/PactContractConverter.groovy @@ -138,7 +138,7 @@ class PactContractConverter implements ContractConverter { Map> rules = requestResponseInteraction.response.matchingRules Map fullBodyCheck = rules.get(FULL_BODY) if (fullBodyCheck != null) { - JsonPaths jsonPaths = JsonToJsonPathsConverter.transformToJsonPathWithStubsSideValuesAndNoArraySizeCheck(requestResponseInteraction.request?.body?.value) + JsonPaths jsonPaths = JsonToJsonPathsConverter.transformToJsonPathWithStubsSideValuesAndNoArraySizeCheck(requestResponseInteraction.response?.body?.value) jsonPaths.each { jsonPath(it.keyBeforeChecking(), byType()) } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/groovy/org/springframework/cloud/contract/verifier/spec/pact/PactContractConverterSpec.groovy b/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/groovy/org/springframework/cloud/contract/verifier/spec/pact/PactContractConverterSpec.groovy index 09531cd0e2..f9a0dae471 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/groovy/org/springframework/cloud/contract/verifier/spec/pact/PactContractConverterSpec.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/groovy/org/springframework/cloud/contract/verifier/spec/pact/PactContractConverterSpec.groovy @@ -96,8 +96,9 @@ class PactContractConverterSpec extends Specification { headers { contentType(applicationJson()) } - body(id: 42) + body(id: 42, firstName: "Arthur", lastName: "Dent") testMatchers { + jsonPath('''$.['id']''', byType()) jsonPath('''$.['lastName']''', byType()) jsonPath('''$.['firstName']''', byType()) } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/resources/pact/pact_509.json b/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/resources/pact/pact_509.json index fb090543a0..099fa09e6d 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/resources/pact/pact_509.json +++ b/spring-cloud-contract-tools/spring-cloud-contract-spec-pact/src/test/resources/pact/pact_509.json @@ -26,7 +26,9 @@ "Content-Type": "application/json;charset=UTF-8" }, "body": { - "id": 42 + "id": 42, + "firstName": "Arthur", + "lastName": "Dent" }, "matchingRules": { "$.body": {