You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2010/06/02 18:43:27 UTC

svn commit: r950643 - in /qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/util: InternalBrokerBaseCase.java TestApplicationRegistry.java

Author: ritchiem
Date: Wed Jun  2 16:43:27 2010
New Revision: 950643

URL: http://svn.apache.org/viewvc?rev=950643&view=rev
Log:
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.

Modified:
    qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java
    qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java

Modified: qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java?rev=950643&r1=950642&r2=950643&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java (original)
+++ qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/util/InternalBrokerBaseCase.java Wed Jun  2 16:43:27 2010
@@ -31,9 +31,11 @@ import org.apache.qpid.framing.ContentHe
 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 exte
     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 exte
         _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();
             }
         }
     }

Modified: qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java?rev=950643&r1=950642&r2=950643&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java (original)
+++ qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/util/TestApplicationRegistry.java Wed Jun  2 16:43:27 2010
@@ -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);
     }
+
 }
 
 



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org