package org.wildfly.swarm.messaging.runtime;
import org.junit.Before;
import org.junit.Test;
import org.wildfly.swarm.config.messaging.activemq.server.PooledConnectionFactory;
import org.wildfly.swarm.config.messaging.activemq.server.RemoteConnector;
import org.wildfly.swarm.messaging.EnhancedServer;
import org.wildfly.swarm.messaging.MessagingFraction;
import static org.fest.assertions.Assertions.assertThat;
/**
* @author Bob McWhirter
*/
public class RemoteConnectionCustomizerTest {
private RemoteConnectionCustomizer customizer;
private MessagingFraction fraction;
@Before
public void setUp() {
this.customizer = new RemoteConnectionCustomizer();
this.fraction = new MessagingFraction();
this.customizer.fraction = fraction;
}
@Test
public void testIfNoRemoteConnections() {
this.customizer.customize();
assertThat( this.fraction.subresources().servers()).isEmpty();
}
@Test
public void testIfRemoteConnection() {
this.fraction.server( "default", (server)->{
server.remoteConnection( "postoffice" );
});
this.customizer.customize();
EnhancedServer server = (EnhancedServer) this.fraction.subresources().servers().get(0);
assertThat( server.remoteConnections()).hasSize(1);
assertThat( server.subresources().pooledConnectionFactories()).hasSize(1);
PooledConnectionFactory connectionFactory = server.subresources().pooledConnectionFactories().get(0);
assertThat( connectionFactory.getKey() ).isEqualTo( "postoffice" );
assertThat( connectionFactory.entries() ).containsExactly( "java:/jms/postoffice" );
assertThat( server.subresources().remoteConnectors() ).hasSize(1);
RemoteConnector remoteConnector = server.subresources().remoteConnectors().get(0);
assertThat( remoteConnector.getKey() ).isEqualTo( "postoffice" );
assertThat( remoteConnector.socketBinding() ).isEqualTo( "postoffice" );
}
}