From 5ea48987eaf5e37ed0965c9590b21d03bc7e05fe Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Wed, 20 Dec 2017 17:12:01 +0100 Subject: [PATCH] Fixed lack of triple quotes in json paths for generated contracts from rest docs fixes #494 --- .../restdocs/templates/default-dsl-contract-only.snippet | 2 +- .../contract/wiremock/restdocs/ContractDslSnippetTests.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/spring-cloud-contract-wiremock/src/main/resources/org/springframework/restdocs/templates/default-dsl-contract-only.snippet b/spring-cloud-contract-wiremock/src/main/resources/org/springframework/restdocs/templates/default-dsl-contract-only.snippet index 96dacddc37..4180c7e4cf 100644 --- a/spring-cloud-contract-wiremock/src/main/resources/org/springframework/restdocs/templates/default-dsl-contract-only.snippet +++ b/spring-cloud-contract-wiremock/src/main/resources/org/springframework/restdocs/templates/default-dsl-contract-only.snippet @@ -34,7 +34,7 @@ Contract.make { {{#response_json_paths_present}} testMatchers { {{#response_json_paths}} - jsonPath('{{jsonPath}}', byType()) + jsonPath('''{{jsonPath}}''', byType()) {{/response_json_paths}} } {{/response_json_paths_present}} diff --git a/spring-cloud-contract-wiremock/src/test/java/org/springframework/cloud/contract/wiremock/restdocs/ContractDslSnippetTests.java b/spring-cloud-contract-wiremock/src/test/java/org/springframework/cloud/contract/wiremock/restdocs/ContractDslSnippetTests.java index 1f223f94bd..055373d576 100644 --- a/spring-cloud-contract-wiremock/src/test/java/org/springframework/cloud/contract/wiremock/restdocs/ContractDslSnippetTests.java +++ b/spring-cloud-contract-wiremock/src/test/java/org/springframework/cloud/contract/wiremock/restdocs/ContractDslSnippetTests.java @@ -67,12 +67,13 @@ public class ContractDslSnippetTests { .accept(MediaType.APPLICATION_PDF) .accept(MediaType.APPLICATION_JSON) .contentType(MediaType.APPLICATION_JSON) - .content("{\"foo\": 23 }")) + .content("{\"foo\": 23, \"bar\" : \"baz\" }")) .andExpect(status().isOk()) .andExpect(content().string("bar")) // first WireMock .andDo(WireMockRestDocs.verify() .jsonPath("$[?(@.foo >= 20)]") + .jsonPath("$[?(@.bar in ['baz','bazz','bazzz'])]") .contentType(MediaType.valueOf("application/json")) .stub("shouldGrantABeerIfOldEnough")) // then Contract DSL documentation