summaryrefslogtreecommitdiff
path: root/java/systests/src
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2014-08-11 16:55:15 +0000
committerKeith Wall <kwall@apache.org>2014-08-11 16:55:15 +0000
commit80d0dcc9e8f3fe448b08d7daa0b813e7820700ac (patch)
tree392c2bc021571f6ee6ac0612db4d12dffdd846d9 /java/systests/src
parent74c1aad67f78ea4026b1ec2f5cf01b1811a4fa2c (diff)
downloadqpid-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')
-rw-r--r--java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java33
-rw-r--r--java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java78
-rwxr-xr-xjava/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java17
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.