{
String spaceUrl = SPACES + "/TestSpace";
String pageUrl = spaceUrl + "/TestPage";
String attachmentUrl = pageUrl + "/attachment.txt";
String attachmentContent = "Attachment Content";
DeleteMethod deleteMethod = new DeleteMethod();
deleteMethod.setDoAuthentication(true);
MkcolMethod mkColMethod = new MkcolMethod();
mkColMethod.setDoAuthentication(true);
PutMethod putMethod = new PutMethod();
putMethod.setDoAuthentication(true);
GetMethod getMethod = new GetMethod();
getMethod.setDoAuthentication(true);
try {
deleteMethod.setPath(spaceUrl);
assertEquals(DavServletResponse.SC_NO_CONTENT, getHttpClient().executeMethod(deleteMethod));
mkColMethod.setPath(spaceUrl);
assertEquals(DavServletResponse.SC_CREATED, getHttpClient().executeMethod(mkColMethod));
mkColMethod.setPath(pageUrl);
assertEquals(DavServletResponse.SC_CREATED, getHttpClient().executeMethod(mkColMethod));
getMethod.setPath(attachmentUrl);
assertEquals(DavServletResponse.SC_NOT_FOUND, getHttpClient().executeMethod(getMethod));
putMethod.setPath(attachmentUrl);
putMethod.setRequestEntity(new InputStreamRequestEntity(new ByteArrayInputStream(attachmentContent
.getBytes())));
assertEquals(DavServletResponse.SC_CREATED, getHttpClient().executeMethod(putMethod));
getMethod.setPath(attachmentUrl);
assertEquals(DavServletResponse.SC_OK, getHttpClient().executeMethod(getMethod));
assertEquals(attachmentContent, getMethod.getResponseBodyAsString());
deleteMethod.setPath(attachmentUrl);
assertEquals(DavServletResponse.SC_NO_CONTENT, getHttpClient().executeMethod(deleteMethod));
deleteMethod.setPath(pageUrl);
assertEquals(DavServletResponse.SC_NO_CONTENT, getHttpClient().executeMethod(deleteMethod));
deleteMethod.setPath(spaceUrl);
assertEquals(DavServletResponse.SC_NO_CONTENT, getHttpClient().executeMethod(deleteMethod));
} catch (HttpException ex) {
fail(ex.getMessage());
} catch (IOException ex) {
fail(ex.getMessage());