diff options
author | Martin Ritchie <ritchiem@apache.org> | 2009-08-06 09:26:56 +0000 |
---|---|---|
committer | Martin Ritchie <ritchiem@apache.org> | 2009-08-06 09:26:56 +0000 |
commit | cf1d99773dbfb66c7d0b3c141530b01b69fa0576 (patch) | |
tree | 393363ebe3ac8d82d4a778d85e18268375e930c5 | |
parent | 8dd5f83bc7dd0e099627f20c62afa050af0e6335 (diff) | |
download | qpid-python-cf1d99773dbfb66c7d0b3c141530b01b69fa0576.tar.gz |
QPID-2028 : Ensure all Non QpidTestCase System tests correctly clean up by removing the ApplicationRegistry they create.
The biggest offenders are the broker tests which are not pure unit tests.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@801561 13f79535-47bb-0310-9956-ffa450edef68
33 files changed, 233 insertions, 95 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java index b58b849133..edad8e53aa 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java @@ -36,6 +36,7 @@ import org.apache.qpid.server.security.auth.manager.AuthenticationManager; import org.apache.qpid.server.virtualhost.VirtualHost; import org.apache.qpid.server.virtualhost.VirtualHostRegistry; import org.apache.qpid.server.logging.RootMessageLogger; +import org.apache.qpid.server.logging.actors.CurrentActor; /** * An abstract application registry that provides access to configuration information and handles the @@ -115,11 +116,18 @@ public abstract class ApplicationRegistry implements IApplicationRegistry } /** + * Method to cleanly shutdown the default registry running in this JVM + */ + public static void remove() + { + remove(DEFAULT_INSTANCE); + } + + /** * Method to cleanly shutdown specified registry running in this JVM * * @param instanceID the instance to shutdown */ - public static void remove(int instanceID) { try diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/AMQBrokerManagerMBeanTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/AMQBrokerManagerMBeanTest.java index 68d4de4af4..e3889162ad 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/AMQBrokerManagerMBeanTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/AMQBrokerManagerMBeanTest.java @@ -33,6 +33,7 @@ public class AMQBrokerManagerMBeanTest extends TestCase { private QueueRegistry _queueRegistry; private ExchangeRegistry _exchangeRegistry; + private VirtualHost _vHost; public void testExchangeOperations() throws Exception { @@ -44,9 +45,8 @@ public class AMQBrokerManagerMBeanTest extends TestCase assertTrue(_exchangeRegistry.getExchange(new AMQShortString(exchange2)) == null); assertTrue(_exchangeRegistry.getExchange(new AMQShortString(exchange3)) == null); - VirtualHost vHost = ApplicationRegistry.getInstance().getVirtualHostRegistry().getVirtualHost("test"); - ManagedBroker mbean = new AMQBrokerManagerMBean((VirtualHost.VirtualHostMBean) vHost.getManagedObject()); + ManagedBroker mbean = new AMQBrokerManagerMBean((VirtualHost.VirtualHostMBean) _vHost.getManagedObject()); mbean.createNewExchange(exchange1, "direct", false); mbean.createNewExchange(exchange2, "topic", false); mbean.createNewExchange(exchange3, "headers", false); @@ -67,9 +67,8 @@ public class AMQBrokerManagerMBeanTest extends TestCase public void testQueueOperations() throws Exception { String queueName = "testQueue_" + System.currentTimeMillis(); - VirtualHost vHost = ApplicationRegistry.getInstance().getVirtualHostRegistry().getVirtualHost("test"); - ManagedBroker mbean = new AMQBrokerManagerMBean((VirtualHost.VirtualHostMBean) vHost.getManagedObject()); + ManagedBroker mbean = new AMQBrokerManagerMBean((VirtualHost.VirtualHostMBean) _vHost.getManagedObject()); assertTrue(_queueRegistry.getQueue(new AMQShortString(queueName)) == null); @@ -85,7 +84,15 @@ public class AMQBrokerManagerMBeanTest extends TestCase { super.setUp(); IApplicationRegistry appRegistry = ApplicationRegistry.getInstance(); - _queueRegistry = appRegistry.getVirtualHostRegistry().getVirtualHost("test").getQueueRegistry(); - _exchangeRegistry = appRegistry.getVirtualHostRegistry().getVirtualHost("test").getExchangeRegistry(); + _vHost = appRegistry.getVirtualHostRegistry().getVirtualHost("test"); + _queueRegistry = _vHost.getQueueRegistry(); + _exchangeRegistry = _vHost.getExchangeRegistry(); + } + + @Override + protected void tearDown() throws Exception + { + //Ensure we close the opened Registry + ApplicationRegistry.remove(); } } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/ack/TxAckTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/ack/TxAckTest.java index dfbbd56d6f..06d6b6de8b 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/ack/TxAckTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/ack/TxAckTest.java @@ -28,6 +28,7 @@ import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.framing.ContentHeaderBody; import org.apache.qpid.framing.abstraction.MessagePublishInfo; import org.apache.qpid.server.RequiredDeliveryException; +import org.apache.qpid.server.registry.ApplicationRegistry; import org.apache.qpid.server.virtualhost.VirtualHost; import org.apache.qpid.server.configuration.VirtualHostConfiguration; import org.apache.qpid.server.queue.AMQMessage; @@ -54,6 +55,10 @@ public class TxAckTest extends TestCase { super.setUp(); + + // Highlight that this test will cause the creation of an AR + ApplicationRegistry.getInstance(); + //ack only 5th msg individual = new Scenario(10, Arrays.asList(5l), Arrays.asList(1l, 2l, 3l, 4l, 6l, 7l, 8l, 9l, 10l)); individual.update(5, false); @@ -78,6 +83,10 @@ public class TxAckTest extends TestCase individual.stop(); multiple.stop(); combined.stop(); + + // Ensure we close the AR we created + ApplicationRegistry.remove(); + super.tearDown(); } public void testPrepare() throws AMQException @@ -122,10 +131,8 @@ public class TxAckTest extends TestCase new LinkedList<RequiredDeliveryException>() ); - PropertiesConfiguration env = new PropertiesConfiguration(); - env.setProperty("name", "test"); - VirtualHost virtualHost = new VirtualHost(new VirtualHostConfiguration("test", env), null); - + VirtualHost virtualHost = ApplicationRegistry.getInstance().getVirtualHostRegistry().getVirtualHosts().iterator().next(); + _queue = AMQQueueFactory.createAMQQueueImpl(new AMQShortString("test"), false, null, false, virtualHost, null); diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java index 2879277784..4e20f537f1 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java @@ -49,13 +49,17 @@ public class ServerConfigurationTest extends TestCase @Override public void setUp() { + //Highlight that this test will cause a new AR to be created + ApplicationRegistry.getInstance(); + _config = new XMLConfiguration(); } @Override - public void tearDown() + public void tearDown() throws Exception { - ApplicationRegistry.removeAll(); + //Correctly Close the AR we created + ApplicationRegistry.remove(); } public void testSetJMXManagementPort() throws ConfigurationException diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java index ba504d3064..5d3b4e681a 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java @@ -21,7 +21,6 @@ package org.apache.qpid.server.configuration; import junit.framework.TestCase; - import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.XMLConfiguration; import org.apache.qpid.AMQException; @@ -39,12 +38,23 @@ public class VirtualHostConfigurationTest extends TestCase @Override protected void setUp() throws Exception - { + { + super.setUp(); + //Highlight that this test will cause a new AR to be created + ApplicationRegistry.getInstance(); // Fill config file with stuff configXml = new XMLConfiguration(); configXml.setRootElementName("virtualhosts"); configXml.addProperty("virtualhost(-1).name", "test"); } + + public void tearDown() throws Exception + { + //Correctly close the AR we created + ApplicationRegistry.remove(); + + super.tearDown(); + } public void testQueuePriority() throws Exception { diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/DestWildExchangeTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/DestWildExchangeTest.java index f4ab1cb761..82b8f76efc 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/DestWildExchangeTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/DestWildExchangeTest.java @@ -62,7 +62,7 @@ public class DestWildExchangeTest extends TestCase public void tearDown() { - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(); } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java index e223ba8d15..ac12e050b4 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java @@ -131,7 +131,7 @@ public class ExchangeMBeanTest extends TestCase { super.setUp(); - IApplicationRegistry applicationRegistry = ApplicationRegistry.getInstance(1); + IApplicationRegistry applicationRegistry = ApplicationRegistry.getInstance(); _virtualHost = applicationRegistry.getVirtualHostRegistry().getVirtualHost("test"); _queueRegistry = _virtualHost.getQueueRegistry(); _queue = AMQQueueFactory.createAMQQueueImpl(new AMQShortString("testQueue"), false, new AMQShortString("ExchangeMBeanTest"), false, _virtualHost, @@ -141,7 +141,8 @@ public class ExchangeMBeanTest extends TestCase protected void tearDown() { - ApplicationRegistry.remove(1); + // Correctly Close the AR that we created above + ApplicationRegistry.remove(); } } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java index 3c6abd0ad9..750a1cd081 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java @@ -22,7 +22,6 @@ package org.apache.qpid.server.exchange; import org.apache.qpid.AMQException; import org.apache.qpid.server.registry.ApplicationRegistry; -import org.apache.qpid.server.util.NullApplicationRegistry; import org.apache.qpid.server.virtualhost.VirtualHost; import org.apache.qpid.server.protocol.InternalTestProtocolSession; import org.apache.qpid.server.protocol.AMQProtocolSession; @@ -34,15 +33,16 @@ public class HeadersExchangeTest extends AbstractHeadersExchangeTestBase protected void setUp() throws Exception { super.setUp(); - ApplicationRegistry.initialise(new NullApplicationRegistry(), 1); + // AR will use the NullAR by default // Just use the first vhost. - VirtualHost virtualHost = ApplicationRegistry.getInstance(1).getVirtualHostRegistry().getVirtualHosts().iterator().next(); + VirtualHost virtualHost = ApplicationRegistry.getInstance().getVirtualHostRegistry().getVirtualHosts().iterator().next(); _protocolSession = new InternalTestProtocolSession(virtualHost); } protected void tearDown() { - ApplicationRegistry.remove(1); + // Correctly Close the AR that we created above + ApplicationRegistry.remove(); } public void testSimple() throws AMQException diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPChannelActorTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPChannelActorTest.java index 009699be35..fb3c96a5d3 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPChannelActorTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPChannelActorTest.java @@ -57,8 +57,12 @@ public class AMQPChannelActorTest extends TestCase AMQProtocolSession _session; AMQChannel _channel; - public void setUp() throws ConfigurationException, AMQException + public void setUp() throws Exception, AMQException { + super.setUp(); + //Highlight that this test will cause a new AR to be created + ApplicationRegistry.getInstance(); + Configuration config = new PropertiesConfiguration(); ServerConfiguration serverConfig = new ServerConfiguration(config); @@ -84,9 +88,13 @@ public class AMQPChannelActorTest extends TestCase } - public void tearDown() + public void tearDown() throws Exception { _rawLogger.clearLogMessages(); + // Correctly Close the AR we created + ApplicationRegistry.remove(); + + super.tearDown(); } /** diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPConnectionActorTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPConnectionActorTest.java index 54eddf1050..0700fd3c1a 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPConnectionActorTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/AMQPConnectionActorTest.java @@ -54,17 +54,26 @@ public class AMQPConnectionActorTest extends TestCase LogActor _amqpActor; UnitTestMessageLogger _rawLogger; - public void setUp() throws ConfigurationException, AMQException + public void setUp() throws Exception, AMQException { + super.setUp(); + //Highlight that this test will cause a new AR to be created + ApplicationRegistry.getInstance(); + Configuration config = new PropertiesConfiguration(); ServerConfiguration serverConfig = new ServerConfiguration(config); setUpWithConfig(serverConfig); } - public void tearDown() + public void tearDown() throws Exception { _rawLogger.clearLogMessages(); + + // Correctly Close the AR we created + ApplicationRegistry.remove(); + + super.tearDown(); } private void setUpWithConfig(ServerConfiguration serverConfig) throws AMQException diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/CurrentActorTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/CurrentActorTest.java index e7dc0ea5da..c1826218c8 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/CurrentActorTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/CurrentActorTest.java @@ -62,8 +62,9 @@ public class CurrentActorTest extends TestCase // Create a single session for this test. AMQProtocolSession _session; - public void setUp() throws AMQException + public void setUp() throws Exception { + super.setUp(); // Create a single session for this test. VirtualHost virtualHost = ApplicationRegistry.getInstance(). getVirtualHostRegistry().getVirtualHosts().iterator().next(); @@ -72,6 +73,16 @@ public class CurrentActorTest extends TestCase _session = new InternalTestProtocolSession(virtualHost); } + + @Override + public void tearDown() throws Exception + { + // Correctly Close the AR we created + ApplicationRegistry.remove(); + super.tearDown(); + } + + public void testFIFO() throws AMQException { // Create a new actor using retrieving the rootMessageLogger from @@ -143,11 +154,11 @@ public class CurrentActorTest extends TestCase assertEquals("Retrieved actor is not as expected ", connectionActor, CurrentActor.get()); - // Verify that removing the last actor returns us to a null value. + // Verify that removing the our last actor it returns us to the test + // default that the ApplicationRegistry sets. CurrentActor.remove(); - assertNull("CurrentActor should be null", CurrentActor.get()); - + assertEquals("CurrentActor not the Test default", TestLogActor.class ,CurrentActor.get().getClass()); } public void testThreadLocal() diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/TestBlankActor.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/TestLogActor.java index ec84d8bc9b..76dd2ec1bc 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/TestBlankActor.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/TestLogActor.java @@ -22,9 +22,9 @@ package org.apache.qpid.server.logging.actors; import org.apache.qpid.server.logging.RootMessageLogger; -public class TestBlankActor extends AbstractActor +public class TestLogActor extends AbstractActor { - public TestBlankActor(RootMessageLogger rootLogger) + public TestLogActor(RootMessageLogger rootLogger) { super(rootLogger); _logString = "[Blank]"; diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/messages/AbstractTestMessages.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/messages/AbstractTestMessages.java index 17a9d6c591..2656a8b5cb 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/messages/AbstractTestMessages.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/messages/AbstractTestMessages.java @@ -30,9 +30,10 @@ import org.apache.qpid.server.logging.LogMessage; import org.apache.qpid.server.logging.LogSubject; import org.apache.qpid.server.logging.RootMessageLogger; import org.apache.qpid.server.logging.RootMessageLoggerImpl; -import org.apache.qpid.server.logging.actors.TestBlankActor; +import org.apache.qpid.server.logging.actors.TestLogActor; import org.apache.qpid.server.logging.rawloggers.UnitTestMessageLogger; import org.apache.qpid.server.logging.subjects.TestBlankSubject; +import org.apache.qpid.server.registry.ApplicationRegistry; import java.util.List; @@ -44,15 +45,26 @@ public abstract class AbstractTestMessages extends TestCase protected UnitTestMessageLogger _logger; protected LogSubject _logSubject = new TestBlankSubject(); - public void setUp() throws ConfigurationException + public void setUp() throws Exception { + super.setUp(); + // Highlight that we create a new AR here + ApplicationRegistry.getInstance(); + ServerConfiguration serverConfig = new ServerConfiguration(_config); _logger = new UnitTestMessageLogger(); RootMessageLogger rootLogger = new RootMessageLoggerImpl(serverConfig, _logger); - _actor = new TestBlankActor(rootLogger); + _actor = new TestLogActor(rootLogger); + } + + public void tearDown() throws Exception + { + // Correctly Close the AR that we created above + ApplicationRegistry.remove(); + super.tearDown(); } protected List<Object> performLog() diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java index 56d611a44f..ccfc76e59d 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java @@ -32,7 +32,7 @@ import org.apache.qpid.server.logging.LogMessage; import org.apache.qpid.server.logging.LogSubject; import org.apache.qpid.server.logging.RootMessageLogger; import org.apache.qpid.server.logging.RootMessageLoggerImpl; -import org.apache.qpid.server.logging.actors.TestBlankActor; +import org.apache.qpid.server.logging.actors.TestLogActor; import org.apache.qpid.server.logging.rawloggers.UnitTestMessageLogger; import org.apache.qpid.server.queue.AMQQueue; import org.apache.qpid.server.virtualhost.VirtualHost; @@ -60,6 +60,14 @@ public abstract class AbstractTestLogSubject extends TestCase _session = new InternalTestProtocolSession(virtualHost); } + public void tearDown() throws Exception + { + // Correctly Close the AR that we created above + ApplicationRegistry.remove(); + + super.tearDown(); + } + protected List<Object> performLog() throws ConfigurationException { if (_subject == null) diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBeanTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBeanTest.java index 6050512679..e199255f50 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBeanTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/AMQProtocolSessionMBeanTest.java @@ -26,6 +26,7 @@ import org.apache.qpid.AMQException; import org.apache.qpid.codec.AMQCodecFactory; import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.server.virtualhost.VirtualHost; import org.apache.qpid.server.queue.AMQQueue; import org.apache.qpid.server.queue.AMQQueueFactory; import org.apache.qpid.server.registry.ApplicationRegistry; @@ -109,20 +110,17 @@ public class AMQProtocolSessionMBeanTest extends TestCase { super.setUp(); - IApplicationRegistry appRegistry = ApplicationRegistry.getInstance(); - _protocolSession = - new AMQMinaProtocolSession(new TestIoSession(), appRegistry.getVirtualHostRegistry(), new AMQCodecFactory(true)); - // Need to authenticate session for it to work, (well for logging to work) - _protocolSession.setAuthorizedID(new Principal() - { - public String getName() - { - return "AMQProtocolSessionMBeanTestUser"; - } - }); - _protocolSession.setVirtualHost(appRegistry.getVirtualHostRegistry().getVirtualHost("test")); + VirtualHost vhost = ApplicationRegistry.getInstance().getVirtualHostRegistry().getVirtualHost("test"); + _protocolSession = new InternalTestProtocolSession(vhost); + _channel = new AMQChannel(_protocolSession, 1, _messageStore); _protocolSession.addChannel(_channel); _mbean = (AMQProtocolSessionMBean) _protocolSession.getManagedObject(); } + + @Override + protected void tearDown() + { + ApplicationRegistry.remove(); + } } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/MaxChannelsTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/MaxChannelsTest.java index 7e16737a83..8597fc5863 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/MaxChannelsTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/MaxChannelsTest.java @@ -25,6 +25,7 @@ import org.apache.qpid.AMQException; import org.apache.qpid.codec.AMQCodecFactory; import org.apache.qpid.protocol.AMQConstant; import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.server.virtualhost.VirtualHost; import org.apache.qpid.server.logging.actors.CurrentActor; import org.apache.qpid.server.registry.ApplicationRegistry; import org.apache.qpid.server.registry.IApplicationRegistry; @@ -36,27 +37,12 @@ import java.security.Principal; /** Test class to test MBean operations for AMQMinaProtocolSession. */ public class MaxChannelsTest extends TestCase { - private IApplicationRegistry _appRegistry; private AMQMinaProtocolSession _session; public void testChannels() throws Exception { - _session = new AMQMinaProtocolSession(new TestIoSession(), _appRegistry - .getVirtualHostRegistry(), new AMQCodecFactory(true)); - - // Set the current Actor for these tests - CurrentActor.set(_session.getLogActor()); - - // Need to authenticate session for it to work, (well for logging to work) - _session.setAuthorizedID(new Principal() - { - public String getName() - { - return "AMQProtocolSessionMBeanTestUser"; - } - }); - - _session.setVirtualHost(_appRegistry.getVirtualHostRegistry().getVirtualHost("test")); + VirtualHost vhost = ApplicationRegistry.getInstance().getVirtualHostRegistry().getVirtualHost("test"); + _session = new InternalTestProtocolSession(vhost); // check the channel count is correct int channelCount = _session.getChannels().size(); @@ -84,11 +70,12 @@ public class MaxChannelsTest extends TestCase @Override public void setUp() { - _appRegistry = ApplicationRegistry.getInstance(1); + //Highlight that this test will cause a new AR to be created + ApplicationRegistry.getInstance(); } @Override - public void tearDown() + public void tearDown() throws Exception { try { _session.closeSession(); @@ -98,10 +85,9 @@ public class MaxChannelsTest extends TestCase } finally { - //Remove the actor set during the test - CurrentActor.remove(); - } - ApplicationRegistry.remove(1); + // Correctly Close the AR we created + ApplicationRegistry.remove(); + } } } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java index db7312202b..8c6260ca9e 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java @@ -294,7 +294,7 @@ public class AMQQueueAlertTest extends TestCase protected void setUp() throws Exception { super.setUp(); - IApplicationRegistry applicationRegistry = ApplicationRegistry.getInstance(1); + IApplicationRegistry applicationRegistry = ApplicationRegistry.getInstance(); _virtualHost = applicationRegistry.getVirtualHostRegistry().getVirtualHost("test"); _protocolSession = new InternalTestProtocolSession(_virtualHost); CurrentActor.set(_protocolSession.getLogActor()); @@ -302,8 +302,9 @@ public class AMQQueueAlertTest extends TestCase protected void tearDown() { + // Remove the Protocol Session Actor set above CurrentActor.remove(); - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(); } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueFactoryTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueFactoryTest.java index 520e49c56a..e692069663 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueFactoryTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueFactoryTest.java @@ -46,7 +46,7 @@ public class AMQQueueFactoryTest extends TestCase public void tearDown() { assertEquals("Queue was not registered in virtualhost", 1, _queueRegistry.getQueues().size()); - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(); } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java index 1acf8a3c31..03eb7021ad 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java @@ -360,7 +360,7 @@ public class AMQQueueMBeanTest extends TestCase protected void setUp() throws Exception { super.setUp(); - IApplicationRegistry applicationRegistry = ApplicationRegistry.getInstance(1); + IApplicationRegistry applicationRegistry = ApplicationRegistry.getInstance(); _virtualHost = applicationRegistry.getVirtualHostRegistry().getVirtualHost("test"); _messageStore = _virtualHost.getMessageStore(); @@ -378,7 +378,7 @@ public class AMQQueueMBeanTest extends TestCase public void tearDown() { - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(); } private void sendMessages(int messageCount, boolean persistent) throws AMQException diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AckTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AckTest.java index d360904dd7..79f7d75aa9 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AckTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AckTest.java @@ -74,8 +74,8 @@ public class AckTest extends TestCase protected void setUp() throws Exception { super.setUp(); - ApplicationRegistry.initialise(new NullApplicationRegistry(), 1); - + // The NullApplicationRegistry will be created by default when + // calling AR.getInstance _virtualHost = ApplicationRegistry.getInstance().getVirtualHostRegistry().getVirtualHost("test"); _messageStore = new TestMemoryMessageStore(); _protocolSession = new InternalTestProtocolSession(_virtualHost); @@ -89,7 +89,7 @@ public class AckTest extends TestCase protected void tearDown() { - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(); } private void publishMessages(int count) throws AMQException diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java index 1c11a7926d..111e94f9bf 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java @@ -94,7 +94,7 @@ public class SimpleAMQQueueTest extends TestCase { super.setUp(); //Create Application Registry for test - ApplicationRegistry applicationRegistry = (ApplicationRegistry)ApplicationRegistry.getInstance(1); + ApplicationRegistry applicationRegistry = (ApplicationRegistry)ApplicationRegistry.getInstance(); PropertiesConfiguration env = new PropertiesConfiguration(); _virtualHost = new VirtualHost(new VirtualHostConfiguration(getClass().getName(), env), _store); @@ -107,7 +107,7 @@ public class SimpleAMQQueueTest extends TestCase protected void tearDown() { _queue.stop(); - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(); } public void testCreateQueue() throws AMQException diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueThreadPoolTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueThreadPoolTest.java index 832df80004..02de09c91f 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueThreadPoolTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueThreadPoolTest.java @@ -36,7 +36,7 @@ public class SimpleAMQQueueThreadPoolTest extends TestCase public void test() throws AMQException { int initialCount = ReferenceCountingExecutorService.getInstance().getReferenceCount(); - VirtualHost test = ApplicationRegistry.getInstance(1).getVirtualHostRegistry().getVirtualHost("test"); + VirtualHost test = ApplicationRegistry.getInstance().getVirtualHostRegistry().getVirtualHost("test"); try { @@ -54,7 +54,7 @@ public class SimpleAMQQueueThreadPoolTest extends TestCase } finally { - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(); } } } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/registry/ApplicationRegistryShutdownTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/registry/ApplicationRegistryShutdownTest.java index 939e3436a5..e75ed640aa 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/registry/ApplicationRegistryShutdownTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/registry/ApplicationRegistryShutdownTest.java @@ -22,6 +22,7 @@ package org.apache.qpid.server.registry; import junit.framework.TestCase; import org.apache.qpid.server.util.TestApplicationRegistry; +import org.apache.qpid.AMQException; import java.security.Security; import java.security.Provider; @@ -37,13 +38,24 @@ import java.util.LinkedList; public class ApplicationRegistryShutdownTest extends TestCase { - ApplicationRegistry _registry; + IApplicationRegistry _registry; public void setUp() throws Exception { + //Highlight that this test will cause a new AR to be created + // This must used TestAppRegistry but during the test getInstance() + // will be called so we must ensure to do the remove() _registry = new TestApplicationRegistry(); } + @Override + public void tearDown() throws Exception + { + // Correctly Close the AR we created + ApplicationRegistry.remove(); + } + + /** * QPID-1399 : Ensure that the Authentiction manager unregisters any SASL providers created during * ApplicationRegistry initialisation. diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/security/access/ACLManagerTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/security/access/ACLManagerTest.java index 8262ca0e29..8102360ce0 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/security/access/ACLManagerTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/security/access/ACLManagerTest.java @@ -72,6 +72,14 @@ public class ACLManagerTest extends TestCase // Create a single session for this test. _session = new InternalTestProtocolSession(virtualHost); } + + @Override + public void tearDown() throws Exception + { + // Correctly Close the AR we created + ApplicationRegistry.remove(); + super.tearDown(); + } public void testACLManagerConfigurationPluginManager() throws Exception { diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/security/access/PrincipalPermissionsTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/security/access/PrincipalPermissionsTest.java index e1e93ae9cb..69c8ccaa5d 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/security/access/PrincipalPermissionsTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/security/access/PrincipalPermissionsTest.java @@ -36,6 +36,7 @@ import org.apache.qpid.server.queue.AMQQueueFactory; import org.apache.qpid.server.security.access.ACLPlugin.AuthzResult; import org.apache.qpid.server.store.SkeletonMessageStore; import org.apache.qpid.server.virtualhost.VirtualHost; +import org.apache.qpid.server.registry.ApplicationRegistry; public class PrincipalPermissionsTest extends TestCase { @@ -65,6 +66,9 @@ public class PrincipalPermissionsTest extends TestCase @Override public void setUp() { + //Highlight that this test will cause a new AR to be created + ApplicationRegistry.getInstance(); + _perms = new PrincipalPermissions(_user); try { @@ -78,7 +82,15 @@ public class PrincipalPermissionsTest extends TestCase fail(e.getMessage()); } } - + + @Override + protected void tearDown() throws Exception + { + //Ensure we close the opened Registry + ApplicationRegistry.remove(); + } + + public void testPrincipalPermissions() { assertNotNull(_perms); diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/security/access/plugins/network/FirewallPluginTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/security/access/plugins/network/FirewallPluginTest.java index f56d562354..a497365b06 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/security/access/plugins/network/FirewallPluginTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/security/access/plugins/network/FirewallPluginTest.java @@ -89,6 +89,7 @@ public class FirewallPluginTest extends TestCase @Override public void setUp() throws Exception { + super.setUp(); _store = new TestableMemoryMessageStore(); TestIoSession iosession = new TestIoSession(); iosession.setAddress("127.0.0.1"); @@ -100,7 +101,14 @@ public class FirewallPluginTest extends TestCase AMQCodecFactory codecFactory = new AMQCodecFactory(true); _session = new AMQMinaProtocolSession(iosession, virtualHostRegistry, codecFactory); } - + + public void tearDown() throws Exception + { + // Correctly Close the AR that we created above + ApplicationRegistry.remove(); + super.tearDown(); + } + private FirewallPlugin initialisePlugin(String defaultAction, RuleInfo[] rules) throws IOException, ConfigurationException { // Create sample config file diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTest.java index 30b571ef63..5802655cfc 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTest.java @@ -136,12 +136,12 @@ public class MessageStoreTest extends TestCase protected void setUp() { - ApplicationRegistry.getInstance(1); + ApplicationRegistry.getInstance(); } protected void tearDown() { - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(); } protected void runTestWithStore(Configuration configuration) diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java index b706ee51d8..f2096df9d1 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java @@ -91,7 +91,7 @@ public class InternalBrokerBaseCase extends TestCase public void tearDown() throws Exception { CurrentActor.remove(); - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(); super.tearDown(); } diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/util/NullApplicationRegistry.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/util/NullApplicationRegistry.java index 9ef1e029d3..ccfa84c5a6 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/util/NullApplicationRegistry.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/util/NullApplicationRegistry.java @@ -25,6 +25,9 @@ import org.apache.commons.configuration.PropertiesConfiguration; import org.apache.qpid.server.configuration.ServerConfiguration; import org.apache.qpid.server.configuration.VirtualHostConfiguration; import org.apache.qpid.server.logging.RootMessageLoggerImpl; +import org.apache.qpid.server.logging.actors.CurrentActor; +import org.apache.qpid.server.logging.actors.BrokerActor; +import org.apache.qpid.server.logging.actors.TestLogActor; import org.apache.qpid.server.logging.rawloggers.Log4jMessageLogger; import org.apache.qpid.server.management.NoopManagedObjectRegistry; import org.apache.qpid.server.plugins.PluginManager; @@ -53,6 +56,9 @@ public class NullApplicationRegistry extends ApplicationRegistry _rootMessageLogger = new RootMessageLoggerImpl(_configuration, new Log4jMessageLogger()); + //We should use a Test Actor Here not the Broker Actor + CurrentActor.set(new TestLogActor(_rootMessageLogger)); + _configuration.setHousekeepingExpiredMessageCheckPeriod(200); Properties users = new Properties(); @@ -81,6 +87,13 @@ public class NullApplicationRegistry extends ApplicationRegistry String[] hosts = {"test"}; return Arrays.asList(hosts); } + + @Override + public void close() throws Exception + { + super.close(); + CurrentActor.remove(); + } } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java index 4ecbffb4b4..5089468633 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java @@ -40,6 +40,8 @@ import org.apache.qpid.server.store.TestableMemoryMessageStore; import org.apache.qpid.server.virtualhost.VirtualHost; import org.apache.qpid.server.virtualhost.VirtualHostRegistry; import org.apache.qpid.server.logging.RootMessageLoggerImpl; +import org.apache.qpid.server.logging.actors.CurrentActor; +import org.apache.qpid.server.logging.actors.TestLogActor; import org.apache.qpid.server.logging.rawloggers.Log4jMessageLogger; import java.util.Collection; @@ -77,7 +79,11 @@ public class TestApplicationRegistry extends ApplicationRegistry { _rootMessageLogger = new RootMessageLoggerImpl(_configuration, new Log4jMessageLogger()); - + + //Add a Test Actor as a lot of our System Tests reach in to the broker + // and manipulate it so the CurrentActor is not set. + CurrentActor.set(new TestLogActor(_rootMessageLogger)); + Properties users = new Properties(); users.put("guest", "guest"); @@ -137,6 +143,13 @@ public class TestApplicationRegistry extends ApplicationRegistry return _messageStore; } + @Override + public void close() throws Exception + { + super.close(); + CurrentActor.remove(); + } + } diff --git a/qpid/java/management/eclipse-plugin/build.xml b/qpid/java/management/eclipse-plugin/build.xml index 7168d69c72..9952ff66e3 100644 --- a/qpid/java/management/eclipse-plugin/build.xml +++ b/qpid/java/management/eclipse-plugin/build.xml @@ -21,6 +21,7 @@ <project name="Eclipse Plugin" default="build"> <property name="module.depends" value="broker common management/common"/> + <property name="module.test.depends" value="broker/test" /> <import file="../../module.xml"/> diff --git a/qpid/java/management/eclipse-plugin/src/test/java/org/apache/qpid/management/ui/ManagementConsoleTest.java b/qpid/java/management/eclipse-plugin/src/test/java/org/apache/qpid/management/ui/ManagementConsoleTest.java index 11ab6af064..5469bfad5f 100644 --- a/qpid/java/management/eclipse-plugin/src/test/java/org/apache/qpid/management/ui/ManagementConsoleTest.java +++ b/qpid/java/management/eclipse-plugin/src/test/java/org/apache/qpid/management/ui/ManagementConsoleTest.java @@ -58,7 +58,8 @@ public class ManagementConsoleTest extends TestCase @Override protected void tearDown() throws Exception { - ApplicationRegistry.removeAll(); + // Correctly Close the AR that we created above + ApplicationRegistry.remove(); } /** diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/security/acl/SimpleACLTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/security/acl/SimpleACLTest.java index 64838cd328..3d310331db 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/server/security/acl/SimpleACLTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/security/acl/SimpleACLTest.java @@ -38,7 +38,7 @@ import java.io.File; public class SimpleACLTest extends QpidTestCase implements ConnectionListener { - private String BROKER = "vm://:1";//"tcp://localhost:5672"; + private String BROKER = "vm://:"+ApplicationRegistry.DEFAULT_INSTANCE;//"tcp://localhost:5672"; public void setUp() throws Exception { @@ -61,14 +61,14 @@ public class SimpleACLTest extends QpidTestCase implements ConnectionListener } ConfigurationFileApplicationRegistry config = new ConfigurationFileApplicationRegistry(defaultaclConfigFile); - ApplicationRegistry.initialise(config, 1); - TransportConnection.createVMBroker(1); + ApplicationRegistry.initialise(config, ApplicationRegistry.DEFAULT_INSTANCE); + TransportConnection.createVMBroker(ApplicationRegistry.DEFAULT_INSTANCE); } public void tearDown() { TransportConnection.killAllVMBrokers(); - ApplicationRegistry.remove(1); + ApplicationRegistry.remove(ApplicationRegistry.DEFAULT_INSTANCE); } public String createConnectionString(String username, String password, String broker) |