diff --git a/docker/spring-cloud-contract-docker/project/gradle/wrapper/gradle-wrapper.jar b/docker/spring-cloud-contract-docker/project/gradle/wrapper/gradle-wrapper.jar index 7454180f2a..41d9927a4d 100644 Binary files a/docker/spring-cloud-contract-docker/project/gradle/wrapper/gradle-wrapper.jar and b/docker/spring-cloud-contract-docker/project/gradle/wrapper/gradle-wrapper.jar differ diff --git a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/MatchingRulesConverter.java b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/MatchingRulesConverter.java index 21d7b4d8c8..f655129f20 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/MatchingRulesConverter.java +++ b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/MatchingRulesConverter.java @@ -16,9 +16,9 @@ package org.springframework.cloud.contract.verifier.spec.pact; -import au.com.dius.pact.core.model.matchingrules.Category; import au.com.dius.pact.core.model.matchingrules.DateMatcher; import au.com.dius.pact.core.model.matchingrules.EqualsMatcher; +import au.com.dius.pact.core.model.matchingrules.MatchingRuleCategory; import au.com.dius.pact.core.model.matchingrules.MaxTypeMatcher; import au.com.dius.pact.core.model.matchingrules.MinMaxTypeMatcher; import au.com.dius.pact.core.model.matchingrules.MinTypeMatcher; @@ -43,12 +43,12 @@ final class MatchingRulesConverter { private MatchingRulesConverter() { } - static Category matchingRulesForBody(BodyMatchers bodyMatchers) { + static MatchingRuleCategory matchingRulesForBody(BodyMatchers bodyMatchers) { return matchingRulesFor("body", bodyMatchers); } - private static Category matchingRulesFor(String categoryName, BodyMatchers bodyMatchers) { - Category category = new Category(categoryName); + private static MatchingRuleCategory matchingRulesFor(String categoryName, BodyMatchers bodyMatchers) { + MatchingRuleCategory category = new MatchingRuleCategory(categoryName); bodyMatchers.matchers().forEach((b) -> { String key = getMatcherKey(b.path()); MatchingType matchingType = b.matchingType(); diff --git a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/MessagePactCreator.java b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/MessagePactCreator.java index 10e3aae3a5..3b26007cc4 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/MessagePactCreator.java +++ b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/MessagePactCreator.java @@ -51,7 +51,7 @@ class MessagePactCreator { return null; } Names names = NamingUtil.name(contracts.get(0)); - MessagePactBuilder pactBuilder = MessagePactBuilder.consumer(names.getConsumer()) + MessagePactBuilder pactBuilder = new MessagePactBuilder().consumer(names.getConsumer()) .hasPactWith(names.getProducer()); for (Contract contract : contracts) { diff --git a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/MessagingSCContractCreator.java b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/MessagingSCContractCreator.java index f97c299f24..7ac77f2891 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/MessagingSCContractCreator.java +++ b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/MessagingSCContractCreator.java @@ -21,9 +21,9 @@ import java.util.Collections; import java.util.List; import java.util.stream.Collectors; -import au.com.dius.pact.core.model.matchingrules.Category; import au.com.dius.pact.core.model.matchingrules.DateMatcher; import au.com.dius.pact.core.model.matchingrules.MatchingRule; +import au.com.dius.pact.core.model.matchingrules.MatchingRuleCategory; import au.com.dius.pact.core.model.matchingrules.MaxTypeMatcher; import au.com.dius.pact.core.model.matchingrules.MinMaxTypeMatcher; import au.com.dius.pact.core.model.matchingrules.MinTypeMatcher; @@ -70,13 +70,13 @@ class MessagingSCContractCreator { contract.outputMessage((outputMessage) -> { if (message.getContents().isPresent()) { outputMessage.body(BodyConverter.toSCCBody(message)); - Category bodyRules = message.getMatchingRules().rulesForCategory("body"); + MatchingRuleCategory bodyRules = message.getMatchingRules().rulesForCategory("body"); if (bodyRules != null && !bodyRules.getMatchingRules().isEmpty()) { outputMessage.bodyMatchers((responseBodyMatchers) -> outputMessageBodyMatchers(message, bodyRules, responseBodyMatchers)); } } - if (!message.getMetaData().isEmpty()) { + if (!message.getMetadata().isEmpty()) { outputMessage.headers((headers) -> outputMessageHeaders(message, headers)); } String dest = findDestination(message); @@ -88,7 +88,7 @@ class MessagingSCContractCreator { } private void outputMessageHeaders(Message message, Headers headers) { - message.getMetaData().forEach((key, value) -> { + message.getMetadata().forEach((key, value) -> { String matchingRuleGroup = value.toString(); if (key.equalsIgnoreCase("contentType")) { headers.messagingContentType(matchingRuleGroup); @@ -99,7 +99,7 @@ class MessagingSCContractCreator { }); } - private void outputMessageBodyMatchers(Message message, Category bodyRules, + private void outputMessageBodyMatchers(Message message, MatchingRuleCategory bodyRules, ResponseBodyMatchers responseBodyMatchers) { bodyRules.getMatchingRules().forEach((matchingRuleKey, matchingRuleGroup) -> { if (matchingRuleGroup.getRuleLogic() != RuleLogic.AND) { @@ -127,8 +127,8 @@ class MessagingSCContractCreator { } private String findDestination(Message message) { - return message.getMetaData().get(DESTINATION_KEY) != null - ? message.getMetaData().get(DESTINATION_KEY).toString() : ""; + return message.getMetadata().get(DESTINATION_KEY) != null + ? message.getMetadata().get(DESTINATION_KEY).toString() : ""; } void applyJsonPathToResponseBodyMatchers(MatchingRule matchingRule, String key, diff --git a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/RequestResponseSCContractCreator.java b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/RequestResponseSCContractCreator.java index 056d2421a2..d642230c1e 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/RequestResponseSCContractCreator.java +++ b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/RequestResponseSCContractCreator.java @@ -30,9 +30,9 @@ import au.com.dius.pact.core.model.Request; import au.com.dius.pact.core.model.RequestResponseInteraction; import au.com.dius.pact.core.model.RequestResponsePact; import au.com.dius.pact.core.model.Response; -import au.com.dius.pact.core.model.matchingrules.Category; import au.com.dius.pact.core.model.matchingrules.DateMatcher; import au.com.dius.pact.core.model.matchingrules.MatchingRule; +import au.com.dius.pact.core.model.matchingrules.MatchingRuleCategory; import au.com.dius.pact.core.model.matchingrules.MatchingRuleGroup; import au.com.dius.pact.core.model.matchingrules.MaxTypeMatcher; import au.com.dius.pact.core.model.matchingrules.MinMaxTypeMatcher; @@ -92,7 +92,7 @@ class RequestResponseSCContractCreator { if (pactRequest.getBody().getState() == OptionalBody.State.PRESENT) { mapRequestBody(contractRequest, pactRequest); } - Category bodyRules = pactRequest.getMatchingRules().rulesForCategory("body"); + MatchingRuleCategory bodyRules = pactRequest.getMatchingRules().rulesForCategory("body"); if (!bodyRules.getMatchingRules().isEmpty()) { mapRequestBodyRules(contractRequest, bodyRules); } @@ -111,7 +111,7 @@ class RequestResponseSCContractCreator { mapResponseBody(contractResponse, pactResponse); } - Category bodyRules = pactResponse.getMatchingRules().rulesForCategory("body"); + MatchingRuleCategory bodyRules = pactResponse.getMatchingRules().rulesForCategory("body"); if (!bodyRules.getMatchingRules().isEmpty()) { mapResponseBodyRules(contractResponse, pactResponse, bodyRules); } @@ -126,7 +126,7 @@ class RequestResponseSCContractCreator { } private void mapResponseBodyRules(org.springframework.cloud.contract.spec.internal.Response contractResponse, - Response pactResponse, Category bodyRules) { + Response pactResponse, MatchingRuleCategory bodyRules) { contractResponse.bodyMatchers((bodyMatchers) -> { bodyRules.getMatchingRules().forEach((key, matchindRuleGroup) -> { if (matchindRuleGroup.getRuleLogic() != RuleLogic.AND) { @@ -210,7 +210,7 @@ class RequestResponseSCContractCreator { } private void mapRequestBodyRules(org.springframework.cloud.contract.spec.internal.Request contractRequest, - Category bodyRules) { + MatchingRuleCategory bodyRules) { contractRequest.bodyMatchers((bodyMatchers) -> { bodyRules.getMatchingRules().forEach((key, matchingRuleGroup) -> { if (matchingRuleGroup.getRuleLogic() != RuleLogic.AND) { @@ -267,7 +267,7 @@ class RequestResponseSCContractCreator { private void mapRequestCookies(org.springframework.cloud.contract.spec.internal.Request contractRequest, Request pactRequest) { - Category headerRules = pactRequest.getMatchingRules().rulesForCategory("header"); + MatchingRuleCategory headerRules = pactRequest.getMatchingRules().rulesForCategory("header"); String[] splitCookiesHeader = pactRequest.getHeaders().get("Cookie").get(0).split(";"); Map foundCookies = Stream.of(splitCookiesHeader).map((cookieHeader) -> cookieHeader.split("=")) .collect(Collectors.toMap(splittedCookieHeader -> splittedCookieHeader[0], @@ -300,7 +300,7 @@ class RequestResponseSCContractCreator { private void mapResponseCookies(org.springframework.cloud.contract.spec.internal.Response contractResponse, Response pactResponse) { - Category headerRules = pactResponse.getMatchingRules().rulesForCategory("header"); + MatchingRuleCategory headerRules = pactResponse.getMatchingRules().rulesForCategory("header"); String[] splitCookiesHeader = pactResponse.getHeaders().get("Cookie").get(0).split(";"); Map foundCookies = Stream.of(splitCookiesHeader).map((cookieHeader) -> cookieHeader.split("=")) .collect(Collectors.toMap(splittedCookieHeader -> splittedCookieHeader[0], @@ -345,7 +345,7 @@ class RequestResponseSCContractCreator { private void mapRequestHeaders(org.springframework.cloud.contract.spec.internal.Request contractRequest, Request pactRequest) { - Category headerRules = pactRequest.getMatchingRules().rulesForCategory("header"); + MatchingRuleCategory headerRules = pactRequest.getMatchingRules().rulesForCategory("header"); contractRequest.headers((headers) -> pactRequest.getHeaders().forEach((key, values) -> { if (key.equalsIgnoreCase("Cookie")) { return; @@ -379,7 +379,7 @@ class RequestResponseSCContractCreator { private void mapResponseHeaders(org.springframework.cloud.contract.spec.internal.Response contractResponse, Response pactResponse) { - Category headerRules = pactResponse.getMatchingRules().rulesForCategory("header"); + MatchingRuleCategory headerRules = pactResponse.getMatchingRules().rulesForCategory("header"); contractResponse.headers((headers) -> pactResponse.getHeaders().forEach((key, values) -> { if (key.equalsIgnoreCase("Cookie")) { return; diff --git a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/ValueGeneratorConverter.java b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/ValueGeneratorConverter.java index fb6833e5d1..302969ad4f 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/ValueGeneratorConverter.java +++ b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/main/java/org/springframework/cloud/contract/verifier/spec/pact/ValueGeneratorConverter.java @@ -133,7 +133,7 @@ final class ValueGeneratorConverter { "We currently don't support a generator of type " + generator.getClass().getSimpleName()); } else { - Object generatedValue = generator.generate(new HashMap<>()); + Object generatedValue = generator.generate(new HashMap<>(), null); return dslPropertyProvider.apply(pattern, generatedValue); } } @@ -191,7 +191,7 @@ final class ValueGeneratorConverter { generators.addGenerator(category, path, new RandomStringGenerator(10)); break; case UUID_PATTERN: - generators.addGenerator(category, path, UuidGenerator.INSTANCE); + generators.addGenerator(category, path, new UuidGenerator()); break; case ANY_DATE_PATTERN: generators.addGenerator(category, path, new DateGenerator()); diff --git a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/groovy/org/springframework/cloud/contract/verifier/spec/pact/PactContractConverterSpec.groovy b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/groovy/org/springframework/cloud/contract/verifier/spec/pact/PactContractConverterSpec.groovy index 0d0104196d..653fcee032 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/groovy/org/springframework/cloud/contract/verifier/spec/pact/PactContractConverterSpec.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/groovy/org/springframework/cloud/contract/verifier/spec/pact/PactContractConverterSpec.groovy @@ -347,7 +347,7 @@ class PactContractConverterSpec extends Specification { ], "metadata": { "pact-jvm": { - "version": "4.1.23" + "version": "4.3.6" } } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/grouped/shouldWorkWithBeer.json b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/grouped/shouldWorkWithBeer.json index 6a9cd2948c..01482db5ef 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/grouped/shouldWorkWithBeer.json +++ b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/grouped/shouldWorkWithBeer.json @@ -147,7 +147,7 @@ ], "metadata": { "pact-jvm": { - "version": "4.1.23" + "version": "4.3.6" } } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldConvertAllGenerators.json b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldConvertAllGenerators.json index 3bc7782717..fb4b46ac7c 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldConvertAllGenerators.json +++ b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldConvertAllGenerators.json @@ -290,7 +290,7 @@ "version": "3.0.0" }, "pact-jvm": { - "version": "4.1.23" + "version": "4.3.6" } } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldMarkClientAsFraud.json b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldMarkClientAsFraud.json index 7eb6829485..35df366410 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldMarkClientAsFraud.json +++ b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldMarkClientAsFraud.json @@ -98,7 +98,7 @@ "version": "3.0.0" }, "pact-jvm": { - "version": "4.1.23" + "version": "4.3.6" } } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldMarkClientAsNotFraud.json b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldMarkClientAsNotFraud.json index eeae11aa72..2cd20b9f07 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldMarkClientAsNotFraud.json +++ b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldMarkClientAsNotFraud.json @@ -90,7 +90,7 @@ "version": "3.0.0" }, "pact-jvm": { - "version": "4.1.23" + "version": "4.3.6" } } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldReturnFraudStats.json b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldReturnFraudStats.json index c81ff44d42..b305a8f737 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldReturnFraudStats.json +++ b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldReturnFraudStats.json @@ -70,7 +70,7 @@ "version": "3.0.0" }, "pact-jvm": { - "version": "4.1.23" + "version": "4.3.6" } } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldSendMessageWhenBookReturned.json b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldSendMessageWhenBookReturned.json index cd4846274d..bc18e0f5a7 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldSendMessageWhenBookReturned.json +++ b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldSendMessageWhenBookReturned.json @@ -39,7 +39,7 @@ "version": "3.0.0" }, "pact-jvm": { - "version": "4.1.23" + "version": "4.3.6" } } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldSendMessageWhenMessageReceived.json b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldSendMessageWhenMessageReceived.json index 6d75e88009..0f29c52e0a 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldSendMessageWhenMessageReceived.json +++ b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldSendMessageWhenMessageReceived.json @@ -38,7 +38,7 @@ "version": "3.0.0" }, "pact-jvm": { - "version": "4.1.23" + "version": "4.3.6" } } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldVerifyWhenBookWasDeleted.json b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldVerifyWhenBookWasDeleted.json index 2d468810b2..ee9bd7e744 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldVerifyWhenBookWasDeleted.json +++ b/spring-cloud-contract-tools/spring-cloud-contract-pact/src/test/resources/contracts/shouldVerifyWhenBookWasDeleted.json @@ -22,7 +22,7 @@ "version": "3.0.0" }, "pact-jvm": { - "version": "4.1.23" + "version": "4.3.6" } } }