33
44package com .azure .spring .cloud .autoconfigure .implementation .jms ;
55
6+ import com .azure .servicebus .jms .ServiceBusJmsConnectionFactory ;
67import com .azure .spring .cloud .autoconfigure .implementation .context .properties .AzureGlobalProperties ;
78import com .azure .spring .cloud .autoconfigure .implementation .jms .properties .AzureServiceBusJmsProperties ;
89import com .azure .spring .cloud .core .provider .connectionstring .StaticConnectionStringProvider ;
910import com .azure .spring .cloud .core .service .AzureServiceType ;
10- import com .azure .servicebus .jms .ServiceBusJmsConnectionFactory ;
1111import jakarta .jms .ConnectionFactory ;
1212import jakarta .jms .Session ;
1313import org .apache .qpid .jms .JmsConnectionFactory ;
14+ import org .junit .jupiter .api .Assertions ;
1415import org .junit .jupiter .api .Test ;
1516import org .junit .jupiter .params .ParameterizedTest ;
1617import org .junit .jupiter .params .provider .ValueSource ;
@@ -60,6 +61,7 @@ private void testQueueJmsListenerContainerFactoryWithCustomSettings(AssertableAp
6061 assertThat (container .getMaxConcurrentConsumers ()).isEqualTo (10 );
6162 assertThat (container ).hasFieldOrPropertyWithValue ("receiveTimeout" , 2000L );
6263 assertThat (container .isReplyPubSubDomain ()).isFalse ();
64+ Assertions .assertNotNull (container .getReplyQosSettings ());
6365 assertThat (container .getReplyQosSettings ().getPriority ()).isEqualTo (1 );
6466 assertThat (container .isSubscriptionDurable ()).isFalse ();
6567 assertThat (container .isSubscriptionShared ()).isFalse ();
@@ -79,14 +81,15 @@ private void testTopicJmsListenerContainerFactoryWithCustomSettings(AssertableAp
7981 assertThat (container .getMaxConcurrentConsumers ()).isEqualTo (10 );
8082 assertThat (container ).hasFieldOrPropertyWithValue ("receiveTimeout" , 2000L );
8183 assertThat (container .isReplyPubSubDomain ()).isFalse ();
84+ Assertions .assertNotNull (container .getReplyQosSettings ());
8285 assertThat (container .getReplyQosSettings ().getPriority ()).isEqualTo (1 );
8386 assertThat (container .isSubscriptionDurable ()).isTrue ();
8487 assertThat (container .isSubscriptionShared ()).isFalse ();
8588 assertThat (container .getPhase ()).isEqualTo (2147483647 );
8689 }
8790
8891 @ ParameterizedTest
89- @ ValueSource (classes = { ConnectionFactory .class , JmsConnectionFactory .class , JmsTemplate .class })
92+ @ ValueSource (classes = {ConnectionFactory .class , JmsConnectionFactory .class , JmsTemplate .class })
9093 void autoconfigurationNotEnabled (Class <?> clz ) {
9194 this .contextRunner
9295 .withClassLoader (new FilteredClassLoader (clz ))
@@ -105,7 +108,7 @@ void contextFailedByConnectionStringNotConfigured() {
105108 }
106109
107110 @ ParameterizedTest
108- @ ValueSource (strings = { "Ba" , " " , "basic" })
111+ @ ValueSource (strings = {"Ba" , " " , "basic" })
109112 void contextFailedByPricingTierNotCorrectlyConfigured (String pricingTier ) {
110113 this .contextRunner
111114 .withPropertyValues (
@@ -119,7 +122,7 @@ void contextFailedByPricingTierNotCorrectlyConfigured(String pricingTier) {
119122 }
120123
121124 @ ParameterizedTest
122- @ ValueSource (strings = { "premium" })
125+ @ ValueSource (strings = {"premium" })
123126 void autoconfigurationEnabledAndContextSuccessWithPremiumTier (String pricingTier ) {
124127 this .contextRunner
125128 .withPropertyValues (
@@ -138,7 +141,7 @@ void autoconfigurationEnabledAndContextSuccessWithPremiumTier(String pricingTier
138141 }
139142
140143 @ ParameterizedTest
141- @ ValueSource (strings = { "standard" })
144+ @ ValueSource (strings = {"standard" })
142145 void autoconfigurationEnabledAndContextSuccessWithStandardTier (String pricingTier ) {
143146 this .contextRunner
144147 .withPropertyValues (
@@ -157,42 +160,36 @@ void autoconfigurationEnabledAndContextSuccessWithStandardTier(String pricingTie
157160 }
158161
159162 @ ParameterizedTest
160- @ ValueSource (strings = { "standard" , "premium" })
163+ @ ValueSource (strings = {"standard" , "premium" })
161164 void autoconfigurationDisabled (String pricingTier ) {
162165 this .contextRunner
163166 .withPropertyValues (
164167 "spring.jms.servicebus.enabled=false" ,
165168 "spring.jms.servicebus.pricing-tier=" + pricingTier ,
166169 "spring.jms.servicebus.connection-string=" + CONNECTION_STRING )
167- .run (context -> {
168- assertThat (context ).doesNotHaveBean (AzureServiceBusJmsProperties .class );
169- });
170+ .run (context -> assertThat (context ).doesNotHaveBean (AzureServiceBusJmsProperties .class ));
170171 }
171172
172173 @ Test
173174 void autoconfigurationDisabledCase2 () {
174175 this .contextRunner
175176 .withPropertyValues (
176177 "spring.jms.servicebus.enabled=false" )
177- .run (context -> {
178- assertThat (context ).doesNotHaveBean (AzureServiceBusJmsProperties .class );
179- });
178+ .run (context -> assertThat (context ).doesNotHaveBean (AzureServiceBusJmsProperties .class ));
180179 }
181180
182181 @ ParameterizedTest
183- @ ValueSource (strings = { "standard" , "premium" })
182+ @ ValueSource (strings = {"standard" , "premium" })
184183 void doesNotHaveBeanOfAzureServiceBusJmsPropertiesBeanPostProcessor (String pricingTier ) {
185184 this .contextRunner
186185 .withPropertyValues (
187186 "spring.jms.servicebus.pricing-tier=" + pricingTier ,
188187 "spring.jms.servicebus.connection-string=" + CONNECTION_STRING )
189- .run (context -> {
190- assertThat (context ).doesNotHaveBean (AzureServiceBusJmsPropertiesBeanPostProcessor .class );
191- });
188+ .run (context -> assertThat (context ).doesNotHaveBean (AzureServiceBusJmsPropertiesBeanPostProcessor .class ));
192189 }
193190
194191 @ ParameterizedTest
195- @ ValueSource (strings = { "standard" , "premium" })
192+ @ ValueSource (strings = {"standard" , "premium" })
196193 void doesHaveBeanOfAzureServiceBusJmsPropertiesBeanPostProcessor (String pricingTier ) {
197194 this .contextRunner
198195 .withPropertyValues (
@@ -214,7 +211,7 @@ StaticConnectionStringProvider<AzureServiceType.ServiceBus> connectionStringProv
214211 }
215212
216213 @ ParameterizedTest
217- @ ValueSource (strings = { "standard" , "premium" })
214+ @ ValueSource (strings = {"standard" , "premium" })
218215 void connectionFactoryIsAutowiredIntoJmsTemplateBean (String pricingTier ) {
219216 this .contextRunner
220217 .withPropertyValues (
@@ -227,7 +224,7 @@ void connectionFactoryIsAutowiredIntoJmsTemplateBean(String pricingTier) {
227224 }
228225
229226 @ ParameterizedTest
230- @ ValueSource (strings = { "standard" , "premium" })
227+ @ ValueSource (strings = {"standard" , "premium" })
231228 void jmsPropertiesConfiguredCorrectly (String pricingTier ) {
232229 this .contextRunner
233230 .withPropertyValues (
@@ -251,7 +248,7 @@ void jmsPropertiesConfiguredCorrectly(String pricingTier) {
251248 }
252249
253250 @ ParameterizedTest
254- @ ValueSource (strings = { "standard" , "premium" })
251+ @ ValueSource (strings = {"standard" , "premium" })
255252 void jmsServiceBusPropertiesConfigured (String pricingTier ) {
256253 this .contextRunner
257254 .withPropertyValues (
@@ -268,7 +265,7 @@ void jmsServiceBusPropertiesConfigured(String pricingTier) {
268265 }
269266
270267 @ ParameterizedTest
271- @ ValueSource (strings = { "standard" , "premium" })
268+ @ ValueSource (strings = {"standard" , "premium" })
272269 void jmsListenerContainerFactoryConfiguredCorrectly (String pricingTier ) {
273270 this .contextRunner
274271 .withPropertyValues (
@@ -289,23 +286,28 @@ void jmsListenerContainerFactoryConfiguredCorrectly(String pricingTier) {
289286 });
290287 }
291288
292-
293289 @ ParameterizedTest
294- @ ValueSource (strings = { "standard" , "premium" })
295- void jmsPoolConnectionFactoryBeanConfiguredAsDefault (String pricingTier ) {
290+ @ ValueSource (strings = {"standard" , "premium" })
291+ void nativeConnectionFactoryBeanConfiguredByDefaultInJmsListenerContainerFactory (String pricingTier ) {
296292 this .contextRunner
297293 .withPropertyValues (
298294 "spring.jms.servicebus.pricing-tier=" + pricingTier ,
299295 "spring.jms.servicebus.connection-string=" + CONNECTION_STRING )
300296 .run (context -> {
301- assertThat (context ).hasSingleBean (JmsPoolConnectionFactory .class );
302- assertThat (context ).doesNotHaveBean (ServiceBusJmsConnectionFactory .class );
297+ assertThat (context ).hasSingleBean (ServiceBusJmsConnectionFactory .class );
303298 assertThat (context ).doesNotHaveBean (CachingConnectionFactory .class );
299+ assertThat (context ).doesNotHaveBean (JmsPoolConnectionFactory .class );
300+ assertThat (context ).getBean ("jmsListenerContainerFactory" )
301+ .extracting ("connectionFactory" )
302+ .isSameAs (context .getBean (ServiceBusJmsConnectionFactory .class ));
303+ assertThat (context ).getBean ("topicJmsListenerContainerFactory" )
304+ .extracting ("connectionFactory" )
305+ .isSameAs (context .getBean (ServiceBusJmsConnectionFactory .class ));
304306 });
305307 }
306308
307309 @ ParameterizedTest
308- @ ValueSource (strings = { "standard" , "premium" })
310+ @ ValueSource (strings = {"standard" , "premium" })
309311 void jmsPoolConnectionFactoryBeanConfiguredExplicitly (String pricingTier ) {
310312 this .contextRunner
311313 .withPropertyValues (
@@ -322,7 +324,7 @@ void jmsPoolConnectionFactoryBeanConfiguredExplicitly(String pricingTier) {
322324 }
323325
324326 @ ParameterizedTest
325- @ ValueSource (strings = { "standard" , "premium" })
327+ @ ValueSource (strings = {"standard" , "premium" })
326328 void jmsPoolConnectionFactoryBeanConfiguredByPoolEnableCacheEnable (String pricingTier ) {
327329 this .contextRunner
328330 .withPropertyValues (
@@ -340,7 +342,7 @@ void jmsPoolConnectionFactoryBeanConfiguredByPoolEnableCacheEnable(String pricin
340342 }
341343
342344 @ ParameterizedTest
343- @ ValueSource (strings = { "standard" , "premium" })
345+ @ ValueSource (strings = {"standard" , "premium" })
344346 void jmsPoolConnectionFactoryBeanConfiguredByPoolEnableCacheDisable (String pricingTier ) {
345347 this .contextRunner
346348 .withPropertyValues (
@@ -358,7 +360,7 @@ void jmsPoolConnectionFactoryBeanConfiguredByPoolEnableCacheDisable(String prici
358360 }
359361
360362 @ ParameterizedTest
361- @ ValueSource (strings = { "standard" , "premium" })
363+ @ ValueSource (strings = {"standard" , "premium" })
362364 void cachingConnectionFactoryBeanConfiguredByCacheEnable (String pricingTier ) {
363365 this .contextRunner
364366 .withPropertyValues (
@@ -374,7 +376,7 @@ void cachingConnectionFactoryBeanConfiguredByCacheEnable(String pricingTier) {
374376 }
375377
376378 @ ParameterizedTest
377- @ ValueSource (strings = { "standard" , "premium" })
379+ @ ValueSource (strings = {"standard" , "premium" })
378380 void cachingConnectionFactoryBeanConfiguredByPoolDisableCacheEnable (String pricingTier ) {
379381 this .contextRunner
380382 .withPropertyValues (
@@ -391,23 +393,23 @@ void cachingConnectionFactoryBeanConfiguredByPoolDisableCacheEnable(String prici
391393 }
392394
393395 @ ParameterizedTest
394- @ ValueSource (strings = { "standard" , "premium" })
395- void cachingConnectionFactoryBeanConfiguredByPoolDisable (String pricingTier ) {
396+ @ ValueSource (strings = {"standard" , "premium" })
397+ void nativeConnectionFactoryBeanConfiguredByPoolDisable (String pricingTier ) {
396398 this .contextRunner
397399 .withPropertyValues (
398400 "spring.jms.servicebus.pricing-tier=" + pricingTier ,
399401 "spring.jms.servicebus.connection-string=" + CONNECTION_STRING ,
400402 "spring.jms.servicebus.pool.enabled=false"
401403 )
402404 .run (context -> {
403- assertThat (context ).hasSingleBean (CachingConnectionFactory .class );
404- assertThat (context ).doesNotHaveBean (ServiceBusJmsConnectionFactory .class );
405+ assertThat (context ).hasSingleBean (ServiceBusJmsConnectionFactory .class );
406+ assertThat (context ).doesNotHaveBean (CachingConnectionFactory .class );
405407 assertThat (context ).doesNotHaveBean (JmsPoolConnectionFactory .class );
406408 });
407409 }
408410
409411 @ ParameterizedTest
410- @ ValueSource (strings = { "standard" , "premium" })
412+ @ ValueSource (strings = {"standard" , "premium" })
411413 void nativeConnectionFactoryBeanConfiguredByCacheDisable (String pricingTier ) {
412414 this .contextRunner
413415 .withPropertyValues (
@@ -424,7 +426,7 @@ void nativeConnectionFactoryBeanConfiguredByCacheDisable(String pricingTier) {
424426 }
425427
426428 @ ParameterizedTest
427- @ ValueSource (strings = { "standard" , "premium" })
429+ @ ValueSource (strings = {"standard" , "premium" })
428430 void nativeConnectionFactoryBeanConfiguredByPoolDisableCacheDisable (String pricingTier ) {
429431 this .contextRunner
430432 .withPropertyValues (
@@ -437,6 +439,9 @@ void nativeConnectionFactoryBeanConfiguredByPoolDisableCacheDisable(String prici
437439 assertThat (context ).hasSingleBean (ServiceBusJmsConnectionFactory .class );
438440 assertThat (context ).doesNotHaveBean (CachingConnectionFactory .class );
439441 assertThat (context ).doesNotHaveBean (JmsPoolConnectionFactory .class );
442+ assertThat (context ).getBean ("jmsListenerContainerFactory" )
443+ .extracting ("connectionFactory" )
444+ .isSameAs (context .getBean (ServiceBusJmsConnectionFactory .class ));
440445 }
441446 );
442447 }
0 commit comments