/*
* JBoss, Home of Professional Open Source
* Copyright 2005-2008, Red Hat Middleware LLC, and individual contributors
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.messaging.tests.unit.core.remoting.impl;
import org.jboss.messaging.tests.util.UnitTestCase;
/**
* @author <a href="ataylor@redhat.com">Andy Taylor</a>
* @author <a href="tim.fox@jboss.com">Tim Fox</a>
*/
public class RemotingServiceImplTest extends UnitTestCase
{
public void testDummy()
{
}
// public void testSingleAcceptorStarted() throws Exception
// {
// final Acceptor acceptor = EasyMock.createStrictMock(Acceptor.class);
// ConfigurationImpl config = new ConfigurationImpl();
// config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
// TestAcceptorFactory1.acceptor = acceptor;
// RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
//
// acceptor.start();
// EasyMock.replay(acceptor);
// remotingService.start();
// EasyMock.verify(acceptor);
// assertEquals(1, remotingService.getAcceptors().size());
// assertTrue(remotingService.getAcceptors().contains(acceptor));
// assertTrue(remotingService.isStarted());
// }
//
// public void testSingleAcceptorStartedTwiceIsIgnored() throws Exception
// {
// final Acceptor acceptor = EasyMock.createStrictMock(Acceptor.class);
// ConfigurationImpl config = new ConfigurationImpl();
// RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
// config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
// TestAcceptorFactory1.acceptor = acceptor;
// acceptor.start();
// EasyMock.replay(acceptor);
// remotingService.start();
// remotingService.start();
// EasyMock.verify(acceptor);
// assertEquals(1, remotingService.getAcceptors().size());
// assertTrue(remotingService.getAcceptors().contains(acceptor));
// assertTrue(remotingService.isStarted());
// }
//
// public void testSingleAcceptorStartedAndStopped() throws Exception
// {
// final Acceptor acceptor = EasyMock.createStrictMock(Acceptor.class);
// ConfigurationImpl config = new ConfigurationImpl();
// RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
// config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
// TestAcceptorFactory1.acceptor = acceptor;
// acceptor.start();
// acceptor.stop();
// EasyMock.replay(acceptor);
// remotingService.start();
// remotingService.stop();
// EasyMock.verify(acceptor);
// assertEquals(1, remotingService.getAcceptors().size());
// assertTrue(remotingService.getAcceptors().contains(acceptor));
// assertFalse(remotingService.isStarted());
// }
//
// public void testMultipleAcceptorsStarted() throws Exception
// {
// final Acceptor acceptor1 = EasyMock.createStrictMock(Acceptor.class);
// final Acceptor acceptor2 = EasyMock.createStrictMock(Acceptor.class);
// final Acceptor acceptor3 = EasyMock.createStrictMock(Acceptor.class);
// ConfigurationImpl config = new ConfigurationImpl();
// RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
// config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
// TestAcceptorFactory1.acceptor = acceptor1;
// config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory2"));
// TestAcceptorFactory2.acceptor = acceptor2;
// config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory3"));
// TestAcceptorFactory3.acceptor = acceptor3;
//
// acceptor1.start();
// acceptor2.start();
// acceptor3.start();
// EasyMock.replay(acceptor1, acceptor2, acceptor3);
// remotingService.start();
// EasyMock.verify(acceptor1, acceptor2, acceptor3);
// assertEquals(3, remotingService.getAcceptors().size());
// assertTrue(remotingService.getAcceptors().contains(acceptor1));
// assertTrue(remotingService.getAcceptors().contains(acceptor2));
// assertTrue(remotingService.getAcceptors().contains(acceptor3));
// assertTrue(remotingService.isStarted());
// }
//
// public void testMultipleAcceptorsStartedAndStopped() throws Exception
// {
// final Acceptor acceptor1 = EasyMock.createStrictMock(Acceptor.class);
// final Acceptor acceptor2 = EasyMock.createStrictMock(Acceptor.class);
// final Acceptor acceptor3 = EasyMock.createStrictMock(Acceptor.class);
// ConfigurationImpl config = new ConfigurationImpl();
// RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
// config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
// TestAcceptorFactory1.acceptor = acceptor1;
// config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory2"));
// TestAcceptorFactory2.acceptor = acceptor2;
// config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory3"));
// TestAcceptorFactory3.acceptor = acceptor3;
// acceptor1.start();
// acceptor2.start();
// acceptor3.start();
// acceptor1.stop();
// acceptor2.stop();
// acceptor3.stop();
// EasyMock.replay(acceptor1, acceptor2, acceptor3);
// remotingService.start();
// remotingService.stop();
// EasyMock.verify(acceptor1, acceptor2, acceptor3);
// assertEquals(3, remotingService.getAcceptors().size());
// assertTrue(remotingService.getAcceptors().contains(acceptor1));
// assertTrue(remotingService.getAcceptors().contains(acceptor2));
// assertTrue(remotingService.getAcceptors().contains(acceptor3));
// assertFalse(remotingService.isStarted());
// }
//
// public void testMultipleAcceptorsStartedAndStoppedAddedAnotherAcceptorThenStarted() throws Exception
// {
// final Acceptor acceptor1 = EasyMock.createStrictMock(Acceptor.class);
// final Acceptor acceptor2 = EasyMock.createStrictMock(Acceptor.class);
// final Acceptor acceptor3 = EasyMock.createStrictMock(Acceptor.class);
// final Acceptor acceptor4 = EasyMock.createStrictMock(Acceptor.class);
// ConfigurationImpl config = new ConfigurationImpl();
// RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
// config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
// TestAcceptorFactory1.acceptor = acceptor1;
// config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory2"));
// TestAcceptorFactory2.acceptor = acceptor2;
// config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory3"));
// TestAcceptorFactory3.acceptor = acceptor3;
// acceptor1.start();
// acceptor2.start();
// acceptor3.start();
// acceptor1.stop();
// acceptor2.stop();
// acceptor3.stop();
// EasyMock.replay(acceptor1, acceptor2, acceptor3);
// remotingService.start();
// remotingService.stop();
//
// EasyMock.verify(acceptor1, acceptor2, acceptor3);
// assertEquals(3, remotingService.getAcceptors().size());
// assertTrue(remotingService.getAcceptors().contains(acceptor1));
// assertTrue(remotingService.getAcceptors().contains(acceptor2));
// assertTrue(remotingService.getAcceptors().contains(acceptor3));
// assertFalse(remotingService.isStarted());
//
// EasyMock.reset(acceptor1, acceptor2, acceptor3);
// config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory4"));
// TestAcceptorFactory4.acceptor = acceptor4;
// acceptor1.start();
// acceptor2.start();
// acceptor3.start();
// acceptor4.start();
// acceptor1.stop();
// acceptor2.stop();
// acceptor3.stop();
// acceptor4.stop();
// EasyMock.replay(acceptor1, acceptor2, acceptor3, acceptor4);
// remotingService.start();
// remotingService.stop();
//
// EasyMock.verify(acceptor1, acceptor2, acceptor3, acceptor4);
// assertEquals(4, remotingService.getAcceptors().size());
// assertTrue(remotingService.getAcceptors().contains(acceptor1));
// assertTrue(remotingService.getAcceptors().contains(acceptor2));
// assertTrue(remotingService.getAcceptors().contains(acceptor3));
// assertTrue(remotingService.getAcceptors().contains(acceptor4));
// assertFalse(remotingService.isStarted());
// }
//
// public void testDispatcherNotNull() throws Exception
// {
// ConfigurationImpl config = new ConfigurationImpl();
// RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
// assertNotNull(remotingService.getDispatcher());
// remotingService = new RemotingServiceImpl(config);
// assertNotNull(remotingService.getDispatcher());
// }
//
// public void testInterceptorsAddedToDispatcher() throws Exception
// {
// ConfigurationImpl config = new ConfigurationImpl();
//
// config.getInterceptorClassNames().add("org.jboss.messaging.tests.unit.core.remoting.impl.Interceptor1");
// config.getInterceptorClassNames().add("org.jboss.messaging.tests.unit.core.remoting.impl.Interceptor2");
// config.getInterceptorClassNames().add("org.jboss.messaging.tests.unit.core.remoting.impl.Interceptor3");
//
// RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
// assertNotNull(remotingService.getDispatcher());
//
// List<Interceptor> interceptors = remotingService.getDispatcher().getInterceptors();
// assertEquals(3, interceptors.size());
// assertTrue(interceptors.get(0) instanceof Interceptor1);
// assertTrue(interceptors.get(1) instanceof Interceptor2);
// assertTrue(interceptors.get(2) instanceof Interceptor3);
// }
//
//
// public void testCreateGetDestroyConnection() throws Exception
// {
// ConfigurationImpl config = new ConfigurationImpl();
// RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
// remotingService.start();
//
// assertEquals(0, remotingService.getConnections().size());
// Connection connection1 = EasyMock.createStrictMock(Connection.class);
// EasyMock.expect(connection1.getID()).andStubReturn(1);
//
// Connection connection2 = EasyMock.createStrictMock(Connection.class);
// EasyMock.expect(connection2.getID()).andStubReturn(2);
//
// Connection connection3 = EasyMock.createStrictMock(Connection.class);
// EasyMock.expect(connection3.getID()).andStubReturn(3);
//
// EasyMock.replay(connection1, connection2, connection3);
//
// remotingService.connectionCreated(connection1);
// remotingService.connectionCreated(connection2);
// remotingService.connectionCreated(connection3);
//
// EasyMock.verify(connection1, connection2, connection3);
//
// assertEquals(3, remotingService.getConnections().size());
//
// RemotingConnection rc1 = remotingService.getConnection(1);
// assertNotNull(rc1);
// RemotingConnection rc2 = remotingService.getConnection(2);
// assertNotNull(rc2);
// RemotingConnection rc3 = remotingService.getConnection(3);
// assertNotNull(rc3);
//
// assertEquals(1, rc1.getID());
// assertEquals(2, rc2.getID());
// assertEquals(3, rc3.getID());
//
// EasyMock.reset(connection1, connection2, connection3);
//
// EasyMock.replay(connection1, connection2, connection3);
//
// remotingService.connectionDestroyed(1);
// remotingService.connectionDestroyed(2);
// remotingService.connectionDestroyed(3);
//
// EasyMock.verify(connection1, connection2, connection3);
//
// assertEquals(0, remotingService.getConnections().size());
//
// rc1 = remotingService.getConnection(1);
// assertNull(rc1);
// rc2 = remotingService.getConnection(2);
// assertNull(rc2);
// rc3 = remotingService.getConnection(3);
// assertNull(rc3);
// }
//
// public void testConnectionException() throws Exception
// {
// ConfigurationImpl config = new ConfigurationImpl();
// RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
// remotingService.start();
//
// final long id = 1212;
//
// assertEquals(0, remotingService.getConnections().size());
// Connection connection1 = EasyMock.createStrictMock(Connection.class);
// EasyMock.expect(connection1.getID()).andStubReturn(id);
// connection1.close();
//
// EasyMock.replay(connection1);
//
// remotingService.connectionCreated(connection1);
//
// RemotingConnection rc1 = remotingService.getConnection(id);
// assertNotNull(rc1);
//
// class Listener implements FailureListener
// {
// volatile MessagingException me;
// public void connectionFailed(MessagingException me)
// {
// this.me = me;
// }
// }
//
// Listener listener = new Listener();
// rc1.addFailureListener(listener);
//
// MessagingException me2 = new MessagingException(1212, "askjaksj");
//
// remotingService.connectionException(id, me2);
//
// assertNotNull(listener.me);
// assertTrue(listener.me == me2);
//
// EasyMock.verify(connection1);
// }
//
}