assertEquals(HTTPStatus.MULTISTATUS, response.getStatus());
assertNotNull(response.getEntity());
HierarchicalPropertyEntityProvider provider = new HierarchicalPropertyEntityProvider();
InputStream inputStream = TestUtils.getResponseAsStream(response);
HierarchicalProperty multistatus = provider.readFrom(null, null, null, null, null, inputStream);
assertEquals(new QName("DAV:", "multistatus"), multistatus.getName());
assertEquals(1, multistatus.getChildren().size());
HierarchicalProperty resourceProp = multistatus.getChildren().get(0);
HierarchicalProperty resourceHref = resourceProp.getChild(new QName("DAV:", "href"));
assertNotNull(resourceHref);
assertEquals(BASE_URI + getPathWS() + "/", resourceHref.getValue());
HierarchicalProperty propstatProp = resourceProp.getChild(new QName("DAV:", "propstat"));
HierarchicalProperty propProp = propstatProp.getChild(new QName("DAV:", "prop"));
HierarchicalProperty ownerProp = propProp.getChild(new QName("DAV:", "owner"));
HierarchicalProperty ownerHrefProp = ownerProp.getChild(new QName("DAV:", "href"));
assertEquals("__system", ownerHrefProp.getValue());
HierarchicalProperty aclProp = propProp.getChild(ACLProperties.ACL);
assertEquals(1, aclProp.getChildren().size());
HierarchicalProperty aceProp = aclProp.getChild(ACLProperties.ACE);
assertEquals(2, aceProp.getChildren().size());
HierarchicalProperty principalProp = aceProp.getChild(ACLProperties.PRINCIPAL);
assertEquals(1, principalProp.getChildren().size());
HierarchicalProperty allProp = principalProp.getChild(ACLProperties.ALL);
assertNotNull(allProp);
HierarchicalProperty grantProp = aceProp.getChild(ACLProperties.GRANT);
assertEquals(2, grantProp.getChildren().size());
HierarchicalProperty writeProp = grantProp.getChild(0).getChild(ACLProperties.WRITE);
assertNotNull(writeProp);
HierarchicalProperty readProp = grantProp.getChild(1).getChild(ACLProperties.READ);
assertNotNull(readProp);
}