blob: 836c1e9c073cbf9a23ad04336182d3dabf62b7ad [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.sling.launchpad.webapp.integrationtest;
import java.io.IOException;
import java.io.InputStream;
import org.apache.sling.commons.testing.integration.HttpTestBase;
/** Test uploading files to the Sling repository
* via WebDAV, as a first step towards testing the
* complete content creation and rendering scenario.
*/
public class FileUploadTest extends HttpTestBase {
/** This only tests the WebDAV interface. We know it works, so
* we're mostly testing our test code here ;-)
*/
public void testUploadAndDelete() throws IOException {
final String testFile = "/integration-test/testfile.txt";
final InputStream data = getClass().getResourceAsStream(testFile);
try {
assertNotNull("Local test file " + testFile + " must be found",data);
final String webdavUrl = WEBDAV_BASE_URL + "/FileUploadTest." + System.currentTimeMillis() + ".txt";
// Upload a file via WebDAV, verify, delete and verify
assertHttpStatus(webdavUrl, 404, "Resource " + webdavUrl + " must not exist before test");
int status = testClient.upload(webdavUrl, data);
assertEquals("upload must return status code 201",201,status);
assertHttpStatus(webdavUrl, 200, "Resource " + webdavUrl + " must exist after upload");
testClient.delete(webdavUrl);
assertHttpStatus(webdavUrl, 404, "Resource " + webdavUrl + " must not exist anymore after deleting");
} finally {
if(data!=null) {
data.close();
}
}
}
}