diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/internal/ContractVerifierMessage.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/internal/ContractVerifierMessage.java index d04958e4e2..b164325cd6 100644 --- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/internal/ContractVerifierMessage.java +++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/internal/ContractVerifierMessage.java @@ -37,7 +37,7 @@ public class ContractVerifierMessage { public ContractVerifierMessage(Object payload, Map headers) { this.payload = payload; - if (headers!=null) { + if (headers != null) { this.headers.putAll(headers); } } 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 24baf34d7e..10306bac66 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 @@ -30,6 +30,7 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.messaging.Message; +import org.springframework.util.Assert; /** * @author Marcin Grzejszczak @@ -64,6 +65,7 @@ class ContractVerifierHelper extends ContractVerifierMessaging> { @Override protected ContractVerifierMessage convert(Message receive) { + Assert.notNull(receive, "Message must not be null!"); return new ContractVerifierMessage(receive.getPayload(), receive.getHeaders()); } } diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierHelperForStreamTest.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierHelperForStreamTest.groovy new file mode 100644 index 0000000000..ecfbe463a4 --- /dev/null +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/messaging/stream/ContractVerifierHelperForStreamTest.groovy @@ -0,0 +1,19 @@ +package org.springframework.cloud.contract.verifier.messaging.stream + +import spock.lang.Specification + +/** + * @author Marcin Grzejszczak + */ +class ContractVerifierHelperForStreamTest extends Specification { + + def 'should throw exception when a null payload was sent'() { + given: + ContractVerifierHelper helper = new ContractVerifierHelper(null) + when: + helper.convert(null) + then: + IllegalArgumentException e = thrown(IllegalArgumentException) + e.message.contains("Message must not be null") + } +}