diff --git a/specs/spring-cloud-contract-spec-java/src/main/java/org/springframework/cloud/contract/spec/internal/HandlebarsContractTemplate.java b/specs/spring-cloud-contract-spec-java/src/main/java/org/springframework/cloud/contract/spec/internal/HandlebarsContractTemplate.java
index c156db1fc6..b7a6c5901c 100644
--- a/specs/spring-cloud-contract-spec-java/src/main/java/org/springframework/cloud/contract/spec/internal/HandlebarsContractTemplate.java
+++ b/specs/spring-cloud-contract-spec-java/src/main/java/org/springframework/cloud/contract/spec/internal/HandlebarsContractTemplate.java
@@ -59,7 +59,7 @@ public class HandlebarsContractTemplate implements ContractTemplate {
@Override
public String query(String key, int index) {
- return wrapped("request.query." + key + ".[" + String.valueOf(index) + "]");
+ return wrapped("request.query." + key + ".[" + index + "]");
}
@Override
@@ -69,7 +69,7 @@ public class HandlebarsContractTemplate implements ContractTemplate {
@Override
public String path(int index) {
- return wrapped("request.path.[" + String.valueOf(index) + "]");
+ return wrapped("request.path.[" + index + "]");
}
@Override
@@ -79,7 +79,7 @@ public class HandlebarsContractTemplate implements ContractTemplate {
@Override
public String header(String key, int index) {
- return wrapped("request.headers." + key + ".[" + String.valueOf(index) + "]");
+ return wrapped("request.headers." + key + ".[" + index + "]");
}
@Override
@@ -94,7 +94,7 @@ public class HandlebarsContractTemplate implements ContractTemplate {
@Override
public String escapedBody() {
- return escapedWrapped("request.body");
+ return escapedWrapped("escapejsonbody");
}
@Override
@@ -119,7 +119,7 @@ public class HandlebarsContractTemplate implements ContractTemplate {
@Override
public String escapedQuery(String key, int index) {
- return escapedWrapped("request.query." + key + ".[" + String.valueOf(index) + "]");
+ return escapedWrapped("request.query." + key + ".[" + index + "]");
}
@Override
@@ -129,7 +129,7 @@ public class HandlebarsContractTemplate implements ContractTemplate {
@Override
public String escapedPath(int index) {
- return escapedWrapped("request.path.[" + String.valueOf(index) + "]");
+ return escapedWrapped("request.path.[" + index + "]");
}
@Override
@@ -139,7 +139,7 @@ public class HandlebarsContractTemplate implements ContractTemplate {
@Override
public String escapedHeader(String key, int index) {
- return escapedWrapped("request.headers." + key + ".[" + String.valueOf(index) + "]");
+ return escapedWrapped("request.headers." + key + ".[" + index + "]");
}
@Override
diff --git a/spring-cloud-contract-dependencies/pom.xml b/spring-cloud-contract-dependencies/pom.xml
index a80b5dbf93..d24a7002b6 100644
--- a/spring-cloud-contract-dependencies/pom.xml
+++ b/spring-cloud-contract-dependencies/pom.xml
@@ -15,7 +15,7 @@
spring-cloud-contract-dependencies
Spring Cloud Contract Dependencies
- 2.33.0
+ 2.33.2
0.6.1
diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/file/ContractFileScanner.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/file/ContractFileScanner.java
index ac9b81e100..d73a377b95 100644
--- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/file/ContractFileScanner.java
+++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/file/ContractFileScanner.java
@@ -110,7 +110,7 @@ public class ContractFileScanner {
private void appendRecursively(File baseDir, MultiValueMap result) {
List converters = convertersWithYml();
if (LOG.isTraceEnabled()) {
- LOG.trace("Found the following contract converters ${converters}");
+ LOG.trace("Found the following contract converters " + converters);
}
File[] files = baseDir.listFiles();
if (files == null) {
@@ -135,14 +135,14 @@ public class ContractFileScanner {
else {
appendRecursively(file, result);
if (LOG.isDebugEnabled()) {
- LOG.debug(
- "File [$file] is ignored. Is a contract file? [$contractFile]. Should be included by pattern? [$included]");
+ LOG.debug("File [" + file + "] is ignored. Is a contract file? [" + contractFile
+ + "]. Should be included by pattern? [" + included + "]");
}
}
}
else {
if (LOG.isDebugEnabled()) {
- LOG.debug("File [$file] is ignored. Should be excluded? [$excluded]");
+ LOG.debug("File [" + file + "] is ignored. Should be excluded? [" + excluded + "]");
}
}
}
@@ -176,7 +176,8 @@ public class ContractFileScanner {
appendRecursively(file, result);
if (LOG.isDebugEnabled()) {
LOG.debug(
- "File [$file] wasn't ignored but no converter was applicable. The file is a directory [${file.isDirectory()}]");
+ "File [" + file + "] wasn't ignored but no converter was applicable. The file is a directory ["
+ + file.isDirectory() + "]");
}
}
}
@@ -219,7 +220,6 @@ public class ContractFileScanner {
if (matcher.matches(file.toPath())) {
return true;
}
- LOG.debug("Path [{}] doesn't match the pattern [{}]", file.toPath(), matcher);
}
return false;
}
diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/file/ContractMetadata.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/file/ContractMetadata.java
index 21a934276d..81df9e6040 100644
--- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/file/ContractMetadata.java
+++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/file/ContractMetadata.java
@@ -117,4 +117,10 @@ public class ContractMetadata {
return convertedContractWithMetadata;
}
+ @Override
+ public String toString() {
+ return "ContractMetadata{" + "path=" + path + ", ignored=" + ignored + ", groupSize=" + groupSize + ", order="
+ + order + '}';
+ }
+
}
diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/file/ContractFileScannerSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/file/ContractFileScannerSpec.groovy
index ddc7670524..a6a7bac0ab 100644
--- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/file/ContractFileScannerSpec.groovy
+++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/file/ContractFileScannerSpec.groovy
@@ -22,11 +22,11 @@ import java.nio.file.Path
import org.junit.Rule
import org.junit.rules.TemporaryFolder
import spock.lang.Specification
-import wiremock.com.google.common.collect.ListMultimap
import org.springframework.cloud.contract.spec.Contract
import org.springframework.cloud.contract.spec.ContractConverter
import org.springframework.util.FileSystemUtils
+import org.springframework.util.MultiValueMap
/**
* @author Jakub Kubrynski, codearte.io
@@ -52,7 +52,7 @@ class ContractFileScannerSpec extends Specification {
Set ignored = ["other/different/**"] as Set
ContractFileScanner scanner = new ContractFileScanner(baseDir, excluded, ignored, [] as Set, "")
when:
- ListMultimap result = scanner.findContracts()
+ MultiValueMap result = scanner.findContractsRecursively()
then:
result.keySet().size() == 3
result.get(baseDir.toPath().resolve("different")).size() == 1
@@ -70,9 +70,9 @@ class ContractFileScannerSpec extends Specification {
Set ignored = ["bar/**"] as Set
ContractFileScanner scanner = new ContractFileScanner(baseDir, excluded, ignored, [] as Set, "")
when:
- ListMultimap result = scanner.findContracts()
+ MultiValueMap result = scanner.findContractsRecursively()
then:
- result.entries().size() == 2
+ result.entrySet().size() == 2
and:
Collection ignoredSet = result.get(baseDir.toPath().resolve("bar"))
ignoredSet.size() == 1
@@ -84,19 +84,19 @@ class ContractFileScannerSpec extends Specification {
File baseDir = new File(this.getClass().getResource("/directory/with/scenario").toURI())
ContractFileScanner scanner = new ContractFileScanner(baseDir, [] as Set, [] as Set, [] as Set, "")
when:
- ListMultimap contracts = scanner.findContracts()
+ MultiValueMap contracts = scanner.findContractsRecursively()
then:
- contracts.values().size() == 3
- contracts.values().find {
+ contracts.values()[0].size() == 3
+ contracts.values()[0].find {
it.path.fileName.toString().startsWith('01')
}.groupSize == 3
- contracts.values().find {
+ contracts.values()[0].find {
it.path.fileName.toString().startsWith('01')
}.order == 0
- contracts.values().find {
+ contracts.values()[0].find {
it.path.fileName.toString().startsWith('02')
}.order == 1
- contracts.values().find {
+ contracts.values()[0].find {
it.path.fileName.toString().startsWith('03')
}.order == 2
}
@@ -126,7 +126,7 @@ class ContractFileScannerSpec extends Specification {
}
}
when:
- scanner.findContracts()
+ scanner.findContractsRecursively()
then:
IllegalStateException e = thrown(IllegalStateException)
e.cause.message == "boom"
@@ -165,10 +165,10 @@ class ContractFileScannerSpec extends Specification {
}
}
when:
- ListMultimap result = scanner.findContracts()
+ MultiValueMap result = scanner.findContractsRecursively()
then:
result.keySet().size() == 1
- result.entries().every { it.value.convertedContract }
+ result.entrySet().every { it.value.convertedContract }
}
def "should find contracts for include pattern"() {
@@ -181,24 +181,24 @@ class ContractFileScannerSpec extends Specification {
Set included = ["social-service/**", "**/coupon-collected/**/*V1*"] as Set
ContractFileScanner scanner = new ContractFileScanner(baseDir, [] as Set, [] as Set, included, null)
when:
- ListMultimap result = scanner.findContracts()
+ MultiValueMap result = scanner.findContractsRecursively()
then:
result.keySet().size() == 3
- result.values().find {
+ result.values()[0].find {
(it.path.fileName.toString() == 'couponCollectedEventV1.groovy')
}.groupSize == 2
- result.values().find {
+ result.values()[0].find {
(it.convertedContract.first().label == 'couponCollectedV1')
}
- result.values().findAll {
+ result.values()[0].findAll {
(it.path.fileName.toString() == 'couponCollectedEventV2.groovy')
}.isEmpty()
- result.values().find {
- (it.path.fileName.toString() == 'shouldUpdateUserInfo.groovy')
- }.groupSize == 1
- result.values().find {
- (it.path.fileName.toString() == 'shouldReturnEmptyFriendsWhenGetFriends.groovy')
- }.groupSize == 1
+ result.values().find { list ->
+ list.find { it.path.fileName.toString() == 'shouldUpdateUserInfo.groovy' }
+ }[0].groupSize == 1
+ result.values().find { list ->
+ list.find { it.path.fileName.toString() == 'shouldReturnEmptyFriendsWhenGetFriends.groovy' }
+ }[0].groupSize == 1
result.get(baseDir.toPath().resolve("coupon-sent")) == null
result.get(baseDir.toPath().resolve("reward-rules")) == null
}