package org.wildfly.swarm.messaging.runtime; import org.junit.Before; import org.junit.Test; import org.wildfly.swarm.messaging.EnhancedServer; import org.wildfly.swarm.messaging.MessagingFraction; import org.wildfly.swarm.messaging.MessagingProperties; import org.wildfly.swarm.messaging.RemoteConnection; import static org.fest.assertions.Assertions.assertThat; /** * @author Bob McWhirter */ public class RemoteConnectionInstallingCustomizerTest { private RemoteConnectionInstallingCustomizer customizer; private MessagingFraction fraction; @Before public void setUp() { this.customizer = new RemoteConnectionInstallingCustomizer(); this.fraction = new MessagingFraction(); this.customizer.fraction = fraction; } @Test public void testNoOpIfNoConfigSettings() { customizer.customize(); assertThat( fraction.subresources().servers() ).isEmpty(); } @Test public void testIfPortSet() { customizer.port.set( 61666 ); customizer.customize(); assertThat( fraction.subresources().servers() ).hasSize(1); EnhancedServer server = (EnhancedServer) fraction.subresources().server("default"); assertThat( server ).isNotNull(); assertThat( server.remoteConnections() ).hasSize(1); RemoteConnection connection = server.remoteConnections().get(0); assertThat( connection.name() ).isEqualTo(MessagingProperties.DEFAULT_REMOTE_MQ_NAME ); assertThat( connection.host() ).isEqualTo(MessagingProperties.DEFAULT_REMOTE_HOST ); assertThat( connection.port() ).isEqualTo(61666); assertThat( connection.jndiName() ).isEqualTo(MessagingProperties.DEFAULT_REMOTE_JNDI_NAME ); } @Test public void testIfHostSet() { customizer.host.set( "mq.foo.com" ); customizer.customize(); assertThat( fraction.subresources().servers() ).hasSize(1); EnhancedServer server = (EnhancedServer) fraction.subresources().server("default"); assertThat( server ).isNotNull(); assertThat( server.remoteConnections() ).hasSize(1); RemoteConnection connection = server.remoteConnections().get(0); assertThat( connection.name() ).isEqualTo(MessagingProperties.DEFAULT_REMOTE_MQ_NAME ); assertThat( connection.host() ).isEqualTo("mq.foo.com"); assertThat( connection.port() ).isEqualTo(MessagingProperties.DEFAULT_REMOTE_PORT); assertThat( connection.jndiName() ).isEqualTo(MessagingProperties.DEFAULT_REMOTE_JNDI_NAME ); } @Test public void testIfJndiNameSet() { customizer.jndiName.set("java:/jms/iliketacos"); customizer.customize(); assertThat( fraction.subresources().servers() ).hasSize(1); EnhancedServer server = (EnhancedServer) fraction.subresources().server("default"); assertThat( server ).isNotNull(); assertThat( server.remoteConnections() ).hasSize(1); RemoteConnection connection = server.remoteConnections().get(0); assertThat( connection.name() ).isEqualTo(MessagingProperties.DEFAULT_REMOTE_MQ_NAME ); assertThat( connection.host() ).isEqualTo(MessagingProperties.DEFAULT_REMOTE_HOST); assertThat( connection.port() ).isEqualTo(MessagingProperties.DEFAULT_REMOTE_PORT); assertThat( connection.jndiName() ).isEqualTo("java:/jms/iliketacos"); } @Test public void testIfMqNameSet() { customizer.name.set("postoffice" ); customizer.customize(); assertThat( fraction.subresources().servers() ).hasSize(1); EnhancedServer server = (EnhancedServer) fraction.subresources().server("default"); assertThat( server ).isNotNull(); assertThat( server.remoteConnections() ).hasSize(1); RemoteConnection connection = server.remoteConnections().get(0); assertThat( connection.name() ).isEqualTo("postoffice"); assertThat( connection.host() ).isEqualTo(MessagingProperties.DEFAULT_REMOTE_HOST); assertThat( connection.port() ).isEqualTo(MessagingProperties.DEFAULT_REMOTE_PORT); assertThat( connection.jndiName() ).isEqualTo("java:/jms/postoffice"); } @Test public void testIfRemoteFlagSet() { customizer.enabled.set(true); customizer.customize(); assertThat( fraction.subresources().servers() ).hasSize(1); EnhancedServer server = (EnhancedServer) fraction.subresources().server("default"); assertThat( server ).isNotNull(); assertThat( server.remoteConnections() ).hasSize(1); RemoteConnection connection = server.remoteConnections().get(0); assertThat( connection.name() ).isEqualTo(MessagingProperties.DEFAULT_REMOTE_MQ_NAME ); assertThat( connection.host() ).isEqualTo(MessagingProperties.DEFAULT_REMOTE_HOST); assertThat( connection.port() ).isEqualTo(MessagingProperties.DEFAULT_REMOTE_PORT); assertThat( connection.jndiName() ).isEqualTo(MessagingProperties.DEFAULT_REMOTE_JNDI_NAME); } }