11/*
2- * Copyright 2016-2019 the original author or authors.
2+ * Copyright 2016-2020 the original author or authors.
33 *
44 * Licensed under the Apache License, Version 2.0 (the "License");
55 * you may not use this file except in compliance with the License.
2929import java .net .URI ;
3030import java .util .Map ;
3131import java .util .concurrent .ArrayBlockingQueue ;
32+ import java .util .concurrent .BlockingQueue ;
3233import java .util .concurrent .LinkedBlockingQueue ;
3334
3435import org .apache .logging .log4j .LogManager ;
4546import org .springframework .amqp .core .Queue ;
4647import org .springframework .amqp .rabbit .connection .CachingConnectionFactory ;
4748import org .springframework .amqp .rabbit .connection .RabbitConnectionFactoryBean ;
49+ import org .springframework .amqp .rabbit .connection .RabbitUtils ;
4850import org .springframework .amqp .rabbit .core .RabbitAdmin ;
4951import org .springframework .amqp .rabbit .core .RabbitTemplate ;
5052import org .springframework .amqp .rabbit .junit .RabbitAvailable ;
@@ -173,31 +175,32 @@ public void testSaslConfig() {
173175 Logger logger = LogManager .getLogger ("sasl" );
174176 AmqpAppender appender = (AmqpAppender ) TestUtils .getPropertyValue (logger , "context.configuration.appenders" ,
175177 Map .class ).get ("sasl1" );
176- assertThat (TestUtils .getPropertyValue (appender , "manager.connectionFactory.rabbitConnectionFactory " ,
177- ConnectionFactory .class ). getSaslConfig ( ))
178+ assertThat (RabbitUtils . stringToSaslConfig ( TestUtils .getPropertyValue (appender , "manager.saslConfig " ,
179+ String .class ), mock ( ConnectionFactory . class ) ))
178180 .isInstanceOf (DefaultSaslConfig .class )
179181 .hasFieldOrPropertyWithValue ("mechanism" , "PLAIN" );
180182 appender = (AmqpAppender ) TestUtils .getPropertyValue (logger , "context.configuration.appenders" ,
181183 Map .class ).get ("sasl2" );
182- assertThat (TestUtils .getPropertyValue (appender , "manager.connectionFactory.rabbitConnectionFactory " ,
183- ConnectionFactory .class ). getSaslConfig ( ))
184+ assertThat (RabbitUtils . stringToSaslConfig ( TestUtils .getPropertyValue (appender , "manager.saslConfig " ,
185+ String .class ), mock ( ConnectionFactory . class ) ))
184186 .isInstanceOf (DefaultSaslConfig .class )
185187 .hasFieldOrPropertyWithValue ("mechanism" , "EXTERNAL" );
186188 appender = (AmqpAppender ) TestUtils .getPropertyValue (logger , "context.configuration.appenders" ,
187189 Map .class ).get ("sasl3" );
188- assertThat (TestUtils .getPropertyValue (appender , "manager.connectionFactory.rabbitConnectionFactory " ,
189- ConnectionFactory .class ). getSaslConfig ( ))
190+ assertThat (RabbitUtils . stringToSaslConfig ( TestUtils .getPropertyValue (appender , "manager.saslConfig " ,
191+ String .class ), mock ( ConnectionFactory . class ) ))
190192 .isInstanceOf (JDKSaslConfig .class );
191193 appender = (AmqpAppender ) TestUtils .getPropertyValue (logger , "context.configuration.appenders" ,
192194 Map .class ).get ("sasl4" );
193- assertThat (TestUtils .getPropertyValue (appender , "manager.connectionFactory.rabbitConnectionFactory " ,
194- ConnectionFactory .class ). getSaslConfig ( ))
195+ assertThat (RabbitUtils . stringToSaslConfig ( TestUtils .getPropertyValue (appender , "manager.saslConfig " ,
196+ String .class ), mock ( ConnectionFactory . class ) ))
195197 .isInstanceOf (CRDemoMechanism .CRDemoSaslConfig .class );
196198 }
197199
198200 @ Test
199- public void testAmqpAppenderEventQueueTypeDefaultsToLinkedBlockingQueue () {
201+ public void testAmqpAppenderEventQueueTypeDefaultsToLinkedBlockingQueue () throws InterruptedException {
200202 Logger logger = LogManager .getLogger ("default_queue_logger" );
203+ logger .info ("test" );
201204 AmqpAppender appender = (AmqpAppender ) TestUtils .getPropertyValue (logger , "context.configuration.appenders" ,
202205 Map .class ).get ("rabbitmq_default_queue" );
203206
@@ -207,6 +210,12 @@ public void testAmqpAppenderEventQueueTypeDefaultsToLinkedBlockingQueue() {
207210 assertThat (TestUtils .getPropertyValue (manager , "addMdcAsHeaders" , Boolean .class )).isTrue ();
208211
209212 assertThat (events .getClass ()).isEqualTo (LinkedBlockingQueue .class );
213+ BlockingQueue <?> queue = (BlockingQueue <?>) events ;
214+ int n = 0 ;
215+ while (n ++ < 100 && queue .size () > 0 ) {
216+ Thread .sleep (100 );
217+ }
218+ assertThat (queue ).hasSize (0 );
210219 }
211220
212221 @ Test
0 commit comments