diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2013-07-01 09:56:29 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2013-07-01 09:56:29 +0000 |
| commit | 2549e2808832606b05383d8383e56d1fafffedee (patch) | |
| tree | 26136053cf5ad8229351948f596c41bbe0d2afb3 /qpid/java/broker/src/test | |
| parent | 94a44efa32a181bfef063523cb592523d48af392 (diff) | |
| download | qpid-python-2549e2808832606b05383d8383e56d1fafffedee.tar.gz | |
QPID-4970 : [Java Broker] Configure MessageStores based on VirtualHost object not XML Configuration
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1498345 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker/src/test')
9 files changed, 87 insertions, 44 deletions
diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/DurableConfigurationStoreTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/DurableConfigurationStoreTest.java index 8a7d5d85fc..57e1fcd15c 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/DurableConfigurationStoreTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/DurableConfigurationStoreTest.java @@ -49,6 +49,7 @@ import org.apache.qpid.server.logging.actors.CurrentActor; import org.apache.qpid.server.logging.actors.TestLogActor; import org.apache.qpid.server.message.EnqueableMessage; import org.apache.qpid.server.model.UUIDGenerator; +import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.queue.AMQQueue; import org.apache.qpid.server.queue.MockStoredMessage; import org.apache.qpid.server.store.ConfigurationRecoveryHandler.BindingRecoveryHandler; @@ -67,6 +68,7 @@ public class DurableConfigurationStoreTest extends QpidTestCase private String _storeName; private MessageStore _messageStore; private Configuration _configuration; + private VirtualHost _virtualHost; private ConfigurationRecoveryHandler _recoveryHandler; private QueueRecoveryHandler _queueRecoveryHandler; @@ -107,6 +109,7 @@ public class DurableConfigurationStoreTest extends QpidTestCase _messageStoreRecoveryHandler = mock(MessageStoreRecoveryHandler.class); _queueEntryRecoveryHandler = mock(TransactionLogRecoveryHandler.QueueEntryRecoveryHandler.class); _dtxRecordRecoveryHandler = mock(TransactionLogRecoveryHandler.DtxRecordRecoveryHandler.class); + _virtualHost = mock(VirtualHost.class); when(_messageStoreRecoveryHandler.begin()).thenReturn(_storedMessageRecoveryHandler); when(_recoveryHandler.begin(isA(MessageStore.class))).thenReturn(_exchangeRecoveryHandler); @@ -118,6 +121,7 @@ public class DurableConfigurationStoreTest extends QpidTestCase when(_exchange.getId()).thenReturn(_exchangeId); when(_configuration.getString(eq(MessageStoreConstants.ENVIRONMENT_PATH_PROPERTY), anyString())).thenReturn( _storePath); + when(_virtualHost.getAttribute(eq(VirtualHost.STORE_PATH))).thenReturn(_storePath); _bindingArgs = new FieldTable(); AMQShortString argKey = AMQPFilterTypes.JMS_SELECTOR.getValue(); @@ -314,8 +318,8 @@ public class DurableConfigurationStoreTest extends QpidTestCase _messageStore = createMessageStore(); _configStore = createConfigStore(); - _configStore.configureConfigStore(_storeName, _recoveryHandler, _configuration); - _messageStore.configureMessageStore(_storeName, _messageStoreRecoveryHandler, _logRecoveryHandler, _configuration); + _configStore.configureConfigStore(_storeName, _recoveryHandler, _virtualHost); + _messageStore.configureMessageStore(_storeName, _messageStoreRecoveryHandler, _logRecoveryHandler); _messageStore.activate(); } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreQuotaEventsTestBase.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreQuotaEventsTestBase.java index 8743c4111b..f57195b2d7 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreQuotaEventsTestBase.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreQuotaEventsTestBase.java @@ -26,7 +26,6 @@ import java.util.ArrayList; import java.util.List; import java.util.UUID; -import org.apache.commons.configuration.XMLConfiguration; import org.apache.log4j.Logger; import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.framing.BasicContentHeaderProperties; @@ -37,9 +36,14 @@ import org.apache.qpid.framing.abstraction.MessagePublishInfo; import org.apache.qpid.framing.abstraction.MessagePublishInfoImpl; import org.apache.qpid.server.message.EnqueableMessage; import org.apache.qpid.server.message.MessageMetaData; +import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.test.utils.QpidTestCase; import org.apache.qpid.util.FileUtils; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + public abstract class MessageStoreQuotaEventsTestBase extends QpidTestCase implements EventListener, TransactionLogResource { private static final Logger _logger = Logger.getLogger(MessageStoreQuotaEventsTestBase.class); @@ -54,7 +58,7 @@ public abstract class MessageStoreQuotaEventsTestBase extends QpidTestCase imple protected abstract MessageStore createStore() throws Exception; - protected abstract void applyStoreSpecificConfiguration(XMLConfiguration config); + protected abstract void applyStoreSpecificConfiguration(VirtualHost virtualHost); protected abstract int getNumberOfMessagesToFillStore(); @@ -66,12 +70,13 @@ public abstract class MessageStoreQuotaEventsTestBase extends QpidTestCase imple _storeLocation = new File(new File(TMP_FOLDER), getTestName()); FileUtils.delete(_storeLocation, true); - XMLConfiguration config = new XMLConfiguration(); - config.addProperty("environment-path", _storeLocation.getAbsolutePath()); - applyStoreSpecificConfiguration(config); + + VirtualHost vhost = mock(VirtualHost.class); + when(vhost.getAttribute(eq(VirtualHost.STORE_PATH))).thenReturn(_storeLocation.getAbsolutePath()); + applyStoreSpecificConfiguration(vhost); _store = createStore(); - ((DurableConfigurationStore)_store).configureConfigStore("test", null, config); + ((DurableConfigurationStore)_store).configureConfigStore("test", null, vhost); _transactionResource = UUID.randomUUID(); _events = new ArrayList<Event>(); 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 fb255e89f9..5eea002365 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 @@ -62,6 +62,10 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + /** * This tests the MessageStores by using the available interfaces. * @@ -98,26 +102,42 @@ public class MessageStoreTest extends QpidTestCase private PropertiesConfiguration _config; private VirtualHost _virtualHost; + private org.apache.qpid.server.model.VirtualHost _virtualHostModel; private Broker _broker; + private String _storePath; public void setUp() throws Exception { super.setUp(); BrokerTestHelper.setUp(); - String storePath = System.getProperty("QPID_WORK") + File.separator + getName(); + _storePath = System.getProperty("QPID_WORK") + File.separator + getName(); _config = new PropertiesConfiguration(); _config.addProperty("store.class", getTestProfileMessageStoreClassName()); - _config.addProperty("store.environment-path", storePath); + _config.addProperty("store.environment-path", _storePath); + _virtualHostModel = mock(org.apache.qpid.server.model.VirtualHost.class); + when(_virtualHostModel.getAttribute(eq(org.apache.qpid.server.model.VirtualHost.STORE_PATH))).thenReturn(_storePath); + + - cleanup(new File(storePath)); + cleanup(new File(_storePath)); _broker = BrokerTestHelper.createBrokerMock(); reloadVirtualHost(); } + protected String getStorePath() + { + return _storePath; + } + + protected org.apache.qpid.server.model.VirtualHost getVirtualHostModel() + { + return _virtualHostModel; + } + @Override public void tearDown() throws Exception { @@ -164,7 +184,7 @@ public class MessageStoreTest extends QpidTestCase try { - _virtualHost = BrokerTestHelper.createVirtualHost(new VirtualHostConfiguration(getClass().getName(), _config, _broker)); + _virtualHost = BrokerTestHelper.createVirtualHost(new VirtualHostConfiguration(getClass().getName(), _config, _broker),null,getVirtualHostModel()); } catch (Exception e) { diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTestCase.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTestCase.java index 88d5852a17..a73057ebc1 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTestCase.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreTestCase.java @@ -25,8 +25,7 @@ import static org.mockito.Matchers.isA; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.PropertiesConfiguration; +import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.store.ConfigurationRecoveryHandler.BindingRecoveryHandler; import org.apache.qpid.server.store.ConfigurationRecoveryHandler.ExchangeRecoveryHandler; import org.apache.qpid.server.store.ConfigurationRecoveryHandler.QueueRecoveryHandler; @@ -44,9 +43,9 @@ public abstract class MessageStoreTestCase extends QpidTestCase private TransactionLogRecoveryHandler _logRecoveryHandler; private TransactionLogRecoveryHandler.QueueEntryRecoveryHandler _queueEntryRecoveryHandler; private TransactionLogRecoveryHandler.DtxRecordRecoveryHandler _dtxRecordRecoveryHandler; + private VirtualHost _virtualHost; private MessageStore _store; - private Configuration _storeConfiguration; public void setUp() throws Exception { @@ -61,6 +60,7 @@ public abstract class MessageStoreTestCase extends QpidTestCase _messageStoreRecoveryHandler = mock(MessageStoreRecoveryHandler.class); _queueEntryRecoveryHandler = mock(TransactionLogRecoveryHandler.QueueEntryRecoveryHandler.class); _dtxRecordRecoveryHandler = mock(TransactionLogRecoveryHandler.DtxRecordRecoveryHandler.class); + _virtualHost = mock(VirtualHost.class); when(_messageStoreRecoveryHandler.begin()).thenReturn(_storedMessageRecoveryHandler); when(_recoveryHandler.begin(isA(MessageStore.class))).thenReturn(_exchangeRecoveryHandler); @@ -69,15 +69,15 @@ public abstract class MessageStoreTestCase extends QpidTestCase when(_logRecoveryHandler.begin(any(MessageStore.class))).thenReturn(_queueEntryRecoveryHandler); when(_queueEntryRecoveryHandler.completeQueueEntryRecovery()).thenReturn(_dtxRecordRecoveryHandler); - _storeConfiguration = new PropertiesConfiguration(); - setUpStoreConfiguration(_storeConfiguration); + setUpStoreConfiguration(_virtualHost); _store = createMessageStore(); - ((DurableConfigurationStore)_store).configureConfigStore(getTestName(), _recoveryHandler, _storeConfiguration); - _store.configureMessageStore(getTestName(), _messageStoreRecoveryHandler, _logRecoveryHandler, _storeConfiguration); + ((DurableConfigurationStore)_store).configureConfigStore(getTestName(), _recoveryHandler, _virtualHost); + + _store.configureMessageStore(getTestName(), _messageStoreRecoveryHandler, _logRecoveryHandler); } - protected abstract void setUpStoreConfiguration(Configuration storeConfiguration) throws Exception; + protected abstract void setUpStoreConfiguration(VirtualHost virtualHost) throws Exception; protected abstract MessageStore createMessageStore(); @@ -86,8 +86,4 @@ public abstract class MessageStoreTestCase extends QpidTestCase return _store; } - public Configuration getStoreConfiguration() - { - return _storeConfiguration; - } } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreQuotaEventsTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreQuotaEventsTest.java index 5d316fca43..479675dac1 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreQuotaEventsTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreQuotaEventsTest.java @@ -20,11 +20,15 @@ */ package org.apache.qpid.server.store.derby; -import org.apache.commons.configuration.XMLConfiguration; import org.apache.log4j.Logger; +import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.store.MessageStore; +import org.apache.qpid.server.store.MessageStoreConstants; import org.apache.qpid.server.store.MessageStoreQuotaEventsTestBase; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.when; + public class DerbyMessageStoreQuotaEventsTest extends MessageStoreQuotaEventsTestBase { private static final Logger _logger = Logger.getLogger(DerbyMessageStoreQuotaEventsTest.class); @@ -46,12 +50,12 @@ public class DerbyMessageStoreQuotaEventsTest extends MessageStoreQuotaEventsTes } @Override - protected void applyStoreSpecificConfiguration(XMLConfiguration config) + protected void applyStoreSpecificConfiguration(VirtualHost vhost) { _logger.debug("Applying store specific config. overfull-sze=" + OVERFULL_SIZE + ", underfull-size=" + UNDERFULL_SIZE); - config.addProperty("overfull-size", OVERFULL_SIZE); - config.addProperty("underfull-size", UNDERFULL_SIZE); + when(vhost.getAttribute(eq(MessageStoreConstants.OVERFULL_SIZE_ATTRIBUTE))).thenReturn(OVERFULL_SIZE); + when(vhost.getAttribute(eq(MessageStoreConstants.UNDERFULL_SIZE_ATTRIBUTE))).thenReturn(UNDERFULL_SIZE); } @Override diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreTest.java index 1747588bf1..859fad629b 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreTest.java @@ -22,11 +22,14 @@ package org.apache.qpid.server.store.derby; import java.io.File; -import org.apache.commons.configuration.Configuration; +import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.store.MessageStore; import org.apache.qpid.server.store.MessageStoreTestCase; import org.apache.qpid.util.FileUtils; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.when; + public class DerbyMessageStoreTest extends MessageStoreTestCase { private String _storeLocation; @@ -57,10 +60,10 @@ public class DerbyMessageStoreTest extends MessageStoreTestCase } @Override - protected void setUpStoreConfiguration(Configuration storeConfiguration) throws Exception + protected void setUpStoreConfiguration(VirtualHost virtualHost) throws Exception { _storeLocation = TMP_FOLDER + File.separator + getTestName(); - storeConfiguration.setProperty("environment-path", _storeLocation); + when(virtualHost.getAttribute(eq(VirtualHost.STORE_PATH))).thenReturn(_storeLocation); deleteStoreIfExists(); } diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreTest.java index bb118eaaf7..a8e0460cea 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreTest.java @@ -28,11 +28,14 @@ import java.sql.SQLException; import java.util.HashSet; import java.util.Set; -import org.apache.commons.configuration.Configuration; +import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.store.MessageStore; import org.apache.qpid.server.store.MessageStoreTestCase; import org.apache.qpid.server.store.derby.DerbyMessageStore; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.when; + public class JDBCMessageStoreTest extends MessageStoreTestCase { private String _connectionURL; @@ -61,10 +64,11 @@ public class JDBCMessageStoreTest extends MessageStoreTestCase } @Override - protected void setUpStoreConfiguration(Configuration storeConfiguration) throws Exception + protected void setUpStoreConfiguration(VirtualHost virtualHost) throws Exception { _connectionURL = "jdbc:derby:memory:/" + getTestName() + ";create=true"; - storeConfiguration.addProperty("connectionUrl", _connectionURL); + + when(virtualHost.getAttribute(eq("connectionURL"))).thenReturn(_connectionURL); } @Override diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java index 1c8939d117..7811d04997 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java @@ -58,7 +58,6 @@ import org.apache.qpid.server.store.TestableMemoryMessageStore; import org.apache.qpid.server.virtualhost.StandardVirtualHostFactory; import org.apache.qpid.server.virtualhost.VirtualHost; import org.apache.qpid.server.plugin.VirtualHostFactory; -import org.apache.qpid.server.virtualhost.VirtualHostFactoryRegistry; import org.apache.qpid.server.virtualhost.VirtualHostRegistry; public class BrokerTestHelper @@ -98,6 +97,12 @@ public class BrokerTestHelper public static VirtualHost createVirtualHost(VirtualHostConfiguration virtualHostConfiguration, VirtualHostRegistry virtualHostRegistry) throws Exception { + return createVirtualHost(virtualHostConfiguration, virtualHostRegistry, mock(org.apache.qpid.server.model.VirtualHost.class)); + } + + public static VirtualHost createVirtualHost(VirtualHostConfiguration virtualHostConfiguration, VirtualHostRegistry virtualHostRegistry, org.apache.qpid.server.model.VirtualHost modelVHost) + throws Exception + { StatisticsGatherer statisticsGatherer = mock(StatisticsGatherer.class); final VirtualHostFactory factory = virtualHostConfiguration == null ? new StandardVirtualHostFactory() @@ -105,18 +110,18 @@ public class BrokerTestHelper VirtualHost host = factory.createVirtualHost(virtualHostRegistry, statisticsGatherer, new SecurityManager(mock(Broker.class), false), - virtualHostConfiguration); - virtualHostRegistry.registerVirtualHost(host); + virtualHostConfiguration, + modelVHost); + if(virtualHostRegistry != null) + { + virtualHostRegistry.registerVirtualHost(host); + } return host; } public static VirtualHost createVirtualHost(VirtualHostConfiguration virtualHostConfiguration) throws Exception { - final VirtualHostFactory factory = - virtualHostConfiguration == null ? new StandardVirtualHostFactory() - : VirtualHostFactory.FACTORIES.get(virtualHostConfiguration.getType()); - - return factory.createVirtualHost(null, mock(StatisticsGatherer.class), new SecurityManager(mock(Broker.class), false), virtualHostConfiguration); + return createVirtualHost(virtualHostConfiguration, null); } public static VirtualHost createVirtualHost(String name, VirtualHostRegistry virtualHostRegistry) throws Exception diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/StandardVirtualHostTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/StandardVirtualHostTest.java index 1243d9f7dd..ae09e8d7e7 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/StandardVirtualHostTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/virtualhost/StandardVirtualHostTest.java @@ -264,7 +264,8 @@ public class StandardVirtualHostTest extends QpidTestCase _virtualHostRegistry = broker.getVirtualHostRegistry(); VirtualHostConfiguration configuration = new VirtualHostConfiguration(vhostName, config, broker); - VirtualHost host = new StandardVirtualHostFactory().createVirtualHost(_virtualHostRegistry, mock(StatisticsGatherer.class), new SecurityManager(mock(Broker.class), false), configuration); + VirtualHost host = new StandardVirtualHostFactory().createVirtualHost(_virtualHostRegistry, mock(StatisticsGatherer.class), new SecurityManager(mock(Broker.class), false), configuration, + mock(org.apache.qpid.server.model.VirtualHost.class)); _virtualHostRegistry.registerVirtualHost(host); return host; @@ -364,7 +365,8 @@ public class StandardVirtualHostTest extends QpidTestCase Configuration config = new PropertiesConfiguration(); config.setProperty("store.type", MemoryMessageStore.TYPE); VirtualHostConfiguration configuration = new VirtualHostConfiguration(virtualHostName, config, broker); - VirtualHost host = new StandardVirtualHostFactory().createVirtualHost(_virtualHostRegistry, mock(StatisticsGatherer.class), new SecurityManager(mock(Broker.class), false), configuration); + VirtualHost host = new StandardVirtualHostFactory().createVirtualHost(_virtualHostRegistry, mock(StatisticsGatherer.class), new SecurityManager(mock(Broker.class), false), configuration, + mock(org.apache.qpid.server.model.VirtualHost.class)); _virtualHostRegistry.registerVirtualHost(host); return host; } |
