Merge branch '3.1.x'

This commit is contained in:
Marcin Grzejszczak
2022-04-11 14:24:19 +02:00
4 changed files with 25 additions and 9 deletions

View File

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

View File

@@ -24,7 +24,6 @@ import com.github.tomakehurst.wiremock.http.ChunkedDribbleDelay
import com.github.tomakehurst.wiremock.http.HttpHeader
import com.github.tomakehurst.wiremock.http.Request
import com.github.tomakehurst.wiremock.http.Response
import wiremock.org.apache.http.HttpHeaders
import org.springframework.cloud.contract.verifier.dsl.wiremock.DefaultResponseTransformer
import org.springframework.cloud.contract.verifier.dsl.wiremock.WireMockExtensions

View File

@@ -66,7 +66,7 @@ class DefaultWireMockStubPostProcessor implements WireMockStubPostProcessor {
}
public ResponseDefinition mergedResponse(StubMapping stubMapping, StubMapping stubMappingFromMetadata) {
ResponseDefinition responseDefinition = new ResponseDefinition(stubMapping.getResponse().getStatus(),
return new ResponseDefinition(stubMapping.getResponse().getStatus(),
stubMapping.getResponse().getStatusMessage(), stubMapping.getResponse().getBody(),
stubMapping.getResponse().getJsonBody(), stubMapping.getResponse().getBase64Body(),
stubMapping.getResponse().getBodyFileName(), stubMapping.getResponse().getHeaders(),
@@ -74,11 +74,11 @@ class DefaultWireMockStubPostProcessor implements WireMockStubPostProcessor {
fixedDelayMilliseconds(stubMapping, stubMappingFromMetadata),
delayDistribution(stubMapping, stubMappingFromMetadata),
chunkedDribbleDelay(stubMapping, stubMappingFromMetadata),
proxyBaseUrl(stubMapping, stubMappingFromMetadata), fault(stubMapping, stubMappingFromMetadata),
transformers(stubMapping, stubMappingFromMetadata),
proxyBaseUrl(stubMapping, stubMappingFromMetadata),
proxyUrlPrefixToRemove(stubMapping, stubMappingFromMetadata),
fault(stubMapping, stubMappingFromMetadata), transformers(stubMapping, stubMappingFromMetadata),
transformerParameters(stubMapping, stubMappingFromMetadata),
wasConfigured(stubMapping, stubMappingFromMetadata));
return responseDefinition;
}
public Boolean wasConfigured(StubMapping stubMapping, StubMapping stubMappingFromMetadata) {
@@ -108,6 +108,12 @@ class DefaultWireMockStubPostProcessor implements WireMockStubPostProcessor {
? stubMappingFromMetadata.getResponse().getProxyBaseUrl() : stubMapping.getResponse().getProxyBaseUrl();
}
public String proxyUrlPrefixToRemove(StubMapping stubMapping, StubMapping stubMappingFromMetadata) {
return stubMappingFromMetadata.getResponse().getProxyUrlPrefixToRemove() != null
? stubMappingFromMetadata.getResponse().getProxyUrlPrefixToRemove()
: stubMapping.getResponse().getProxyUrlPrefixToRemove();
}
public ChunkedDribbleDelay chunkedDribbleDelay(StubMapping stubMapping, StubMapping stubMappingFromMetadata) {
return stubMappingFromMetadata.getResponse().getChunkedDribbleDelay() != null
? stubMappingFromMetadata.getResponse().getChunkedDribbleDelay()

View File

@@ -22,6 +22,8 @@ import java.util.concurrent.TimeUnit
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
import groovy.util.logging.Commons
import org.apache.kafka.clients.consumer.MockConsumer
import org.apache.kafka.clients.consumer.OffsetResetStrategy
import spock.lang.IgnoreIf
import spock.lang.Specification
import spock.util.concurrent.PollingConditions
@@ -38,6 +40,7 @@ import org.springframework.kafka.annotation.EnableKafka
import org.springframework.kafka.annotation.KafkaListener
import org.springframework.kafka.core.KafkaTemplate
import org.springframework.kafka.support.DefaultKafkaHeaderMapper
import org.springframework.kafka.test.EmbeddedKafkaBroker
import org.springframework.kafka.test.context.EmbeddedKafka
import org.springframework.messaging.Message
import org.springframework.messaging.MessageHeaders
@@ -190,8 +193,8 @@ class KafkaStubRunnerSpec extends Specification {
// end::trigger_all[]
Message receivedMessage = receiveFromOutput()
assert receivedMessage != null
assert assertThatBodyContainsBookNameFoo(receivedMessage.getPayload())
assert receivedMessage.getHeaders().get('BOOK-NAME') == 'foo'
assert assertThatBodyContainsBookName(receivedMessage.getPayload())
assert receivedMessage.getHeaders().get('BOOK-NAME') != null
}
}
@@ -229,6 +232,14 @@ class KafkaStubRunnerSpec extends Specification {
return json.bookName == expectedValue
}
private boolean assertThatBodyContainsBookName(Object payload) {
log.info("Got payload [" + payload + "]")
String objectAsString = payload instanceof String ? payload :
JsonOutput.toJson(payload)
def json = new JsonSlurper().parseText(objectAsString)
return json.bookName != null
}
@Configuration
@ComponentScan
@EnableAutoConfiguration
@@ -267,4 +278,4 @@ class KafkaStubRunnerSpec extends Specification {
return this.output
}
}
}
}