Author: justin Date: Tue Feb 23 19:00:58 2010 New Revision: 915490 URL: http://svn.apache.org/viewvc?rev=915490&view=rev Log: SLING-1333 - adding multi-valued test post SLING-1407 addition
Modified: sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/servlets/post/ReferenceTypeHintTest.java Modified: sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/servlets/post/ReferenceTypeHintTest.java URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/servlets/post/ReferenceTypeHintTest.java?rev=915490&r1=915489&r2=915490&view=diff ============================================================================== --- sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/servlets/post/ReferenceTypeHintTest.java (original) +++ sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/servlets/post/ReferenceTypeHintTest.java Tue Feb 23 19:00:58 2010 @@ -19,7 +19,10 @@ import java.util.HashMap; import java.util.Map; +import org.apache.sling.commons.json.JSONArray; +import org.apache.sling.commons.json.JSONObject; import org.apache.sling.commons.testing.integration.HttpTestBase; +import org.apache.sling.commons.testing.integration.NameValuePairList; import org.apache.sling.servlets.post.SlingPostConstants; /** @@ -36,35 +39,44 @@ } public void testReferenceTypes() throws Exception { - final Map<String, String> props = new HashMap<String, String>(); - props.put("a", ""); - props.put("jcr:mixinTypes", "mix:referenceable"); + final NameValuePairList props = new NameValuePairList(); + props.add("a", ""); + props.add("jcr:mixinTypes", "mix:referenceable"); - final String firstCreatedNodeUrl = testClient.createNode(postUrl + SlingPostConstants.DEFAULT_CREATE_SUFFIX, props); + final String firstCreatedNodeUrl = testClient.createNode(postUrl + SlingPostConstants.DEFAULT_CREATE_SUFFIX, props, null, false); final String firstUuid = getProperty(firstCreatedNodeUrl, "jcr:uuid"); final String firstPath = getPath(firstCreatedNodeUrl); - final String secondCreatedNodeUrl = testClient.createNode(postUrl + SlingPostConstants.DEFAULT_CREATE_SUFFIX, props); - final String secondUuid = getProperty(firstCreatedNodeUrl, "jcr:uuid"); - final String secondPath = getPath(firstCreatedNodeUrl); + final String secondCreatedNodeUrl = testClient.createNode(postUrl + SlingPostConstants.DEFAULT_CREATE_SUFFIX, props, null, false); + final String secondUuid = getProperty(secondCreatedNodeUrl, "jcr:uuid"); + final String secondPath = getPath(secondCreatedNodeUrl); props.clear(); - props.put("a", firstPath); - props.put("a...@typehint", "Reference"); - props.put("b", firstPath); - props.put("b...@typehint", "WeakReference"); - props.put("as", firstPath); - props.put("a...@typehint", "Reference"); - props.put("bs", firstPath); - props.put("b...@typehint", "WeakReference"); + props.add("r", firstPath); + props.add("r...@typehint", "Reference"); + props.add("w", firstPath); + props.add("w...@typehint", "WeakReference"); + props.add("rs", firstPath); + props.add("rs", secondPath); + props.add("r...@typehint", "Reference"); + props.add("ws", firstPath); + props.add("ws", secondPath); + props.add("w...@typehint", "WeakReference"); final String referencingNodeUrl = testClient.createNode(postUrl + SlingPostConstants.DEFAULT_CREATE_SUFFIX, - props); + props, null, false); - String refCreatedValue = getProperty(referencingNodeUrl, "a"); - String weakrefCreatedValue = getProperty(referencingNodeUrl, "b"); + String refCreatedValue = getProperty(referencingNodeUrl, "r"); + String weakrefCreatedValue = getProperty(referencingNodeUrl, "w"); + + String[] refCreatedValues = getPropertyArray(referencingNodeUrl, "rs"); + String[] weakrefCreatedValues = getPropertyArray(referencingNodeUrl, "ws"); assertEquals(firstUuid, refCreatedValue); assertEquals(firstUuid, weakrefCreatedValue); + assertEquals(firstUuid, refCreatedValues[0]); + assertEquals(firstUuid, weakrefCreatedValues[0]); + assertEquals(secondUuid, refCreatedValues[1]); + assertEquals(secondUuid, weakrefCreatedValues[1]); } private String getPath(String url) { @@ -74,4 +86,14 @@ private String getProperty(String url, String name) throws Exception { return getContent(url + "/" + name + ".txt", CONTENT_TYPE_PLAIN); } + + private String[] getPropertyArray(String url, String name) throws Exception { + JSONObject jo = new JSONObject(getContent(url + "/" + name + ".json", CONTENT_TYPE_JSON)); + JSONArray arr = jo.getJSONArray(name); + String[] result = new String[arr.length()]; + for (int i = 0; i < arr.length(); i++) { + result[i] = arr.getString(i); + } + return result; + } }