diff options
Diffstat (limited to 'qpid/java')
4 files changed, 60 insertions, 11 deletions
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 9bc36c1428..f731988a8e 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 @@ -58,7 +58,7 @@ public class InternalBrokerBaseCase extends TestCase protected AMQShortString QUEUE_NAME; protected ServerConfiguration _configuration; protected XMLConfiguration _configXml = new XMLConfiguration(); - private boolean _started = false; + protected boolean _started = false; public void setUp() throws Exception { diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java index edbf631890..5bdc337013 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java @@ -20,7 +20,13 @@ */ package org.apache.qpid.server.logging; +import org.apache.qpid.server.configuration.ServerConfiguration; +import org.apache.qpid.server.logging.actors.CurrentActor; +import org.apache.qpid.server.logging.actors.TestLogActor; import org.apache.qpid.server.logging.subjects.AbstractTestLogSubject; +import org.apache.qpid.server.registry.ApplicationRegistry; +import org.apache.qpid.server.util.InternalBrokerBaseCase; +import org.apache.qpid.server.util.TestApplicationRegistry; import org.apache.qpid.test.utils.QpidBrokerTestCase; import org.apache.qpid.util.LogMonitor; @@ -34,18 +40,65 @@ public class AbstractTestLogging extends QpidBrokerTestCase { public static final long DEFAULT_LOG_WAIT = 2000; protected LogMonitor _monitor; + ServerConfiguration _serverConfiguration; + + InternalBrokerBaseCase _configLoader; @Override public void setUp() throws Exception { super.setUp(); _monitor = new LogMonitor(_outputFile); + + if (isExternalBroker()) + { + _serverConfiguration = new ServerConfiguration(_configFile); + + _configLoader = new InternalBrokerBaseCase() + { + @Override + protected void createBroker() throws Exception + { + _started = true; + CurrentActor.set(new TestLogActor(new StartupRootMessageLogger())); + + // Prevent the InVM broker from logging and spoiling tests. + _serverConfiguration.getConfig().setProperty(ServerConfiguration.STATUS_UPDATES, "off"); + + _configuration = _serverConfiguration; + _registry = new TestApplicationRegistry(_configuration); + ApplicationRegistry.initialise(_registry); + + } + + @Override + protected void stopBroker() + { + ApplicationRegistry.remove(); + } + }; + + // Set the test name as this will be used to define some default queues + // VirtualHost, use test as this is a default vhost name. + _configLoader.setName("test"); + + _configLoader.setUp(); + } + else + { + _serverConfiguration = ApplicationRegistry.getInstance().getConfiguration(); + } + } @Override public void tearDown() throws Exception { _monitor.close(); + if (isExternalBroker() && _configLoader != null) + { + _configLoader.tearDown(); + } super.tearDown(); } diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/MemoryMessageStoreLoggingTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/MemoryMessageStoreLoggingTest.java index 294838201f..389cae03ab 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/MemoryMessageStoreLoggingTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/MemoryMessageStoreLoggingTest.java @@ -76,7 +76,7 @@ public class MemoryMessageStoreLoggingTest extends AbstractTestLogging { assertLoggingNotYetOccured(MESSAGES_STORE_PREFIX); - startBroker(); + super.setUp(); List<String> results = _monitor.waitAndFindMatches(MESSAGES_STORE_PREFIX, DEFAULT_LOG_WAIT); @@ -92,9 +92,7 @@ public class MemoryMessageStoreLoggingTest extends AbstractTestLogging results = _monitor.waitAndFindMatches("MST-1001", DEFAULT_LOG_WAIT); // Load VirtualHost list from file. - ServerConfiguration configuration = new ServerConfiguration(_configFile); - configuration.initialise(); - List<String> vhosts = Arrays.asList(configuration.getVirtualHosts()); + List<String> vhosts = Arrays.asList(_serverConfiguration.getVirtualHosts()); assertEquals("Each vhost did not create a store.", vhosts.size(), results.size()); @@ -107,7 +105,7 @@ public class MemoryMessageStoreLoggingTest extends AbstractTestLogging String vhostName = AbstractTestLogSubject.getSlice("vh", result).substring(1); // Get the store class used in the configuration for the virtualhost. - String fullStoreName = configuration.getVirtualHostConfig(vhostName).getMessageStoreClass(); + String fullStoreName = _serverConfiguration.getVirtualHostConfig(vhostName).getMessageStoreClass(); // Get the Simple class name from the expected class name of o.a.q.s.s.MMS String storeName = fullStoreName.substring(fullStoreName.lastIndexOf(".") + 1); @@ -142,7 +140,7 @@ public class MemoryMessageStoreLoggingTest extends AbstractTestLogging { assertLoggingNotYetOccured(MESSAGES_STORE_PREFIX); - startBroker(); + super.setUp(); //Stop the broker so we get the close messages. stopBroker(); diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/VirtualHostLoggingTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/VirtualHostLoggingTest.java index a82e0c7496..3c5ba3956b 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/VirtualHostLoggingTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/logging/VirtualHostLoggingTest.java @@ -27,6 +27,7 @@ import java.util.List; import junit.framework.AssertionFailedError; import org.apache.qpid.server.configuration.ServerConfiguration; +import org.apache.qpid.server.util.InternalBrokerBaseCase; /** * Virtualhost Test Cases @@ -68,10 +69,7 @@ public class VirtualHostLoggingTest extends AbstractTestLogging try { - // Load VirtualHost list from file. - ServerConfiguration configuration = new ServerConfiguration(_configFile); - configuration.initialise(); - List<String> vhosts = Arrays.asList(configuration.getVirtualHosts()); + List<String> vhosts = Arrays.asList(_serverConfiguration.getVirtualHosts()); assertEquals("Each vhost did not create a store.", vhosts.size(), results.size()); |
