summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2010-06-02 16:43:27 +0000
committerMartin Ritchie <ritchiem@apache.org>2010-06-02 16:43:27 +0000
commit648ac63f23f25c92f2233fd9b13ee04a0c13a8b6 (patch)
tree05e92f606bdbba20b0e1d0859d73abcd11763635 /qpid/java
parent6488b54f89899b6b2c5be32f48acb745f78421f2 (diff)
downloadqpid-python-648ac63f23f25c92f2233fd9b13ee04a0c13a8b6.tar.gz
QPID-2632 : Update IBBC and TestApplicationRegistry to provide default test vhosts and one named after the test via getName().
Also provide configure() method callback so the test can provide any configuration it needs before the broker starts up. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@950643 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.java63
-rw-r--r--qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java21
2 files changed, 64 insertions, 20 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 20bad0fb69..7e33110b03 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
@@ -31,9 +31,11 @@ import org.apache.qpid.framing.ContentHeaderBody;
import org.apache.qpid.framing.FieldTable;
import org.apache.qpid.framing.abstraction.MessagePublishInfo;
import org.apache.qpid.server.AMQChannel;
+import org.apache.qpid.server.logging.StartupRootMessageLogger;
import org.apache.qpid.server.logging.actors.CurrentActor;
import org.apache.qpid.server.configuration.ServerConfiguration;
import org.apache.qpid.server.exchange.Exchange;
+import org.apache.qpid.server.logging.actors.TestLogActor;
import org.apache.qpid.server.protocol.InternalTestProtocolSession;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.queue.AMQQueueFactory;
@@ -54,20 +56,44 @@ public class InternalBrokerBaseCase extends TestCase
protected VirtualHost _virtualHost;
protected AMQQueue _queue;
protected AMQShortString QUEUE_NAME;
+ protected ServerConfiguration _configuration;
public void setUp() throws Exception
{
super.setUp();
+
+ createBroker();
+ }
+
+ protected void createBroker() throws Exception
+ {
+ CurrentActor.set(new TestLogActor(new StartupRootMessageLogger()));
+
PropertiesConfiguration configuration = new PropertiesConfiguration();
configuration.setProperty("virtualhosts.virtualhost.name", "test");
configuration.setProperty("virtualhosts.virtualhost.test.store.class", TestableMemoryMessageStore.class.getName());
- _registry = new TestApplicationRegistry(new ServerConfiguration(configuration));
+
+ configuration.setProperty("virtualhosts.virtualhost.name", getName());
+ configuration.setProperty("virtualhosts.virtualhost."+getName()+".store.class", TestableMemoryMessageStore.class.getName());
+
+ _configuration = new ServerConfiguration(configuration);
+
+ configure();
+
+ _registry = new TestApplicationRegistry(_configuration);
ApplicationRegistry.initialise(_registry);
- _virtualHost = _registry.getVirtualHostRegistry().getVirtualHost("test");
+ _registry.getVirtualHostRegistry().setDefaultVirtualHostName(getName());
+ _virtualHost = _registry.getVirtualHostRegistry().getVirtualHost(getName());
+
+ QUEUE_NAME = new AMQShortString("test");
+ // Create a queue on the test Vhost.. this will aid in diagnosing duff tests
+ // as the ExpiredMessage Task will log with the test Name.
+ AMQQueueFactory.createAMQQueueImpl(QUEUE_NAME, false, new AMQShortString("testowner"),
+ false, false, _virtualHost, null);
+ _virtualHost = _registry.getVirtualHostRegistry().getVirtualHost("test");
_messageStore = _virtualHost.getMessageStore();
- QUEUE_NAME = new AMQShortString("test");
_queue = AMQQueueFactory.createAMQQueueImpl(QUEUE_NAME, false, new AMQShortString("testowner"),
false, false, _virtualHost, null);
@@ -85,21 +111,38 @@ public class InternalBrokerBaseCase extends TestCase
_session.addChannel(_channel);
}
- public void tearDown() throws Exception
+ protected void configure()
+ {
+ // Allow other tests to override configuration
+ }
+
+ protected void stopBroker()
{
try
{
+ //Remove the ProtocolSession Actor added during createBroker
CurrentActor.remove();
}
finally
{
- try
- {
- ApplicationRegistry.remove();
- }
- finally
+ ApplicationRegistry.remove();
+ }
+ }
+
+
+ public void tearDown() throws Exception
+ {
+ try
+ {
+ stopBroker();
+ }
+ finally
+ {
+ super.tearDown();
+ // Purge Any erroneously added actors
+ while (CurrentActor.get() != null)
{
- super.tearDown();
+ 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 48080cedb7..af8997cf40 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
@@ -21,27 +21,28 @@
package org.apache.qpid.server.util;
import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.qpid.server.configuration.ServerConfiguration;
import org.apache.qpid.server.registry.ApplicationRegistry;
+import org.apache.qpid.server.security.auth.database.PropertiesPrincipalDatabaseManager;
+
+import java.util.Properties;
-import org.apache.qpid.server.store.TestableMemoryMessageStore;
public class TestApplicationRegistry extends ApplicationRegistry
{
- public TestApplicationRegistry() throws ConfigurationException
+ public TestApplicationRegistry(ServerConfiguration config) throws ConfigurationException
{
- this(new ServerConfiguration(new PropertiesConfiguration()));
+ super(config);
}
- public TestApplicationRegistry(ServerConfiguration config) throws ConfigurationException
+ protected void createDatabaseManager(ServerConfiguration configuration) throws Exception
{
- super(config);
- _configuration.getConfig().setProperty("virtualhosts.virtualhost.name",
- "test");
- _configuration.getConfig().setProperty("virtualhosts.virtualhost.test.store.class",
- TestableMemoryMessageStore.class.getName());
+ Properties users = new Properties();
+ users.put("guest","guest");
+ users.put("admin","admin");
+ _databaseManager = new PropertiesPrincipalDatabaseManager("testPasswordFile", users);
}
+
}