From f7780b4fefbeb56ff72ccb33697db77542e7ade0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Wed, 17 Jul 2024 09:46:15 +0200 Subject: [PATCH] Polish --- .../jms/JmsAutoConfigurationTests.java | 51 ++++++++++++++----- 1 file changed, 37 insertions(+), 14 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/JmsAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/JmsAutoConfigurationTests.java index 10f8db9f5400..f6bbca9d1bd6 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/JmsAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/JmsAutoConfigurationTests.java @@ -44,6 +44,7 @@ import org.springframework.jms.config.JmsListenerContainerFactory; import org.springframework.jms.config.JmsListenerEndpoint; import org.springframework.jms.config.SimpleJmsListenerContainerFactory; +import org.springframework.jms.config.SimpleJmsListenerEndpoint; import org.springframework.jms.connection.CachingConnectionFactory; import org.springframework.jms.core.JmsMessagingTemplate; import org.springframework.jms.core.JmsTemplate; @@ -72,20 +73,18 @@ class JmsAutoConfigurationTests { @Test void testDefaultJmsConfiguration() { - this.contextRunner.withUserConfiguration(TestConfiguration.class).run(this::testDefaultJmsConfiguration); - } - - private void testDefaultJmsConfiguration(AssertableApplicationContext loaded) { - assertThat(loaded).hasSingleBean(ConnectionFactory.class); - assertThat(loaded).hasSingleBean(CachingConnectionFactory.class); - CachingConnectionFactory factory = loaded.getBean(CachingConnectionFactory.class); - assertThat(factory.getTargetConnectionFactory()).isInstanceOf(ActiveMQConnectionFactory.class); - JmsTemplate jmsTemplate = loaded.getBean(JmsTemplate.class); - JmsMessagingTemplate messagingTemplate = loaded.getBean(JmsMessagingTemplate.class); - assertThat(factory).isEqualTo(jmsTemplate.getConnectionFactory()); - assertThat(messagingTemplate.getJmsTemplate()).isEqualTo(jmsTemplate); - assertThat(getBrokerUrl(factory)).startsWith("vm://"); - assertThat(loaded.containsBean("jmsListenerContainerFactory")).isTrue(); + this.contextRunner.withUserConfiguration(TestConfiguration.class).run((context) -> { + assertThat(context).hasSingleBean(ConnectionFactory.class); + assertThat(context).hasSingleBean(CachingConnectionFactory.class); + CachingConnectionFactory factory = context.getBean(CachingConnectionFactory.class); + assertThat(factory.getTargetConnectionFactory()).isInstanceOf(ActiveMQConnectionFactory.class); + JmsTemplate jmsTemplate = context.getBean(JmsTemplate.class); + JmsMessagingTemplate messagingTemplate = context.getBean(JmsMessagingTemplate.class); + assertThat(factory).isEqualTo(jmsTemplate.getConnectionFactory()); + assertThat(messagingTemplate.getJmsTemplate()).isEqualTo(jmsTemplate); + assertThat(getBrokerUrl(factory)).startsWith("vm://"); + assertThat(context.containsBean("jmsListenerContainerFactory")).isTrue(); + }); } @Test @@ -124,6 +123,30 @@ private void testJmsTemplateBackOffEverything(AssertableApplicationContext loade assertThat(messagingTemplate.getJmsTemplate()).isEqualTo(jmsTemplate); } + @Test + void testDefaultJmsListenerConfiguration() { + this.contextRunner.withUserConfiguration(TestConfiguration.class).run((loaded) -> { + assertThat(loaded).hasSingleBean(CachingConnectionFactory.class); + CachingConnectionFactory connectionFactory = loaded.getBean(CachingConnectionFactory.class); + assertThat(loaded).hasSingleBean(DefaultJmsListenerContainerFactory.class); + DefaultJmsListenerContainerFactory containerFactory = loaded + .getBean(DefaultJmsListenerContainerFactory.class); + SimpleJmsListenerEndpoint jmsListenerEndpoint = new SimpleJmsListenerEndpoint(); + jmsListenerEndpoint.setMessageListener((message) -> { + }); + DefaultMessageListenerContainer container = containerFactory.createListenerContainer(jmsListenerEndpoint); + assertThat(container.getClientId()).isNull(); + assertThat(container.getConcurrentConsumers()).isEqualTo(1); + assertThat(container.getConnectionFactory()).isSameAs(connectionFactory); + assertThat(container.getMaxConcurrentConsumers()).isEqualTo(1); + assertThat(container.getSessionAcknowledgeMode()).isEqualTo(Session.AUTO_ACKNOWLEDGE); + assertThat(container.isAutoStartup()).isTrue(); + assertThat(container.isPubSubDomain()).isFalse(); + assertThat(container.isSubscriptionDurable()).isFalse(); + assertThat(container).hasFieldOrPropertyWithValue("receiveTimeout", 1000L); + }); + } + @Test void testEnableJmsCreateDefaultContainerFactory() { this.contextRunner.withUserConfiguration(EnableJmsConfiguration.class)