From 8cf9dc8252f4efeb253da0f7c6100d45311933b2 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Fri, 9 Nov 2018 20:33:05 +0100 Subject: [PATCH] Added a guard against npe in camel --- .../ContractVerifierCamelMessageBuilder.java | 4 +++- ...ractVerifierCamelMessageBuilderSpec.groovy | 21 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelMessageBuilderSpec.groovy diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelMessageBuilder.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelMessageBuilder.java index bd17e1991a..0a240b5e0f 100644 --- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelMessageBuilder.java +++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelMessageBuilder.java @@ -36,7 +36,9 @@ class ContractVerifierCamelMessageBuilder { public Message create(T payload, Map headers) { DefaultMessage message = new DefaultMessage(this.context); message.setBody(payload); - message.setHeaders(headers); + if (headers != null) { + message.setHeaders(headers); + } return message; } diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelMessageBuilderSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelMessageBuilderSpec.groovy new file mode 100644 index 0000000000..cb354d8316 --- /dev/null +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/messaging/camel/ContractVerifierCamelMessageBuilderSpec.groovy @@ -0,0 +1,21 @@ +package org.springframework.cloud.contract.verifier.messaging.camel + +import org.apache.camel.CamelContext +import org.apache.camel.impl.DefaultCamelContext +import spock.lang.Specification + +/** + * @author Marcin Grzejszczak + * @since + */ +class ContractVerifierCamelMessageBuilderSpec extends Specification { + def "should not throw an exception when headers are null"() { + given: + CamelContext camelContext = new DefaultCamelContext() + ContractVerifierCamelMessageBuilder builder = new ContractVerifierCamelMessageBuilder(camelContext) + when: + builder.create(null, null) + then: + noExceptionThrown() + } +}