diff --git a/docs/src/main/asciidoc/_project-features-messaging.adoc b/docs/src/main/asciidoc/_project-features-messaging.adoc index fb44412aba..33a56ed44a 100644 --- a/docs/src/main/asciidoc/_project-features-messaging.adoc +++ b/docs/src/main/asciidoc/_project-features-messaging.adoc @@ -109,8 +109,7 @@ testImplementation(group: 'org.springframework.cloud', name: 'spring-cloud-strea The main interface used by the tests is `org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender` and `org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver`. -It defines how to send and receive messages. If you need both sender and receiver capabilities you can use `org.springframework.cloud.contract.verifier.messaging.MessageVerifier` interface. You can create your own implementation to -achieve the same goal. +It defines how to send and receive messages. In a test, you can inject a `ContractVerifierMessageExchange` to send and receive messages that follow the contract. Then add `@AutoConfigureMessageVerifier` to your test. diff --git a/docs/src/main/asciidoc/_project-features-stubrunner.adoc b/docs/src/main/asciidoc/_project-features-stubrunner.adoc index 7a4061f84f..4b3e51e941 100644 --- a/docs/src/main/asciidoc/_project-features-stubrunner.adoc +++ b/docs/src/main/asciidoc/_project-features-stubrunner.adoc @@ -389,7 +389,7 @@ dependencies, tries to: - Start a WireMock server for each Maven dependency on a random port from the provided range of ports or the provided port - Feed the WireMock server with all JSON files that are valid WireMock definitions -- Send messages (remember to pass an implementation of `MessageVerifier` interface) +- Send messages (remember to pass an implementation of `MessageVerifierSender` interface) Stub Runner uses the https://wiki.eclipse.org/Aether[Eclipse Aether] mechanism to download the Maven dependencies. Check their https://wiki.eclipse.org/Aether[docs] for more information. @@ -430,7 +430,7 @@ See the <> for more informa how to apply global configuration of Stub Runner. IMPORTANT: To use the JUnit rule or JUnit 5 extension together with messaging, you have to provide an implementation of the -`MessageVerifier` interface to the rule builder (for example, `rule.messageVerifier(new MyMessageVerifier())`). +`MessageVerifierSender` and `MessageVerifierReceiver` interface to the rule builder (for example, `rule.messageVerifierSender(new MyMessageVerifierSender())`). If you do not do this, then, whenever you try to send a message, an exception is thrown. [[features-stub-runner-rule-maven-settings]] diff --git a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/ExceptionThrowingMessageVerifier.java b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/ExceptionThrowingMessageVerifier.java index 0b4f3b8abd..d165e1ca24 100644 --- a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/ExceptionThrowingMessageVerifier.java +++ b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/ExceptionThrowingMessageVerifier.java @@ -20,13 +20,14 @@ import java.util.Map; import java.util.concurrent.TimeUnit; import org.springframework.cloud.contract.verifier.converter.YamlContract; -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier; +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver; +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender; /** * @author Olga Maciaszek-Sharma * @since 2.1.0 */ -class ExceptionThrowingMessageVerifier implements MessageVerifier { +class ExceptionThrowingMessageVerifier implements MessageVerifierSender, MessageVerifierReceiver { private static final String EXCEPTION_MESSAGE = "Please provide a custom MessageVerifier to use this feature"; diff --git a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerExtension.java b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerExtension.java index 2fec1fa5ee..6c552c8ee1 100644 --- a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerExtension.java +++ b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerExtension.java @@ -43,7 +43,8 @@ import org.springframework.cloud.contract.stubrunner.StubNotFoundException; import org.springframework.cloud.contract.stubrunner.StubRunnerOptions; import org.springframework.cloud.contract.stubrunner.StubRunnerOptionsBuilder; import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties; -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier; +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver; +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender; /** * JUnit 5 extension that allows to download and run stubs. @@ -71,7 +72,9 @@ public class StubRunnerExtension implements BeforeAllCallback, AfterAllCallback, private StubRunnerOptionsBuilder stubRunnerOptionsBuilder = new StubRunnerOptionsBuilder( StubRunnerOptions.fromSystemProps()); - private MessageVerifier verifier = new ExceptionThrowingMessageVerifier(); + private MessageVerifierSender verifierSender = new ExceptionThrowingMessageVerifier(); + + private MessageVerifierReceiver verifierReceiver = new ExceptionThrowingMessageVerifier(); public StubRunnerExtension() { } @@ -121,7 +124,7 @@ public class StubRunnerExtension implements BeforeAllCallback, AfterAllCallback, } private void before() { - stubFinder(new BatchStubRunnerFactory(builder().build(), verifier()).buildBatchStubRunner()); + stubFinder(new BatchStubRunnerFactory(builder().build(), verifierSender()).buildBatchStubRunner()); stubFinder().runStubs(); } @@ -188,8 +191,14 @@ public class StubRunnerExtension implements BeforeAllCallback, AfterAllCallback, } @Override - public StubRunnerExtension messageVerifier(MessageVerifier messageVerifier) { - verifier(messageVerifier); + public StubRunnerExtension messageVerifierSender(MessageVerifierSender messageVerifier) { + verifierSender(messageVerifier); + return this.delegate; + } + + @Override + public StubRunnerExtension messageVerifierReceiver(MessageVerifierReceiver messageVerifier) { + verifierReceiver(messageVerifier); return this.delegate; } @@ -326,12 +335,20 @@ public class StubRunnerExtension implements BeforeAllCallback, AfterAllCallback, return this.delegate.stubRunnerOptionsBuilder; } - MessageVerifier verifier() { - return this.delegate.verifier; + MessageVerifierSender verifierSender() { + return this.delegate.verifierSender; } - void verifier(MessageVerifier verifier) { - this.delegate.verifier = verifier; + MessageVerifierReceiver verifierReceiver() { + return this.delegate.verifierReceiver; + } + + void verifierSender(MessageVerifierSender verifier) { + this.delegate.verifierSender = verifier; + } + + void verifierReceiver(MessageVerifierReceiver verifier) { + this.delegate.verifierReceiver = verifier; } /** diff --git a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerExtensionOptions.java b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerExtensionOptions.java index aa288e0b8b..d37386154e 100644 --- a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerExtensionOptions.java +++ b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerExtensionOptions.java @@ -22,7 +22,8 @@ import java.util.Map; import org.springframework.cloud.contract.stubrunner.HttpServerStubConfigurer; import org.springframework.cloud.contract.stubrunner.StubRunnerOptions; import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties; -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier; +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver; +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender; /** * @author Olga Maciaszek-Sharma @@ -31,13 +32,22 @@ import org.springframework.cloud.contract.verifier.messaging.MessageVerifier; interface StubRunnerExtensionOptions { /** - * Pass the {@link MessageVerifier} that this rule should use. If you don't pass + * Pass the {@link MessageVerifierSender} that this rule should use. If you don't pass * anything a {@link ExceptionThrowingMessageVerifier} will be used. That means that * an exception will be thrown whenever you try to do sth messaging related. * @param messageVerifier message verifier implementation * @return the stub runner extension */ - StubRunnerExtension messageVerifier(MessageVerifier messageVerifier); + StubRunnerExtension messageVerifierSender(MessageVerifierSender messageVerifier); + + /** + * Pass the {@link MessageVerifierReceiver} that this rule should use. If you don't + * pass anything a {@link ExceptionThrowingMessageVerifier} will be used. That means + * that an exception will be thrown whenever you try to do sth messaging related. + * @param messageVerifier message verifier implementation + * @return the stub runner extension + */ + StubRunnerExtension messageVerifierReceiver(MessageVerifierReceiver messageVerifier); /** * Override all options. diff --git a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerRule.java b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerRule.java index bfd29cbbe0..43eda0ddf5 100644 --- a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerRule.java +++ b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerRule.java @@ -36,7 +36,8 @@ import org.springframework.cloud.contract.stubrunner.StubFinder; import org.springframework.cloud.contract.stubrunner.StubRunnerOptions; import org.springframework.cloud.contract.stubrunner.StubRunnerOptionsBuilder; import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties; -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier; +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver; +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender; /** * JUnit class rule that allows you to download the provided stubs. @@ -54,7 +55,9 @@ public class StubRunnerRule implements TestRule, StubFinder, StubRunnerRuleOptio BatchStubRunner stubFinder; - MessageVerifier verifier = new ExceptionThrowingMessageVerifier(); + MessageVerifierSender verifierSender = new ExceptionThrowingMessageVerifier(); + + MessageVerifierReceiver verifierReceiver = new ExceptionThrowingMessageVerifier(); StubRunnerRule delegate = this; @@ -76,14 +79,20 @@ public class StubRunnerRule implements TestRule, StubFinder, StubRunnerRuleOptio } private void before() { - stubFinder(new BatchStubRunnerFactory(builder().build(), verifier()).buildBatchStubRunner()); + stubFinder(new BatchStubRunnerFactory(builder().build(), verifierSender()).buildBatchStubRunner()); StubRunnerRule.this.stubFinder().runStubs(); } }; } @Override - public StubRunnerRule messageVerifier(MessageVerifier messageVerifier) { + public StubRunnerRule messageVerifierSender(MessageVerifierSender messageVerifier) { + verifier(messageVerifier); + return this.delegate; + } + + @Override + public StubRunnerRule messageVerifierReceiver(MessageVerifierReceiver messageVerifier) { verifier(messageVerifier); return this.delegate; } @@ -270,12 +279,20 @@ public class StubRunnerRule implements TestRule, StubFinder, StubRunnerRuleOptio this.delegate.stubFinder = stubFinder; } - MessageVerifier verifier() { - return this.delegate.verifier; + MessageVerifierSender verifierSender() { + return this.delegate.verifierSender; } - void verifier(MessageVerifier verifier) { - this.delegate.verifier = verifier; + MessageVerifierReceiver verifierReceiver() { + return this.delegate.verifierReceiver; + } + + void verifier(MessageVerifierSender verifier) { + this.delegate.verifierSender = verifier; + } + + void verifier(MessageVerifierReceiver verifier) { + this.delegate.verifierReceiver = verifier; } StubRunnerOptionsBuilder builder() { diff --git a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerRuleOptions.java b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerRuleOptions.java index 19d2761b21..fcaca8ece4 100644 --- a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerRuleOptions.java +++ b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerRuleOptions.java @@ -22,18 +22,28 @@ import java.util.Map; import org.springframework.cloud.contract.stubrunner.HttpServerStubConfigurer; import org.springframework.cloud.contract.stubrunner.StubRunnerOptions; import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties; -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier; +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver; +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender; interface StubRunnerRuleOptions { /** - * Pass the {@link MessageVerifier} that this rule should use. If you don't pass + * Pass the {@link MessageVerifierSender} that this rule should use. If you don't pass * anything a {@link ExceptionThrowingMessageVerifier} will be used. That means that * an exception will be thrown whenever you try to do sth messaging related. * @param messageVerifier message verifier implementation * @return the rule */ - StubRunnerRule messageVerifier(MessageVerifier messageVerifier); + StubRunnerRule messageVerifierSender(MessageVerifierSender messageVerifier); + + /** + * Pass the {@link MessageVerifierReceiver} that this rule should use. If you don't + * pass anything a {@link ExceptionThrowingMessageVerifier} will be used. That means + * that an exception will be thrown whenever you try to do sth messaging related. + * @param messageVerifier message verifier implementation + * @return the rule + */ + StubRunnerRule messageVerifierReceiver(MessageVerifierReceiver messageVerifier); /** * Override all options. diff --git a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/StubRunnerConfiguration.java b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/StubRunnerConfiguration.java index 0c3cb2772c..f1adffd33e 100644 --- a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/StubRunnerConfiguration.java +++ b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/StubRunnerConfiguration.java @@ -34,7 +34,6 @@ import org.springframework.cloud.contract.stubrunner.StubDownloaderBuilderProvid import org.springframework.cloud.contract.stubrunner.StubRunnerOptions; import org.springframework.cloud.contract.stubrunner.StubRunnerOptionsBuilder; import org.springframework.cloud.contract.verifier.converter.YamlContract; -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier; import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver; import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender; import org.springframework.cloud.contract.verifier.messaging.noop.NoOpStubMessages; @@ -158,7 +157,7 @@ public class StubRunnerConfiguration { } @SuppressWarnings("unchecked") -class LazyMessageVerifier implements MessageVerifier { +class LazyMessageVerifier implements MessageVerifierSender, MessageVerifierReceiver { private MessageVerifierSender messageVerifierSender; diff --git a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutorSpec.groovy b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutorSpec.groovy index 3272d52766..703c2127f2 100644 --- a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutorSpec.groovy +++ b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/StubRunnerExecutorSpec.groovy @@ -23,7 +23,8 @@ import spock.lang.Specification import org.springframework.cloud.contract.stubrunner.util.StubsParser import org.springframework.cloud.contract.verifier.converter.YamlContract -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender import org.springframework.cloud.test.TestSocketUtils class StubRunnerExecutorSpec extends Specification { @@ -164,7 +165,7 @@ class StubRunnerExecutorSpec extends Specification { executor.shutdown() } - class MockMessageVerifier implements MessageVerifier { + class MockMessageVerifier implements MessageVerifierSender, MessageVerifierReceiver { boolean called @@ -199,7 +200,7 @@ class StubRunnerExecutorSpec extends Specification { } } - private class AssertingStubMessages implements MessageVerifier { + private class AssertingStubMessages implements MessageVerifierSender, MessageVerifierReceiver { @Override void send(Object message, String destination, YamlContract contract) { diff --git a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/junit4/StubRunnerRuleCustomMsgVerifierSpec.groovy b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/junit4/StubRunnerRuleCustomMsgVerifierSpec.groovy index f08a9cd428..8b553e51cf 100644 --- a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/junit4/StubRunnerRuleCustomMsgVerifierSpec.groovy +++ b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/junit4/StubRunnerRuleCustomMsgVerifierSpec.groovy @@ -27,8 +27,8 @@ import spock.lang.Specification import org.springframework.cloud.contract.stubrunner.junit.StubRunnerRule import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties import org.springframework.cloud.contract.verifier.converter.YamlContract -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier - +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender /** * @author Marcin Grzejszczak */ @@ -47,7 +47,8 @@ class StubRunnerRuleCustomMsgVerifierSpec extends Specification { .stubsMode(StubRunnerProperties.StubsMode.REMOTE) .repoRoot(StubRunnerRuleCustomMsgVerifierSpec.getResource("/m2repo/repository").toURI().toString()) .downloadStub("org.springframework.cloud.contract.verifier.stubs", "bootService") - .messageVerifier(new MyMessageVerifier()) + .messageVerifierSender(new MyMessageVerifier()) + .messageVerifierReceiver(new MyMessageVerifier()) def 'should use the provided message verifier in the junit rule'() { when: @@ -67,7 +68,7 @@ class StubRunnerRuleCustomMsgVerifierSpec extends Specification { e.message.contains("Failed to send a message with headers") } - static class MyMessageVerifier implements MessageVerifier { + static class MyMessageVerifier implements MessageVerifierSender, MessageVerifierReceiver { @Override void send(Object message, String destination, YamlContract contract) { diff --git a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/StubRunnerStubsPerConsumerSpec.groovy b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/StubRunnerStubsPerConsumerSpec.groovy index 2d928c339e..eed4c8cf0b 100644 --- a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/StubRunnerStubsPerConsumerSpec.groovy +++ b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/StubRunnerStubsPerConsumerSpec.groovy @@ -29,7 +29,8 @@ import org.springframework.boot.test.web.client.TestRestTemplate import org.springframework.cloud.contract.stubrunner.StubFinder import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender import org.springframework.cloud.stream.binder.test.TestChannelBinderConfiguration import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration @@ -37,7 +38,6 @@ import org.springframework.core.env.Environment import org.springframework.http.ResponseEntity import org.springframework.messaging.Message import org.springframework.test.context.ActiveProfiles - /** * @author Marcin Grzejszczak */ @@ -56,7 +56,7 @@ class StubRunnerStubsPerConsumerSpec { @Autowired Environment environment @Autowired - MessageVerifier> messaging + MessageVerifierReceiver> messaging TestRestTemplate template = new TestRestTemplate() @Test diff --git a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/StubRunnerStubsPerConsumerWithConsumerNameSpec.groovy b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/StubRunnerStubsPerConsumerWithConsumerNameSpec.groovy index a2eab7e182..f39fdf111a 100644 --- a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/StubRunnerStubsPerConsumerWithConsumerNameSpec.groovy +++ b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/StubRunnerStubsPerConsumerWithConsumerNameSpec.groovy @@ -20,7 +20,6 @@ import java.util.function.Function import org.assertj.core.api.BDDAssertions import org.junit.jupiter.api.Test -import spock.lang.Specification import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.autoconfigure.EnableAutoConfiguration @@ -30,7 +29,7 @@ import org.springframework.boot.test.web.client.TestRestTemplate import org.springframework.cloud.contract.stubrunner.StubFinder import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver import org.springframework.cloud.stream.binder.test.TestChannelBinderConfiguration import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration @@ -57,7 +56,7 @@ class StubRunnerStubsPerConsumerWithConsumerNameSpec { @Autowired Environment environment @Autowired - MessageVerifier> messaging + MessageVerifierReceiver> messaging TestRestTemplate template = new TestRestTemplate() diff --git a/spring-cloud-contract-stub-runner/src/test/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerJUnit5ExtensionCustomMessageVerifierTests.java b/spring-cloud-contract-stub-runner/src/test/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerJUnit5ExtensionCustomMessageVerifierTests.java index 6e78324a4b..7f1491f826 100644 --- a/spring-cloud-contract-stub-runner/src/test/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerJUnit5ExtensionCustomMessageVerifierTests.java +++ b/spring-cloud-contract-stub-runner/src/test/java/org/springframework/cloud/contract/stubrunner/junit/StubRunnerJUnit5ExtensionCustomMessageVerifierTests.java @@ -27,7 +27,8 @@ import org.junit.jupiter.api.extension.RegisterExtension; import org.springframework.cloud.contract.stubrunner.junit4.StubRunnerRuleCustomPortJUnitTest; import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties; import org.springframework.cloud.contract.verifier.converter.YamlContract; -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier; +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver; +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertThrows; @@ -43,7 +44,7 @@ class StubRunnerJUnit5ExtensionCustomMessageVerifierTests { static StubRunnerExtension stubRunnerExtension = new StubRunnerExtension() .stubsMode(StubRunnerProperties.StubsMode.REMOTE).repoRoot(repoRoot()) .downloadStub("org.springframework.cloud.contract.verifier.stubs", "bootService") - .messageVerifier(new MyMessageVerifier()); + .messageVerifierSender(new MyMessageVerifier()).messageVerifierReceiver(new MyMessageVerifier()); @BeforeAll @AfterAll @@ -74,7 +75,7 @@ class StubRunnerJUnit5ExtensionCustomMessageVerifierTests { assertThat(wrongLabelWithIvyNotation.getMessage()).contains("Failed to send a message with headers"); } - static class MyMessageVerifier implements MessageVerifier { + static class MyMessageVerifier implements MessageVerifierSender, MessageVerifierReceiver { @Override public void send(Object message, String destination, YamlContract contract) { diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/MessageVerifier.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/MessageVerifier.java deleted file mode 100644 index a0f7fce81d..0000000000 --- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/MessageVerifier.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2013-2020 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.cloud.contract.verifier.messaging; - -/** - * Core interface that allows you to build, send and receive messages. - * - * Destination is relevant to the underlying implementation. Might be a channel, queue, - * topic etc. - * - * @param message type - * @author Marcin Grzejszczak - * @since 1.0.0 - */ -public interface MessageVerifier extends MessageVerifierSender, MessageVerifierReceiver { - -} diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/CamelStubMessages.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/CamelStubMessages.java index 22b57e5def..5bfced70d7 100644 --- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/CamelStubMessages.java +++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/CamelStubMessages.java @@ -29,14 +29,15 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.contract.verifier.converter.YamlContract; -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier; +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver; +import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender; import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierMessageMetadata; import org.springframework.util.StringUtils; /** * @author Marcin Grzejszczak */ -public class CamelStubMessages implements MessageVerifier { +public class CamelStubMessages implements MessageVerifierSender, MessageVerifierReceiver { private static final Logger log = LoggerFactory.getLogger(CamelStubMessages.class); diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/ContractVerifierIntegrationConfiguration.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/ContractVerifierIntegrationConfiguration.java index 9951e3813a..88bd077f02 100644 --- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/ContractVerifierIntegrationConfiguration.java +++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/ContractVerifierIntegrationConfiguration.java @@ -50,7 +50,8 @@ public class ContractVerifierIntegrationConfiguration { @ConditionalOnMissingBean(MessageVerifierSender.class) public MessageVerifierSender> integrationContractVerifierMessageSender( ApplicationContext applicationContext) { - SpringIntegrationStubMessages springIntegrationStubMessages = new SpringIntegrationStubMessages(applicationContext); + SpringIntegrationStubMessages springIntegrationStubMessages = new SpringIntegrationStubMessages( + applicationContext); return new MessageVerifierSender<>() { @Override public void send(Message message, String destination, @Nullable YamlContract contract) { @@ -58,7 +59,8 @@ public class ContractVerifierIntegrationConfiguration { } @Override - public void send(T payload, Map headers, String destination, @Nullable YamlContract contract) { + public void send(T payload, Map headers, String destination, + @Nullable YamlContract contract) { springIntegrationStubMessages.send(payload, headers, destination, contract); } }; @@ -68,10 +70,12 @@ public class ContractVerifierIntegrationConfiguration { @ConditionalOnMissingBean(MessageVerifierReceiver.class) public MessageVerifierReceiver> integrationContractVerifierMessageReceiver( ApplicationContext applicationContext) { - SpringIntegrationStubMessages springIntegrationStubMessages = new SpringIntegrationStubMessages(applicationContext); + SpringIntegrationStubMessages springIntegrationStubMessages = new SpringIntegrationStubMessages( + applicationContext); return new MessageVerifierReceiver<>() { @Override - public Message receive(String destination, long timeout, TimeUnit timeUnit, @Nullable YamlContract contract) { + public Message receive(String destination, long timeout, TimeUnit timeUnit, + @Nullable YamlContract contract) { return springIntegrationStubMessages.receive(destination, timeout, timeUnit, contract); } diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/SpringIntegrationStubMessages.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/SpringIntegrationStubMessages.java index 83921a248c..af1312b748 100644 --- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/SpringIntegrationStubMessages.java +++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/integration/SpringIntegrationStubMessages.java @@ -23,7 +23,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.cloud.contract.verifier.converter.YamlContract; -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier; import org.springframework.context.ApplicationContext; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; @@ -32,7 +31,9 @@ import org.springframework.messaging.PollableChannel; /** * @author Marcin Grzejszczak */ -public class SpringIntegrationStubMessages implements MessageVerifier> { +public class SpringIntegrationStubMessages + implements org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender>, + org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver> { private static final Log log = LogFactory.getLog(SpringIntegrationStubMessages.class); diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/internal/ContractVerifierMessaging.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/internal/ContractVerifierMessaging.java index f7737e4923..886b1a3eda 100644 --- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/internal/ContractVerifierMessaging.java +++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/internal/ContractVerifierMessaging.java @@ -24,14 +24,13 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.cloud.contract.verifier.converter.YamlContract; -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier; import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver; import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender; /** * Wrapper around messaging. Abstracts all message related operations like sending, * converting and receiving. Delegates the actual work to an implementation of a - * {@link MessageVerifier}. + * {@link MessageVerifierSender} and {@link MessageVerifierReceiver}. * * @param message type * @author Dave Syer diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/jms/ContractVerifierJmsConfiguration.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/jms/ContractVerifierJmsConfiguration.java index 57794c83ce..feb9b65f3b 100644 --- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/jms/ContractVerifierJmsConfiguration.java +++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/jms/ContractVerifierJmsConfiguration.java @@ -67,7 +67,8 @@ public class ContractVerifierJmsConfiguration { } @Override - public void send(T payload, Map headers, String destination, @Nullable YamlContract contract) { + public void send(T payload, Map headers, String destination, + @Nullable YamlContract contract) { jmsStubMessages.send(payload, headers, destination, contract); } }; @@ -81,7 +82,8 @@ public class ContractVerifierJmsConfiguration { JmsStubMessages jmsStubMessages = new JmsStubMessages(jmsTemplate); return new MessageVerifierReceiver<>() { @Override - public Message receive(String destination, long timeout, TimeUnit timeUnit, @Nullable YamlContract contract) { + public Message receive(String destination, long timeout, TimeUnit timeUnit, + @Nullable YamlContract contract) { return jmsStubMessages.receive(destination, timeout, timeUnit, contract); } diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/jms/JmsStubMessages.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/jms/JmsStubMessages.java index 228a0e52a5..fe5eca5aea 100644 --- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/jms/JmsStubMessages.java +++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/jms/JmsStubMessages.java @@ -27,11 +27,11 @@ import jakarta.jms.Message; import jakarta.jms.Session; import org.springframework.cloud.contract.verifier.converter.YamlContract; -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier; import org.springframework.jms.core.JmsTemplate; import org.springframework.jms.core.MessagePostProcessor; -class JmsStubMessages implements MessageVerifier { +class JmsStubMessages implements org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender, + org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver { private final JmsTemplate jmsTemplate; diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpContractVerifierAutoConfiguration.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpContractVerifierAutoConfiguration.java index 55f29d39d3..66547f79d7 100644 --- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpContractVerifierAutoConfiguration.java +++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpContractVerifierAutoConfiguration.java @@ -55,7 +55,8 @@ public class NoOpContractVerifierAutoConfiguration { } @Override - public void send(T payload, Map headers, String destination, @Nullable YamlContract contract) { + public void send(T payload, Map headers, String destination, + @Nullable YamlContract contract) { noOpStubMessages.send(payload, headers, destination, contract); } }; @@ -68,7 +69,8 @@ public class NoOpContractVerifierAutoConfiguration { return new MessageVerifierReceiver<>() { @Override - public Object receive(String destination, long timeout, TimeUnit timeUnit, @Nullable YamlContract contract) { + public Object receive(String destination, long timeout, TimeUnit timeUnit, + @Nullable YamlContract contract) { return noOpStubMessages.receive(destination, timeout, timeUnit, contract); } diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpStubMessages.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpStubMessages.java index 2294fa15da..ae3fe87b17 100644 --- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpStubMessages.java +++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/noop/NoOpStubMessages.java @@ -20,12 +20,13 @@ import java.util.Map; import java.util.concurrent.TimeUnit; import org.springframework.cloud.contract.verifier.converter.YamlContract; -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier; /** * @author Marcin Grzejszczak */ -public class NoOpStubMessages implements MessageVerifier { +public class NoOpStubMessages + implements org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender, + org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver { @Override public void send(U message, String destination, YamlContract contract) { diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierStreamAutoConfiguration.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierStreamAutoConfiguration.java index 4e41661666..301436442a 100644 --- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierStreamAutoConfiguration.java +++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierStreamAutoConfiguration.java @@ -72,7 +72,8 @@ public class ContractVerifierStreamAutoConfiguration { } @Override - public void send(T payload, Map headers, String destination, @Nullable YamlContract contract) { + public void send(T payload, Map headers, String destination, + @Nullable YamlContract contract) { stubMessages.send(payload, headers, destination, contract); } }; @@ -86,7 +87,8 @@ public class ContractVerifierStreamAutoConfiguration { new StreamOutputDestinationMessageReceiver(context)); return new MessageVerifierReceiver<>() { @Override - public Message receive(String destination, long timeout, TimeUnit timeUnit, @Nullable YamlContract contract) { + public Message receive(String destination, long timeout, TimeUnit timeUnit, + @Nullable YamlContract contract) { return stubMessages.receive(destination, timeout, timeUnit, contract); } diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/StreamStubMessages.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/StreamStubMessages.java index 30e9f0c135..978c5293ac 100644 --- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/StreamStubMessages.java +++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/stream/StreamStubMessages.java @@ -20,7 +20,6 @@ import java.util.Map; import java.util.concurrent.TimeUnit; import org.springframework.cloud.contract.verifier.converter.YamlContract; -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier; import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver; import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender; import org.springframework.messaging.Message; @@ -28,7 +27,7 @@ import org.springframework.messaging.Message; /** * @author Marcin Grzejszczak */ -public class StreamStubMessages implements MessageVerifier> { +public class StreamStubMessages implements MessageVerifierSender>, MessageVerifierReceiver> { private final MessageVerifierSender> sender; diff --git a/tests/samples-messaging-camel/src/test/groovy/com/example/CamelMessagingApplicationSpec.groovy b/tests/samples-messaging-camel/src/test/groovy/com/example/CamelMessagingApplicationSpec.groovy index 8a4d5aaead..96702d9001 100644 --- a/tests/samples-messaging-camel/src/test/groovy/com/example/CamelMessagingApplicationSpec.groovy +++ b/tests/samples-messaging-camel/src/test/groovy/com/example/CamelMessagingApplicationSpec.groovy @@ -21,7 +21,6 @@ import javax.inject.Inject import com.jayway.jsonpath.DocumentContext import com.jayway.jsonpath.JsonPath import com.toomuchcoding.jsonassert.JsonAssertion -import org.apache.camel.Message import org.apache.camel.model.ModelCamelContext import org.junit.jupiter.api.Test import org.testcontainers.containers.RabbitMQContainer @@ -31,8 +30,8 @@ import org.testcontainers.junit.jupiter.Testcontainers import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootTest import org.springframework.cloud.contract.spec.Contract -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureMessageVerifier +import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierMessaging import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierObjectMapper import org.springframework.test.context.DynamicPropertyRegistry import org.springframework.test.context.DynamicPropertySource @@ -49,7 +48,7 @@ class CamelMessagingApplicationSpec { @Autowired ModelCamelContext camelContext @Inject - MessageVerifier contractVerifierMessaging + ContractVerifierMessaging contractVerifierMessaging ContractVerifierObjectMapper contractVerifierObjectMapper = new ContractVerifierObjectMapper() @@ -87,7 +86,7 @@ class CamelMessagingApplicationSpec { assert response.headers.get('BOOK-NAME') == 'foo' and: DocumentContext parsedJson = JsonPath. - parse(contractVerifierObjectMapper.writeValueAsString(response.body)) + parse(contractVerifierObjectMapper.writeValueAsString(response.getPayload())) JsonAssertion.assertThat(parsedJson).field('bookName').isEqualTo('foo') } diff --git a/tests/samples-messaging-integration/src/test/groovy/com/example/IntegrationMessagingApplicationSpec.groovy b/tests/samples-messaging-integration/src/test/groovy/com/example/IntegrationMessagingApplicationSpec.groovy index ded75ceae3..b67f332f2c 100644 --- a/tests/samples-messaging-integration/src/test/groovy/com/example/IntegrationMessagingApplicationSpec.groovy +++ b/tests/samples-messaging-integration/src/test/groovy/com/example/IntegrationMessagingApplicationSpec.groovy @@ -22,13 +22,12 @@ import com.jayway.jsonpath.DocumentContext import com.jayway.jsonpath.JsonPath import com.toomuchcoding.jsonassert.JsonAssertion import org.junit.jupiter.api.Test -import spock.lang.Specification import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootTest import org.springframework.cloud.contract.spec.Contract -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureMessageVerifier +import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierMessaging import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierObjectMapper import org.springframework.messaging.Message @@ -39,7 +38,7 @@ class IntegrationMessagingApplicationSpec { // ALL CASES @Inject - MessageVerifier> contractVerifierMessaging + ContractVerifierMessaging> contractVerifierMessaging ContractVerifierObjectMapper contractVerifierObjectMapper = new ContractVerifierObjectMapper() @Test diff --git a/tests/samples-messaging-jms/src/test/groovy/com/example/JmsMessagingApplicationSpec.groovy b/tests/samples-messaging-jms/src/test/groovy/com/example/JmsMessagingApplicationSpec.groovy index 1cc460b992..06b6604de2 100644 --- a/tests/samples-messaging-jms/src/test/groovy/com/example/JmsMessagingApplicationSpec.groovy +++ b/tests/samples-messaging-jms/src/test/groovy/com/example/JmsMessagingApplicationSpec.groovy @@ -23,22 +23,18 @@ import com.jayway.jsonpath.JsonPath import com.toomuchcoding.jsonassert.JsonAssertion import jakarta.jms.JMSException import jakarta.jms.Message -import org.awaitility.Awaitility import org.junit.jupiter.api.BeforeAll import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootTest import org.springframework.cloud.contract.spec.Contract -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureMessageVerifier import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierMessage import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierMessaging import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierObjectMapper import org.springframework.jms.core.JmsTemplate import org.springframework.jms.core.MessagePostProcessor -import org.springframework.test.annotation.DirtiesContext - /** * SPIKE ON TESTS FROM NOTES IN MessagingSpec */ @@ -51,8 +47,6 @@ class JmsMessagingApplicationSpec { @Autowired JmsTemplate jmsTemplate @Inject - MessageVerifier messageVerifier - @Inject ContractVerifierMessaging contractVerifierMessaging @Inject ContractVerifierObjectMapper contractVerifierObjectMapper diff --git a/tests/spring-cloud-contract-stub-runner-integration/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/integration/IntegrationStubRunnerSpec.groovy b/tests/spring-cloud-contract-stub-runner-integration/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/integration/IntegrationStubRunnerSpec.groovy index a5efcca2fd..d26936df1e 100644 --- a/tests/spring-cloud-contract-stub-runner-integration/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/integration/IntegrationStubRunnerSpec.groovy +++ b/tests/spring-cloud-contract-stub-runner-integration/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/integration/IntegrationStubRunnerSpec.groovy @@ -32,7 +32,7 @@ import org.springframework.boot.test.context.SpringBootTest import org.springframework.cloud.contract.spec.Contract import org.springframework.cloud.contract.stubrunner.StubFinder import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner -import org.springframework.cloud.contract.verifier.messaging.integration.SpringIntegrationStubMessages +import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierMessaging import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Configuration import org.springframework.context.annotation.ImportResource @@ -49,7 +49,7 @@ class IntegrationStubRunnerSpec { @Autowired StubFinder stubFinder @Autowired - SpringIntegrationStubMessages messaging + ContractVerifierMessaging messaging @BeforeEach void setup() { diff --git a/tests/spring-cloud-contract-stub-runner-stream/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/stream/StreamStubRunnerSpec.groovy b/tests/spring-cloud-contract-stub-runner-stream/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/stream/StreamStubRunnerSpec.groovy index cca62de6e8..98b956ac1d 100644 --- a/tests/spring-cloud-contract-stub-runner-stream/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/stream/StreamStubRunnerSpec.groovy +++ b/tests/spring-cloud-contract-stub-runner-stream/src/test/groovy/org/springframework/cloud/contract/stubrunner/messaging/stream/StreamStubRunnerSpec.groovy @@ -16,7 +16,6 @@ package org.springframework.cloud.contract.stubrunner.messaging.stream - import java.util.function.Function import groovy.json.JsonOutput @@ -33,8 +32,8 @@ import org.springframework.boot.test.context.SpringBootTest import org.springframework.cloud.contract.spec.Contract import org.springframework.cloud.contract.stubrunner.StubFinder import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner -import org.springframework.cloud.contract.verifier.messaging.MessageVerifier import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureMessageVerifier +import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierMessaging import org.springframework.cloud.stream.binder.test.TestChannelBinderConfiguration import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration @@ -53,7 +52,7 @@ class StreamStubRunnerSpec { @Autowired StubFinder stubFinder @Autowired - MessageVerifier> messaging + ContractVerifierMessaging> messaging @Test void 'should trigger a message by label'() {