From 46ea4a2501307415b1ff26843b9266198431c7d3 Mon Sep 17 00:00:00 2001 From: Madhura Bhave Date: Tue, 27 Aug 2019 08:39:55 +0530 Subject: [PATCH] isPublisherConfirms in RabbitProperties should not throw NPE Fixes gh-17967 --- .../autoconfigure/amqp/RabbitProperties.java | 2 +- .../amqp/RabbitPropertiesTests.java | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitProperties.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitProperties.java index 615ef47158..c8c6283c37 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitProperties.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitProperties.java @@ -278,7 +278,7 @@ public class RabbitProperties { @DeprecatedConfigurationProperty(reason = "replaced to support additional confirm types", replacement = "spring.rabbitmq.publisher-confirm-type") public boolean isPublisherConfirms() { - return this.publisherConfirmType.equals(ConfirmType.CORRELATED); + return ConfirmType.CORRELATED.equals(this.publisherConfirmType); } @Deprecated diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/amqp/RabbitPropertiesTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/amqp/RabbitPropertiesTests.java index 25b6ac8db2..61705b5f24 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/amqp/RabbitPropertiesTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/amqp/RabbitPropertiesTests.java @@ -20,6 +20,7 @@ import org.junit.jupiter.api.Test; import org.springframework.amqp.rabbit.config.DirectRabbitListenerContainerFactory; import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory; +import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; import org.springframework.amqp.rabbit.listener.DirectMessageListenerContainer; import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer; @@ -240,4 +241,24 @@ class RabbitPropertiesTests { assertThat(container).hasFieldOrPropertyWithValue("missingQueuesFatal", direct.isMissingQueuesFatal()); } + @Test + @Deprecated + void isPublisherConfirmsShouldDefaultToFalse() { + assertThat(this.properties.isPublisherConfirms()).isEqualTo(false); + } + + @Test + @Deprecated + void isPublisherConfirmsWhenPublisherConfirmsTypeSimpleShouldBeFalse() { + this.properties.setPublisherConfirmType(CachingConnectionFactory.ConfirmType.SIMPLE); + assertThat(this.properties.isPublisherConfirms()).isEqualTo(false); + } + + @Test + @Deprecated + void isPublisherConfirmsWhenPublisherConfirmsTypeCorrelatedShouldBeTrue() { + this.properties.setPublisherConfirmType(CachingConnectionFactory.ConfirmType.CORRELATED); + assertThat(this.properties.isPublisherConfirms()).isEqualTo(true); + } + }