Fixed broken tests

This commit is contained in:
Marcin Grzejszczak
2022-05-05 14:24:21 +02:00
parent a71bad4d9a
commit 109ec516c2
5 changed files with 43 additions and 37 deletions

View File

@@ -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

View File

@@ -15,7 +15,7 @@
<name>spring-cloud-contract-dependencies</name>
<description>Spring Cloud Contract Dependencies</description>
<properties>
<wiremock.version>2.33.0</wiremock.version>
<wiremock.version>2.33.2</wiremock.version>
<jsonassert.version>0.6.1</jsonassert.version>
</properties>
<dependencyManagement>

View File

@@ -110,7 +110,7 @@ public class ContractFileScanner {
private void appendRecursively(File baseDir, MultiValueMap<Path, ContractMetadata> result) {
List<ContractConverter> 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;
}

View File

@@ -117,4 +117,10 @@ public class ContractMetadata {
return convertedContractWithMetadata;
}
@Override
public String toString() {
return "ContractMetadata{" + "path=" + path + ", ignored=" + ignored + ", groupSize=" + groupSize + ", order="
+ order + '}';
}
}

View File

@@ -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<String> ignored = ["other/different/**"] as Set
ContractFileScanner scanner = new ContractFileScanner(baseDir, excluded, ignored, [] as Set, "")
when:
ListMultimap<Path, ContractMetadata> result = scanner.findContracts()
MultiValueMap<Path, ContractMetadata> 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<String> ignored = ["bar/**"] as Set
ContractFileScanner scanner = new ContractFileScanner(baseDir, excluded, ignored, [] as Set, "")
when:
ListMultimap<Path, ContractMetadata> result = scanner.findContracts()
MultiValueMap<Path, ContractMetadata> result = scanner.findContractsRecursively()
then:
result.entries().size() == 2
result.entrySet().size() == 2
and:
Collection<ContractMetadata> 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<Path, ContractMetadata> contracts = scanner.findContracts()
MultiValueMap<Path, ContractMetadata> 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<Path, ContractMetadata> result = scanner.findContracts()
MultiValueMap<Path, ContractMetadata> 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<String> included = ["social-service/**", "**/coupon-collected/**/*V1*"] as Set
ContractFileScanner scanner = new ContractFileScanner(baseDir, [] as Set, [] as Set, included, null)
when:
ListMultimap<Path, ContractMetadata> result = scanner.findContracts()
MultiValueMap<Path, ContractMetadata> 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
}