summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2010-06-03 21:30:07 +0000
committerMartin Ritchie <ritchiem@apache.org>2010-06-03 21:30:07 +0000
commit55c585d4b7d6af2dbcaf30b1df01f8604a38d203 (patch)
tree94c3fa439cccd4cb74377bbcd9210f9d4e230e5e /qpid/java
parent88782570f5e820c449dd3c5c47cc417f0751226d (diff)
downloadqpid-python-55c585d4b7d6af2dbcaf30b1df01f8604a38d203.tar.gz
QPID-2632 : External broker profile actually needs an InVM broker created to process the configuration.
As we don't automatically create the AppRegistry any more we need to explicitly create an InVM broker for these two tests. It may be necessary to move the IBBC creation from AbstractTestLogging to QBTC for external profile runs. However, testing to date has only shown these two tests failing due to missing AR. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@951170 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java2
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/server/logging/AbstractTestLogging.java53
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/server/logging/MemoryMessageStoreLoggingTest.java10
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/server/logging/VirtualHostLoggingTest.java6
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());