From 68559b257701d484884eaa9afce29587f8c72d3d Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Tue, 28 Jun 2016 22:57:45 +0200 Subject: [PATCH] Fixed the bug with bad sent msgs --- .../messaging/camel/StubRunnerCamelProcessor.groovy | 4 ++-- .../integration/StubRunnerIntegrationTransformer.groovy | 4 ++-- .../messaging/stream/StubRunnerStreamTransformer.groovy | 4 ++-- .../cloud/contract/stubrunner/StubRunnerExecutor.groovy | 4 +++- .../{BodyAsStringUtil.groovy => BodyExtractor.groovy} | 8 ++++---- 5 files changed, 13 insertions(+), 11 deletions(-) rename spring-cloud-contract-verifier/spring-cloud-contract-verifier-core/src/main/groovy/org/springframework/cloud/contract/verifier/util/{BodyAsStringUtil.groovy => BodyExtractor.groovy} (93%) diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-camel/src/main/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/StubRunnerCamelProcessor.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-camel/src/main/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/StubRunnerCamelProcessor.groovy index b081115b52..bca7ee94b9 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-camel/src/main/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/StubRunnerCamelProcessor.groovy +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-camel/src/main/groovy/org/springframework/cloud/contract/stubrunner/messaging/camel/StubRunnerCamelProcessor.groovy @@ -17,7 +17,7 @@ package org.springframework.cloud.contract.stubrunner.messaging.camel import groovy.transform.PackageScope -import org.springframework.cloud.contract.verifier.util.BodyAsStringUtil +import org.springframework.cloud.contract.verifier.util.BodyExtractor import org.apache.camel.Exchange import org.apache.camel.Message import org.apache.camel.Processor @@ -47,7 +47,7 @@ class StubRunnerCamelProcessor implements Processor { if (!groovyDsl.outputMessage) { return } - input.body = BodyAsStringUtil.extractStubValueFrom(groovyDsl.outputMessage.body) + input.body = BodyExtractor.extractStubValueFrom(groovyDsl.outputMessage.body) groovyDsl.outputMessage.headers?.entries?.each { input.setHeader(it.name, it.clientValue) } diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-integration/src/main/groovy/org/springframework/cloud/contract/stubrunner/messaging/integration/StubRunnerIntegrationTransformer.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-integration/src/main/groovy/org/springframework/cloud/contract/stubrunner/messaging/integration/StubRunnerIntegrationTransformer.groovy index 3a88865e72..6dd212e46a 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-integration/src/main/groovy/org/springframework/cloud/contract/stubrunner/messaging/integration/StubRunnerIntegrationTransformer.groovy +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-integration/src/main/groovy/org/springframework/cloud/contract/stubrunner/messaging/integration/StubRunnerIntegrationTransformer.groovy @@ -17,7 +17,7 @@ package org.springframework.cloud.contract.stubrunner.messaging.integration import org.springframework.cloud.contract.verifier.dsl.Contract -import org.springframework.cloud.contract.verifier.util.BodyAsStringUtil +import org.springframework.cloud.contract.verifier.util.BodyExtractor import org.springframework.integration.transformer.GenericTransformer import org.springframework.messaging.Message import org.springframework.messaging.MessageHeaders @@ -41,7 +41,7 @@ class StubRunnerIntegrationTransformer implements GenericTransformer, if (!groovyDsl.outputMessage) { return source } - String payload = BodyAsStringUtil.extractStubValueFrom(groovyDsl.outputMessage.body) + String payload = BodyExtractor.extractStubValueFrom(groovyDsl.outputMessage.body) Map headers = groovyDsl.outputMessage.headers.asStubSideMap() return MessageBuilder.createMessage(payload, new MessageHeaders(headers)) } diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-stream/src/main/groovy/org/springframework/cloud/contract/stubrunner/messaging/stream/StubRunnerStreamTransformer.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-stream/src/main/groovy/org/springframework/cloud/contract/stubrunner/messaging/stream/StubRunnerStreamTransformer.groovy index fb304ca301..37ffc6ff76 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-stream/src/main/groovy/org/springframework/cloud/contract/stubrunner/messaging/stream/StubRunnerStreamTransformer.groovy +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner-messaging/spring-cloud-contract-stub-runner-stream/src/main/groovy/org/springframework/cloud/contract/stubrunner/messaging/stream/StubRunnerStreamTransformer.groovy @@ -16,7 +16,7 @@ package org.springframework.cloud.contract.stubrunner.messaging.stream -import org.springframework.cloud.contract.verifier.util.BodyAsStringUtil +import org.springframework.cloud.contract.verifier.util.BodyExtractor import org.springframework.cloud.contract.verifier.dsl.Contract import org.springframework.integration.transformer.GenericTransformer import org.springframework.messaging.Message @@ -41,7 +41,7 @@ class StubRunnerStreamTransformer implements GenericTransformer, Mess if (!groovyDsl.outputMessage) { return source } - String payload = BodyAsStringUtil.extractStubValueFrom(groovyDsl.outputMessage.body) + String payload = BodyExtractor.extractStubValueFrom(groovyDsl.outputMessage.body) Map headers = groovyDsl.outputMessage.headers.asStubSideMap() return MessageBuilder.createMessage(payload, new MessageHeaders(headers)) } diff --git a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutor.groovy b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutor.groovy index 3f688e177d..f2734d618a 100644 --- a/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutor.groovy +++ b/spring-cloud-contract-stub-runner/spring-cloud-contract-stub-runner/src/main/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutor.groovy @@ -22,6 +22,7 @@ import org.springframework.cloud.contract.verifier.dsl.Contract import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessage import org.springframework.cloud.contract.verifier.messaging.ContractVerifierMessaging import org.springframework.cloud.contract.verifier.messaging.noop.NoOpContractVerifierMessaging +import org.springframework.cloud.contract.verifier.util.BodyExtractor /** * Runs stubs for a particular {@link StubServer} @@ -127,7 +128,8 @@ class StubRunnerExecutor implements StubFinder { if (!groovyDsl.outputMessage) { return } - ContractVerifierMessage message = contractVerifierMessaging.create(groovyDsl.outputMessage?.body?.clientValue, + ContractVerifierMessage message = contractVerifierMessaging.create( + BodyExtractor.extractClientValueFromBody(groovyDsl.outputMessage?.body?.clientValue), groovyDsl.outputMessage?.headers?.asStubSideMap()) contractVerifierMessaging.send(message, groovyDsl.outputMessage.sentTo.clientValue) } diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-core/src/main/groovy/org/springframework/cloud/contract/verifier/util/BodyAsStringUtil.groovy b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-core/src/main/groovy/org/springframework/cloud/contract/verifier/util/BodyExtractor.groovy similarity index 93% rename from spring-cloud-contract-verifier/spring-cloud-contract-verifier-core/src/main/groovy/org/springframework/cloud/contract/verifier/util/BodyAsStringUtil.groovy rename to spring-cloud-contract-verifier/spring-cloud-contract-verifier-core/src/main/groovy/org/springframework/cloud/contract/verifier/util/BodyExtractor.groovy index 571dfdf2dc..c5f4b4279a 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-core/src/main/groovy/org/springframework/cloud/contract/verifier/util/BodyAsStringUtil.groovy +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-core/src/main/groovy/org/springframework/cloud/contract/verifier/util/BodyExtractor.groovy @@ -31,9 +31,9 @@ import static ContentUtils.extractValue * @since 1.0.0 */ @CompileStatic -class BodyAsStringUtil { +class BodyExtractor { - private BodyAsStringUtil() {} + private BodyExtractor() {} /** * Returns the string representation of the body for the server side. @@ -63,7 +63,7 @@ class BodyAsStringUtil { return toTrim.startsWith('"') ? toTrim.replaceAll('"', '') : toTrim } - private static Object extractServerValueFromBody(bodyValue) { + static Object extractServerValueFromBody(bodyValue) { if (bodyValue instanceof GString) { bodyValue = extractValue(bodyValue, { DslProperty dslProperty -> dslProperty.serverValue }) } else { @@ -72,7 +72,7 @@ class BodyAsStringUtil { return bodyValue } - private static Object extractClientValueFromBody(bodyValue) { + static Object extractClientValueFromBody(bodyValue) { if (bodyValue instanceof GString) { return extractValue(bodyValue, { DslProperty dslProperty -> dslProperty.clientValue }) } else if (bodyValue instanceof DslProperty) {