diff options
author | Keith Wall <kwall@apache.org> | 2014-08-11 16:55:15 +0000 |
---|---|---|
committer | Keith Wall <kwall@apache.org> | 2014-08-11 16:55:15 +0000 |
commit | 80d0dcc9e8f3fe448b08d7daa0b813e7820700ac (patch) | |
tree | 392c2bc021571f6ee6ac0612db4d12dffdd846d9 /java/systests/src | |
parent | 74c1aad67f78ea4026b1ec2f5cf01b1811a4fa2c (diff) | |
download | qpid-python-80d0dcc9e8f3fe448b08d7daa0b813e7820700ac.tar.gz |
QPID-5988: [Java Broker] Default VHN/VH store paths to path location based on QPID_WORK
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1617325 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/systests/src')
3 files changed, 80 insertions, 48 deletions
diff --git a/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java b/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java index 3e49f63cff..9569b90251 100644 --- a/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java +++ b/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java @@ -55,14 +55,33 @@ public class VirtualHostNodeRestTest extends QpidRestTestCase public void testCreateAndDeleteVirtualHostNode() throws Exception { - String storeType = getTestProfileVirtualHostNodeType(); + String virtualhostNodeType = getTestProfileVirtualHostNodeType(); String nodeName = "virtualhostnode-" + getTestName(); File storePathAsFile = new File(getStoreLocation(nodeName)); - createAndDeleteVirtualHostNode(storeType, nodeName, storePathAsFile); + createAndDeleteVirtualHostNode(virtualhostNodeType, nodeName, storePathAsFile); assertFalse("Store should not exist after deletion", storePathAsFile.exists()); } + public void testCreateVirtualHostNodeWithDefaultStorePath() throws Exception + { + String virtualhostNodeType = getTestProfileVirtualHostNodeType(); + String nodeName = "virtualhostnode-" + getTestName(); + + createVirtualHostNode(nodeName, virtualhostNodeType); + + 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); + + List<Map<String, Object>> virtualHostNodes = getRestTestHelper().getJsonAsList(restUrl); + assertEquals("Host should be deleted", 0, virtualHostNodes.size()); + } + public void testRecoverVirtualHostNodeWithDesiredStateStopped() throws Exception { stopBroker(); @@ -149,7 +168,10 @@ 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(JsonVirtualHostNode.STORE_PATH, configStorePath); + if (configStorePath != null) + { + nodeData.put(JsonVirtualHostNode.STORE_PATH, configStorePath); + } getRestTestHelper().submitRequest("virtualhostnode/" + nodeName, "PUT", @@ -157,6 +179,11 @@ public class VirtualHostNodeRestTest extends QpidRestTestCase HttpServletResponse.SC_CREATED); } + private void createVirtualHostNode(String nodeName, final String storeType) throws Exception + { + createVirtualHostNode(nodeName, null, storeType); + } + private String getStoreLocation(String hostName) { return new File(TMP_FOLDER, "store-" + hostName + "-" + System.currentTimeMillis()).getAbsolutePath(); diff --git a/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java b/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java index 243b93e798..45cbee205d 100644 --- a/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java +++ b/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java @@ -20,7 +20,6 @@ */ package org.apache.qpid.systest.rest; -import java.io.File; import java.io.IOException; import java.util.Collections; import java.util.HashMap; @@ -33,18 +32,18 @@ import javax.jms.Session; import javax.servlet.http.HttpServletResponse; import org.apache.qpid.server.virtualhost.ProvidedStoreVirtualHostImpl; -import org.apache.qpid.server.virtualhostnode.JsonVirtualHostNode; import org.apache.qpid.client.AMQConnection; import org.apache.qpid.server.model.Exchange; import org.apache.qpid.server.model.Queue; import org.apache.qpid.server.model.VirtualHost; -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.virtualhost.AbstractVirtualHost; -import org.apache.qpid.util.FileUtils; +import org.apache.qpid.server.virtualhost.derby.DerbyVirtualHostImpl; +import org.apache.qpid.server.virtualhostnode.JsonVirtualHostNodeImpl; +import org.apache.qpid.test.utils.TestBrokerConfiguration; public class VirtualHostRestTest extends QpidRestTestCase { @@ -52,8 +51,19 @@ public class VirtualHostRestTest extends QpidRestTestCase public static final String VIRTUALHOST_QUEUES_ATTRIBUTE = "queues"; public static final String VIRTUALHOST_CONNECTIONS_ATTRIBUTE = "connections"; + public static final String EMPTY_VIRTUALHOSTNODE_NAME = "emptyVHN"; + private AMQConnection _connection; + @Override + protected void customizeConfiguration() throws IOException + { + super.customizeConfiguration(); + + TestBrokerConfiguration config = getBrokerConfiguration(); + createTestVirtualHostNode(0, EMPTY_VIRTUALHOSTNODE_NAME, false); + } + public void testGet() throws Exception { List<Map<String, Object>> hosts = getRestTestHelper().getJsonAsList("virtualhost"); @@ -106,27 +116,30 @@ public class VirtualHostRestTest extends QpidRestTestCase Asserts.assertConnection(connections.get(0), _connection); } - public void testPutCreateVirtualHostUsingProfileNodeType() throws Exception + public void testPutCreateProvidedVirtualHost() throws Exception { String hostName = getTestName(); - String virtualhostNodeType = getTestProfileVirtualHostNodeType(); - String storeLocation = createVirtualHostNodeAndVirtualHost(hostName, virtualhostNodeType); - try - { - // make sure that the host is saved in the broker store - restartBroker(); - Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/" + hostName); - Asserts.assertVirtualHost(hostName, hostDetails); + createVirtualHost(hostName, ProvidedStoreVirtualHostImpl.VIRTUAL_HOST_TYPE); - assertNewVirtualHost(hostDetails); - } - finally + Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/" + EMPTY_VIRTUALHOSTNODE_NAME + "/" + hostName); + Asserts.assertVirtualHost(hostName, hostDetails); + + assertNewVirtualHost(hostDetails); + } + + public void testPutCreateVirtualHost() throws Exception + { + String hostName = getTestName(); + String vhnType = getTestProfileVirtualHostNodeType(); + if (JsonVirtualHostNodeImpl.VIRTUAL_HOST_NODE_TYPE.equals(vhnType)) { - if (storeLocation != null) - { - FileUtils.delete(new File(storeLocation), true); - } + vhnType = DerbyVirtualHostImpl.VIRTUAL_HOST_TYPE; } + createVirtualHost(hostName, vhnType); + Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/" + EMPTY_VIRTUALHOSTNODE_NAME + "/" + hostName); + Asserts.assertVirtualHost(hostName, hostDetails); + + assertNewVirtualHost(hostDetails); } public void testDeleteHost() throws Exception @@ -562,34 +575,17 @@ public class VirtualHostRestTest extends QpidRestTestCase return getRestTestHelper().submitRequest("queue/test/test/" + queueName, "PUT", queueData); } - private String createVirtualHostNodeAndVirtualHost(String virtualHostName, - String virtualHostNodeType) throws Exception + private void createVirtualHost(final String virtualHostName, + final String virtualHostType) throws IOException { - String storePath = getStoreLocation(virtualHostName); - - Map<String, Object> nodeData = new HashMap<>(); - nodeData.put(VirtualHostNode.NAME, virtualHostName); - nodeData.put(VirtualHostNode.TYPE, virtualHostNodeType); - nodeData.put(JsonVirtualHostNode.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, ProvidedStoreVirtualHostImpl.VIRTUAL_HOST_TYPE); + virtualhostData.put(VirtualHost.TYPE, virtualHostType); - getRestTestHelper().submitRequest("virtualhost/" + virtualHostName + "/" + virtualHostName, + getRestTestHelper().submitRequest("virtualhost/" + EMPTY_VIRTUALHOSTNODE_NAME + "/" + virtualHostName, "PUT", virtualhostData, HttpServletResponse.SC_CREATED); - - - return storePath; - } - - private String getStoreLocation(String hostName) - { - return new File(TMP_FOLDER, "store-" + hostName + "-" + System.currentTimeMillis()).getAbsolutePath(); } private void assertNewVirtualHost(Map<String, Object> hostDetails) diff --git a/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java b/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java index 82fcadfcf9..0f558f3abe 100755 --- a/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java +++ b/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java @@ -848,7 +848,7 @@ public class QpidBrokerTestCase extends QpidTestCase * @param brokerPort broker port * @param virtualHostNodeName virtual host node name */ - protected void createTestVirtualHostNode(int brokerPort, String virtualHostNodeName) + protected void createTestVirtualHostNode(int brokerPort, String virtualHostNodeName, boolean withBlueprint) { String storeType = getTestProfileVirtualHostNodeType(); String storeDir = null; @@ -871,15 +871,24 @@ public class QpidBrokerTestCase extends QpidTestCase attributes.put(JsonVirtualHostNode.STORE_PATH, storeDir); } - final String blueprint = getTestProfileVirtualHostNodeBlueprint(); + if (withBlueprint) + { + final String blueprint = getTestProfileVirtualHostNodeBlueprint(); - attributes.put(ConfiguredObject.CONTEXT, Collections.singletonMap(AbstractVirtualHostNode.VIRTUALHOST_BLUEPRINT_CONTEXT_VAR, - blueprint)); + attributes.put(ConfiguredObject.CONTEXT, + Collections.singletonMap(AbstractVirtualHostNode.VIRTUALHOST_BLUEPRINT_CONTEXT_VAR, + blueprint)); + } int port = getPort(brokerPort); getBrokerConfiguration(port).addObjectConfiguration(VirtualHostNode.class, attributes); } + protected void createTestVirtualHostNode(int brokerPort, String virtualHostNodeName) + { + createTestVirtualHostNode(brokerPort, virtualHostNodeName, true); + } + /** * Set a System property that is to be applied only to the external test * broker. |