in src/main/java/org/apache/sling/launchpad/webapp/integrationtest/servlets/post/PostServletCopyTest.java [241:284]
public void testCopyNodeMultipleSourceInValid() throws IOException {
final String testPath = TEST_BASE_PATH + "/cpmult/" + System.currentTimeMillis();
final String testRoot = testClient.createNode(HTTP_BASE_URL + testPath, null);
// create multiple source nodes
Map<String, String> props = new HashMap<String, String>();
props.put("text", "Hello");
testClient.createNode(HTTP_BASE_URL + testPath + "/src1", props);
testClient.createNode(HTTP_BASE_URL + testPath + "/src2", props);
testClient.createNode(HTTP_BASE_URL + testPath + "/src3", props);
testClient.createNode(HTTP_BASE_URL + testPath + "/src4", props);
// copy the src? nodes
List<NameValuePair> nvPairs = new ArrayList<NameValuePair>();
nvPairs.add(new NameValuePair(SlingPostConstants.RP_OPERATION, SlingPostConstants.OPERATION_COPY));
nvPairs.add(new NameValuePair(SlingPostConstants.RP_DEST, testPath + "/dest"));
nvPairs.add(new NameValuePair(SlingPostConstants.RP_APPLY_TO, testPath + "/src1"));
nvPairs.add(new NameValuePair(SlingPostConstants.RP_APPLY_TO, testPath + "/src2"));
nvPairs.add(new NameValuePair(SlingPostConstants.RP_APPLY_TO, testPath + "/src3"));
nvPairs.add(new NameValuePair(SlingPostConstants.RP_APPLY_TO, testPath + "/src4"));
assertPostStatus(
testRoot,
HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
nvPairs,
"Expecting Copy Failure (dest must have trailing slash)");
// create destination parent
testClient.createNode(HTTP_BASE_URL + testPath + "/dest", props);
// retest after creating test
assertPostStatus(
testRoot,
HttpServletResponse.SC_PRECONDITION_FAILED,
nvPairs,
"Expecting Copy Failure (dest already exists)");
// assert non-existence of the src?/text properties
assertHttpStatus(HTTP_BASE_URL + testPath + "/dest/src1/text", HttpServletResponse.SC_NOT_FOUND);
assertHttpStatus(HTTP_BASE_URL + testPath + "/dest/src2/text", HttpServletResponse.SC_NOT_FOUND);
assertHttpStatus(HTTP_BASE_URL + testPath + "/dest/src3/text", HttpServletResponse.SC_NOT_FOUND);
assertHttpStatus(HTTP_BASE_URL + testPath + "/dest/src4/text", HttpServletResponse.SC_NOT_FOUND);
testClient.delete(testRoot);
}