@ -1,5 +1,5 @@
/ *
* Copyright 2012 - 201 5 the original author or authors .
* Copyright 2012 - 201 6 the original author or authors .
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
@ -22,6 +22,7 @@ import javax.jms.ConnectionMetaData;
import javax.jms.JMSException ;
import org.junit.Test ;
import org.mockito.Mockito ;
import static org.junit.Assert.assertEquals ;
import static org.mockito.BDDMockito.given ;
@ -78,4 +79,21 @@ public class JmsHealthIndicatorTests {
verify ( connection , times ( 1 ) ) . close ( ) ;
}
@Test
public void jmsBrokerUsesFailover ( ) throws JMSException {
ConnectionFactory connectionFactory = mock ( ConnectionFactory . class ) ;
ConnectionMetaData connectionMetaData = mock ( ConnectionMetaData . class ) ;
given ( connectionMetaData . getJMSProviderName ( ) ) . willReturn ( "JMS test provider" ) ;
Connection connection = mock ( Connection . class ) ;
given ( connection . getMetaData ( ) ) . willReturn ( connectionMetaData ) ;
Mockito . doThrow ( new JMSException ( "Could not start" , "123" ) )
. when ( connection ) . start ( ) ;
given ( connectionFactory . createConnection ( ) )
. willReturn ( connection ) ;
JmsHealthIndicator indicator = new JmsHealthIndicator ( connectionFactory ) ;
Health health = indicator . health ( ) ;
assertEquals ( Status . DOWN , health . getStatus ( ) ) ;
assertEquals ( null , health . getDetails ( ) . get ( "provider" ) ) ;
}
}