summaryrefslogtreecommitdiff
path: root/qpid/java/systests/src/main
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2014-06-07 19:01:03 +0000
committerKeith Wall <kwall@apache.org>2014-06-07 19:01:03 +0000
commit2a511e6a3b5f278f9c8b572a306b96490f180805 (patch)
treea6c30ce39a23aeeb86844fb6434a21c669fba854 /qpid/java/systests/src/main
parent21aceae395ef19dca56dc603ed3f2af744b620a7 (diff)
downloadqpid-python-2a511e6a3b5f278f9c8b572a306b96490f180805.tar.gz
QPID-5803: [Java Broker] Add ability for the virtualhostnode to create a virtualhost using a blueprint supplied by context variable
* This commit reenables the SplitStoreTest. * The UI has not been refactored by this commit, so it will not be possible to create a non-HA virtualhost from the UI (the UI will create only a virtualhostnode).. REST API is okay. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1601163 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/systests/src/main')
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/server/store/SplitStoreTest.java40
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java15
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/MBeanLifeCycleTest.java29
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java2
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java23
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java50
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java4
-rwxr-xr-xqpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java13
8 files changed, 93 insertions, 83 deletions
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SplitStoreTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SplitStoreTest.java
index 53c0563aee..0f67121212 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SplitStoreTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SplitStoreTest.java
@@ -21,6 +21,7 @@
package org.apache.qpid.server.store;
import java.io.File;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -32,10 +33,11 @@ import javax.jms.Session;
import org.apache.qpid.configuration.ClientProperties;
import org.apache.qpid.server.model.VirtualHostNode;
+import org.apache.qpid.server.virtualhostnode.AbstractStandardVirtualHostNode;
+import org.apache.qpid.server.virtualhostnode.FileBasedVirtualHostNode;
import org.apache.qpid.test.utils.QpidBrokerTestCase;
import org.apache.qpid.test.utils.TestBrokerConfiguration;
import org.apache.qpid.test.utils.TestFileUtils;
-import org.apache.qpid.test.utils.TestUtils;
import org.apache.qpid.util.FileUtils;
public class SplitStoreTest extends QpidBrokerTestCase
@@ -72,39 +74,27 @@ public class SplitStoreTest extends QpidBrokerTestCase
// Overridden to prevent QBTC starting the Broker.
}
- public void testPass()
+ public void testJsonConfigurationStoreWithPersistentMessageStore() throws Exception
{
-
+ doTest(JsonFileConfigStore.TYPE, getTestProfileMessageStoreType());
}
- // TODO reenable once we can specify a virtualhost blueprint context variable with necessary message store location
- public void xtestJsonConfigurationStoreWithPersistentMessageStore() throws Exception
+ public void testSeparateConfigurationAndMessageStoresOfTheSameType() throws Exception
{
-
- doTest(JsonFileConfigStore.TYPE, _configStorePath);
+ doTest(getTestProfileVirtualHostNodeType(), getTestProfileMessageStoreType());
}
- // TODO test will currently create a provided VH which will share config/message store
- // TODO reenable once we can specify a virtualhost blueprint context variable
- public void xtestSeparateConfigurationAndMessageStoresOfTheSameType() throws Exception
+ private void configureAndStartBroker(String virtualHostNodeType, String virtualHostType) throws Exception
{
- doTest(getTestProfileVirtualHostNodeType(), _configStorePath);
- }
+ final String blueprint = String.format(
+ "{ \"type\" : \"%s\", \"messageStoreSettings\" : { \"storePath\" : \"%s\" } }", virtualHostType, _messageStorePath);
+ final Map<String, String> contextMap = Collections.singletonMap(AbstractStandardVirtualHostNode.VIRTUALHOST_BLUEPRINT_CONTEXT_VAR,
+ blueprint);
- private void configureAndStartBroker(String nodeType, String storePath) throws Exception
- {
TestBrokerConfiguration config = getBrokerConfiguration();
- config.setObjectAttribute(VirtualHostNode.class, TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST, VirtualHostNode.TYPE, nodeType);
- config.setObjectAttribute(VirtualHostNode.class, TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST, DurableConfigurationStore.STORE_PATH, storePath);
-
- Map<String, Object> messageStoreSettings = new HashMap<String, Object>();
- messageStoreSettings.put(MessageStore.STORE_TYPE, getTestProfileMessageStoreType());
- messageStoreSettings.put(MessageStore.STORE_PATH, _messageStorePath);
-
- // TODO initialise the virtualhost with the required attributes using the virtualhost blueprint
- // mechanism.
-
- //TestUtils.createStoreWithVirtualHostEntry(messageStoreSettings, config, nodeType);
+ config.setObjectAttribute(VirtualHostNode.class, TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST, VirtualHostNode.TYPE, virtualHostNodeType);
+ config.setObjectAttribute(VirtualHostNode.class, TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST, VirtualHostNode.CONTEXT, contextMap);
+ config.setObjectAttribute(VirtualHostNode.class, TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST, FileBasedVirtualHostNode.STORE_PATH, _configStorePath);
super.startBroker();
}
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java
index 256690ea71..430fadc2f1 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java
@@ -30,7 +30,6 @@ import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import java.util.UUID;
import javax.security.auth.Subject;
@@ -57,6 +56,7 @@ import org.apache.qpid.server.model.LifetimePolicy;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.UUIDGenerator;
+import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.model.VirtualHostNode;
import org.apache.qpid.server.protocol.AMQConnectionModel;
import org.apache.qpid.server.protocol.AMQSessionModel;
@@ -121,7 +121,8 @@ public class VirtualHostMessageStoreTest extends QpidTestCase
{
super.setUp();
- String hostName = getName();
+ String nodeName = "node" + getName();
+ String hostName = "host" + getName();
_storePath = System.getProperty("QPID_WORK", TMP_FOLDER + File.separator + getTestName()) + File.separator + hostName;
cleanup(new File(_storePath));
@@ -131,14 +132,18 @@ public class VirtualHostMessageStoreTest extends QpidTestCase
when(broker.getTaskExecutor()).thenReturn(_taskExecutor);
ConfiguredObjectFactory factory = broker.getObjectFactory();
- Map<String, Object> nodeAttributes = new HashMap<String, Object>();
+ Map<String, Object> nodeAttributes = new HashMap<>();
nodeAttributes.put(ConfiguredObject.TYPE, getTestProfileVirtualHostNodeType());
nodeAttributes.put(FileBasedVirtualHostNode.STORE_PATH, _storePath);
- nodeAttributes.put(VirtualHostNode.NAME, hostName);
- nodeAttributes.put(VirtualHostNode.ID, UUID.randomUUID());
+ nodeAttributes.put(VirtualHostNode.NAME, nodeName);
_node = factory.create(VirtualHostNode.class, nodeAttributes, broker);
_node.start();
+ final Map<String,Object> virtualHostAttributes = new HashMap<>();
+ virtualHostAttributes.put(VirtualHost.NAME, hostName);
+
+ _node.createChild(VirtualHost.class, virtualHostAttributes, _node);
+
_virtualHost = (VirtualHostImpl<?,?,?>)_node.getVirtualHost();
}
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/MBeanLifeCycleTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/MBeanLifeCycleTest.java
index 78db198185..b79c4bdc40 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/MBeanLifeCycleTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/MBeanLifeCycleTest.java
@@ -25,14 +25,18 @@ import java.util.HashMap;
import java.util.Map;
import javax.management.ObjectName;
+import javax.servlet.http.HttpServletResponse;
import org.apache.qpid.management.common.mbeans.ManagedBroker;
import org.apache.qpid.server.management.plugin.HttpManagement;
import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Plugin;
import org.apache.qpid.server.model.Port;
+import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.model.VirtualHostNode;
import org.apache.qpid.server.security.auth.manager.AnonymousAuthenticationManager;
+import org.apache.qpid.server.virtualhost.ProvidedStoreVirtualHost;
+import org.apache.qpid.server.virtualhostnode.memory.MemoryVirtualHostNode;
import org.apache.qpid.systest.rest.QpidRestTestCase;
import org.apache.qpid.test.utils.JMXTestUtils;
import org.apache.qpid.test.utils.TestBrokerConfiguration;
@@ -81,14 +85,24 @@ public class MBeanLifeCycleTest extends QpidRestTestCase
public void testVirtualHostMBeanIsRegisteredOnVirtualHostCreation() throws Exception
{
- String nodeName = "tmp";
- Map<String, Object> nodeData = new HashMap<String, Object>();
+ String nodeName = "ntmp";
+ String hostName = "htmp";
+
+ Map<String, Object> nodeData = new HashMap<>();
nodeData.put(VirtualHostNode.NAME, nodeName);
- nodeData.put(VirtualHostNode.TYPE, "Memory");
- int status = getRestTestHelper().submitRequest("virtualhostnode/" + nodeName, "PUT", nodeData);
- assertEquals("Unexpected code", 201, status);
+ nodeData.put(VirtualHostNode.TYPE, MemoryVirtualHostNode.VIRTUAL_HOST_NODE_TYPE);
+ getRestTestHelper().submitRequest("virtualhostnode/" + nodeName, "PUT", nodeData, HttpServletResponse.SC_CREATED);
+
+ Map<String, Object> virtualhostData = new HashMap<>();
+ virtualhostData.put(VirtualHost.NAME, nodeName);
+ virtualhostData.put(VirtualHost.TYPE, ProvidedStoreVirtualHost.VIRTUAL_HOST_TYPE);
+ getRestTestHelper().submitRequest("virtualhost/" + nodeName + "/" + hostName,
+ "PUT",
+ virtualhostData,
+ HttpServletResponse.SC_CREATED);
+
- ManagedBroker managedBroker = _jmxUtils.getManagedBroker(nodeName);
+ ManagedBroker managedBroker = _jmxUtils.getManagedBroker(hostName);
assertNotNull("Host mBean is not created", managedBroker);
}
@@ -99,8 +113,7 @@ public class MBeanLifeCycleTest extends QpidRestTestCase
boolean mBeanExists =_jmxUtils.doesManagedObjectExist(query);
assertTrue("Host mBean is not registered", mBeanExists);
- int status = getRestTestHelper().submitRequest("virtualhostnode/" + TEST2_VIRTUALHOST, "DELETE");
- assertEquals("Unexpected code", 200, status);
+ getRestTestHelper().submitRequest("virtualhostnode/" + TEST2_VIRTUALHOST, "DELETE", HttpServletResponse.SC_OK);
mBeanExists =_jmxUtils.doesManagedObjectExist(query);
assertFalse("Host mBean is not unregistered", mBeanExists);
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
index 86c37cd50a..63c9852dc4 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
@@ -277,7 +277,7 @@ public class RestTestHelper
List<Map<String, Object>> response = getJsonAsList(path);
Assert.assertNotNull("Response cannot be null", response);
- Assert.assertEquals("Unexpected response", 1, response.size());
+ Assert.assertEquals("Unexpected response from " + path, 1, response.size());
return response.get(0);
}
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java
index 2d5f083380..8004a91168 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java
@@ -31,7 +31,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.VirtualHostNode;
-import org.apache.qpid.server.store.DurableConfigurationStore;
+import org.apache.qpid.server.virtualhostnode.FileBasedVirtualHostNode;
import org.apache.qpid.test.utils.TestBrokerConfiguration;
/**
@@ -53,7 +53,7 @@ public class VirtualHostNodeRestTest extends QpidRestTestCase
}
}
- public void testCreateAndDeleteNodeWithTestProfileStore() throws Exception
+ public void testCreateAndDeleteVirtualHostNode() throws Exception
{
String storeType = getTestProfileVirtualHostNodeType();
String nodeName = "virtualhostnode-" + getTestName();
@@ -63,17 +63,6 @@ public class VirtualHostNodeRestTest extends QpidRestTestCase
assertFalse("Store should not exist after deletion", storePathAsFile.exists());
}
- public void testCreateAndDeleteNodeWithJsonStore() throws Exception
- {
- String storeType = "JSON";
- String nodeName = "virtualhostnode-" + getTestName();
- File storePathAsFile = new File(getStoreLocation(nodeName));
-
- createAndDeleteVirtualHostNode(storeType, nodeName, storePathAsFile);
- // TODO Defect: JSON store currently can't delete itself, uncomment once this is resolved
- //assertFalse("Store should not exist after deletion", storePathAsFile.exists());
- }
-
public void testRecoverVirtualHostNodeWithDesiredStateStopped() throws Exception
{
stopBroker();
@@ -118,18 +107,20 @@ public class VirtualHostNodeRestTest extends QpidRestTestCase
assertEquals(newDescription, virtualhostNode.get(VirtualHostNode.DESCRIPTION));
}
- private void createAndDeleteVirtualHostNode(final String storeType,
+ private void createAndDeleteVirtualHostNode(final String virtualhostNodeType,
final String nodeName,
final File storePathAsFile) throws Exception
{
assertFalse("Store should not exist", storePathAsFile.exists());
- createVirtualHostNode(nodeName, storePathAsFile.getAbsolutePath(), storeType);
+ createVirtualHostNode(nodeName, storePathAsFile.getAbsolutePath(), virtualhostNodeType);
assertTrue("Store should exist after creation of node", storePathAsFile.exists());
String restUrl = "virtualhostnode/" + nodeName;
Map<String, Object> virtualhostNode = getRestTestHelper().getJsonAsSingletonList(restUrl);
Asserts.assertVirtualHostNode(nodeName, virtualhostNode);
+ assertNull("Virtualhostnode should not automatically get a virtualhost child",
+ virtualhostNode.get("virtualhosts"));
getRestTestHelper().submitRequest(restUrl, "DELETE", HttpServletResponse.SC_OK);
@@ -158,7 +149,7 @@ public class VirtualHostNodeRestTest extends QpidRestTestCase
Map<String, Object> nodeData = new HashMap<String, Object>();
nodeData.put(VirtualHostNode.NAME, nodeName);
nodeData.put(VirtualHostNode.TYPE, storeType);
- nodeData.put(DurableConfigurationStore.STORE_PATH, configStorePath);
+ nodeData.put(FileBasedVirtualHostNode.STORE_PATH, configStorePath);
getRestTestHelper().submitRequest("virtualhostnode/" + nodeName,
"PUT",
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java
index 392ed362a4..54dca95e9b 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java
@@ -41,8 +41,9 @@ import org.apache.qpid.server.model.VirtualHostNode;
import org.apache.qpid.server.queue.LastValueQueue;
import org.apache.qpid.server.queue.PriorityQueue;
import org.apache.qpid.server.queue.SortedQueue;
-import org.apache.qpid.server.store.DurableConfigurationStore;
import org.apache.qpid.server.virtualhost.AbstractVirtualHost;
+import org.apache.qpid.server.virtualhost.ProvidedStoreVirtualHost;
+import org.apache.qpid.server.virtualhostnode.FileBasedVirtualHostNode;
import org.apache.qpid.util.FileUtils;
public class VirtualHostRestTest extends QpidRestTestCase
@@ -105,11 +106,11 @@ public class VirtualHostRestTest extends QpidRestTestCase
Asserts.assertConnection(connections.get(0), _connection);
}
- public void testPutCreateVirtualHostUsingStoreType() throws Exception
+ public void testPutCreateVirtualHostUsingProfileNodeType() throws Exception
{
String hostName = getTestName();
- String storeType = getTestProfileVirtualHostNodeType();
- String storeLocation = createHost(hostName, storeType, null);
+ String virtualhostNodeType = getTestProfileVirtualHostNodeType();
+ String storeLocation = createVirtualHostNodeAndVirtualHost(hostName, virtualhostNodeType);
try
{
// make sure that the host is saved in the broker store
@@ -525,12 +526,28 @@ public class VirtualHostRestTest extends QpidRestTestCase
return getRestTestHelper().submitRequest("queue/test/test/" + queueName, "PUT", queueData);
}
- private String createHost(String hostName, String storeType, String configPath) throws IOException, JsonGenerationException,
- JsonMappingException
+ private String createVirtualHostNodeAndVirtualHost(String virtualHostName,
+ String virtualHostNodeType) throws Exception
{
- String storePath = getStoreLocation(hostName);
- int responseCode = tryCreateVirtualHostNode(hostName, storeType, storePath, configPath);
- assertEquals("Unexpected response code", 201, responseCode);
+ String storePath = getStoreLocation(virtualHostName);
+
+ Map<String, Object> nodeData = new HashMap<>();
+ nodeData.put(VirtualHostNode.NAME, virtualHostName);
+ nodeData.put(VirtualHostNode.TYPE, virtualHostNodeType);
+ nodeData.put(FileBasedVirtualHostNode.STORE_PATH, storePath);
+
+ getRestTestHelper().submitRequest("virtualhostnode/" + virtualHostName, "PUT", nodeData, HttpServletResponse.SC_CREATED);
+
+ Map<String, Object> virtualhostData = new HashMap<>();
+ virtualhostData.put(VirtualHost.NAME, virtualHostName);
+ virtualhostData.put(VirtualHost.TYPE, ProvidedStoreVirtualHost.VIRTUAL_HOST_TYPE);
+
+ getRestTestHelper().submitRequest("virtualhost/" + virtualHostName + "/" + virtualHostName,
+ "PUT",
+ virtualhostData,
+ HttpServletResponse.SC_CREATED);
+
+
return storePath;
}
@@ -539,21 +556,6 @@ public class VirtualHostRestTest extends QpidRestTestCase
return new File(TMP_FOLDER, "store-" + hostName + "-" + System.currentTimeMillis()).getAbsolutePath();
}
- private int tryCreateVirtualHostNode(String hostName,
- String virtualHostNodeType,
- String storePath,
- String configPath) throws IOException,
- JsonGenerationException, JsonMappingException
- {
-
- Map<String, Object> hostData = new HashMap<String, Object>();
- hostData.put(VirtualHostNode.NAME, hostName);
- hostData.put(VirtualHostNode.TYPE, virtualHostNodeType);
- hostData.put(DurableConfigurationStore.STORE_PATH, storePath);
-
- return getRestTestHelper().submitRequest("virtualhostnode/" + hostName, "PUT", hostData);
- }
-
private void assertNewVirtualHost(Map<String, Object> hostDetails)
{
@SuppressWarnings("unchecked")
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java
index 8a9da5d93c..4fd0695545 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java
@@ -49,7 +49,7 @@ import org.apache.qpid.server.security.access.FileAccessControlProviderConstants
import org.apache.qpid.server.security.acl.AbstractACLTestCase;
import org.apache.qpid.server.security.auth.manager.AnonymousAuthenticationManager;
import org.apache.qpid.server.security.auth.manager.PlainPasswordDatabaseAuthenticationManager;
-import org.apache.qpid.server.store.DurableConfigurationStore;
+import org.apache.qpid.server.virtualhostnode.FileBasedVirtualHostNode;
import org.apache.qpid.systest.rest.QpidRestTestCase;
import org.apache.qpid.test.utils.TestBrokerConfiguration;
import org.apache.qpid.test.utils.TestFileUtils;
@@ -982,7 +982,7 @@ public class BrokerACLTest extends QpidRestTestCase
Map<String, Object> data = new HashMap<String, Object>();
data.put(VirtualHostNode.NAME, virtualHostNodeName);
data.put(VirtualHostNode.TYPE, getTestProfileVirtualHostNodeType());
- data.put(DurableConfigurationStore.STORE_PATH, getStoreLocation(virtualHostNodeName));
+ data.put(FileBasedVirtualHostNode.STORE_PATH, getStoreLocation(virtualHostNodeName));
return getRestTestHelper().submitRequest("virtualhostnode/" + virtualHostNodeName, "PUT", data);
}
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
index 16526c9d84..88e7ee20c8 100755
--- a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
@@ -22,6 +22,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -63,11 +64,15 @@ import org.apache.qpid.server.BrokerOptions;
import org.apache.qpid.server.configuration.BrokerProperties;
import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.configuration.updater.TaskExecutorImpl;
+import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.Protocol;
import org.apache.qpid.server.model.VirtualHostNode;
import org.apache.qpid.server.store.DurableConfigurationStore;
import org.apache.qpid.server.store.MemoryConfigurationStore;
+import org.apache.qpid.server.virtualhost.ProvidedStoreVirtualHost;
+import org.apache.qpid.server.virtualhostnode.AbstractStandardVirtualHostNode;
+import org.apache.qpid.server.virtualhostnode.FileBasedVirtualHostNode;
import org.apache.qpid.url.URLSyntaxException;
import org.apache.qpid.util.FileUtils;
import org.apache.qpid.util.SystemUtils;
@@ -859,14 +864,18 @@ public class QpidBrokerTestCase extends QpidTestCase
storeDir = "${QPID_WORK}" + File.separator + virtualHostNodeName + File.separator + brokerPort;
}
- // add new virtual host configuration to the broker store
+ // add new virtual host node with vhost blueprint configuration to the broker store
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(VirtualHostNode.NAME, virtualHostNodeName);
attributes.put(VirtualHostNode.TYPE, storeType);
if (storeDir != null)
{
- attributes.put(DurableConfigurationStore.STORE_PATH, storeDir);
+ attributes.put(FileBasedVirtualHostNode.STORE_PATH, storeDir);
}
+ final String blueprint = String.format("{ \"type\" : \"%s\" } }", ProvidedStoreVirtualHost.VIRTUAL_HOST_TYPE);
+ attributes.put(ConfiguredObject.CONTEXT, Collections.singletonMap(AbstractStandardVirtualHostNode.VIRTUALHOST_BLUEPRINT_CONTEXT_VAR,
+ blueprint));
+
int port = getPort(brokerPort);
getBrokerConfiguration(port).addObjectConfiguration(VirtualHostNode.class, attributes);
}