Merged HEAD (5.2) to 5.2.N (5.2.1)

126533 jkaabimofrad: Merged FILE-FOLDER-API (5.2.0) to HEAD (5.2)
      123165 jkaabimofrad: RA-829, RA-830: Added 304 response tests in the:
         - retrieve content for a shared link API
         - retrieve renditioned content for a shared link API.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@126877 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Ancuta Morarasu
2016-05-11 12:01:55 +00:00
parent f17120d182
commit a02a63b76f

View File

@@ -262,11 +262,16 @@ public class SharedLinkApiTest extends AbstractBaseApiTest
// unauth access to file 1 content (via shared link) // unauth access to file 1 content (via shared link)
response = getSingle(QuickShareLinkEntityResource.class, null, shared1Id + "/content", null, 200); response = getSingle(QuickShareLinkEntityResource.class, null, shared1Id + "/content", null, 200);
assertArrayEquals(content1Text.getBytes(), response.getResponseAsBytes()); assertArrayEquals(content1Text.getBytes(), response.getResponseAsBytes());
assertEquals(file1_MimeType+";charset=UTF-8", response.getHeaders().get("Content-Type")); Map<String, String> responseHeaders = response.getHeaders();
assertNotNull(response.getHeaders().get("Last-Modified")); assertNotNull(responseHeaders);
assertNotNull(response.getHeaders().get("Expires")); assertEquals(file1_MimeType+";charset=UTF-8", responseHeaders.get("Content-Type"));
assertEquals("attachment; filename=\"" + fileName1 + "\"; filename*=UTF-8''" + fileName1 + "", response.getHeaders().get("Content-Disposition")); assertNotNull(responseHeaders.get("Expires"));
assertEquals("attachment; filename=\"" + fileName1 + "\"; filename*=UTF-8''" + fileName1 + "", responseHeaders.get("Content-Disposition"));
String lastModifiedHeader = responseHeaders.get(LAST_MODIFIED_HEADER);
assertNotNull(lastModifiedHeader);
// Test 304 response
Map<String, String> headers = Collections.singletonMap(IF_MODIFIED_SINCE_HEADER, lastModifiedHeader);
getSingle(URL_SHARED_LINKS, null, shared1Id + "/content", null, headers, 304);
// -ve test - unauth access to get shared link file content - without Content-Disposition header (attachment=false) - header ignored (plain text is not in white list) // -ve test - unauth access to get shared link file content - without Content-Disposition header (attachment=false) - header ignored (plain text is not in white list)
params = new HashMap<>(); params = new HashMap<>();
@@ -278,21 +283,24 @@ public class SharedLinkApiTest extends AbstractBaseApiTest
// unauth access to file 2 content (via shared link) // unauth access to file 2 content (via shared link)
response = getSingle(QuickShareLinkEntityResource.class, null, shared2Id + "/content", null, 200); response = getSingle(QuickShareLinkEntityResource.class, null, shared2Id + "/content", null, 200);
assertArrayEquals(file2_originalBytes, response.getResponseAsBytes()); assertArrayEquals(file2_originalBytes, response.getResponseAsBytes());
assertEquals(file2_MimeType+";charset=UTF-8", response.getHeaders().get("Content-Type")); responseHeaders = response.getHeaders();
assertNotNull(response.getHeaders().get("Last-Modified")); assertNotNull(responseHeaders);
assertNotNull(response.getHeaders().get("Expires")); assertEquals(file2_MimeType+";charset=UTF-8", responseHeaders.get("Content-Type"));
assertEquals("attachment; filename=\"" + fileName2 + "\"; filename*=UTF-8''" + fileName2 + "", response.getHeaders().get("Content-Disposition")); assertNotNull(responseHeaders.get("Expires"));
assertNotNull(responseHeaders.get(LAST_MODIFIED_HEADER));
assertEquals("attachment; filename=\"" + fileName2 + "\"; filename*=UTF-8''" + fileName2 + "", responseHeaders.get("Content-Disposition"));
// unauth access to file 2 content (via shared link) - without Content-Disposition header (attachment=false) // unauth access to file 2 content (via shared link) - without Content-Disposition header (attachment=false)
params = new HashMap<>(); params = new HashMap<>();
params.put("attachment", "false"); params.put("attachment", "false");
response = getSingle(QuickShareLinkEntityResource.class, null, shared2Id + "/content", params, 200); response = getSingle(QuickShareLinkEntityResource.class, null, shared2Id + "/content", params, 200);
assertArrayEquals(file2_originalBytes, response.getResponseAsBytes()); assertArrayEquals(file2_originalBytes, response.getResponseAsBytes());
assertEquals(file2_MimeType+";charset=UTF-8", response.getHeaders().get("Content-Type")); responseHeaders = response.getHeaders();
assertNotNull(response.getHeaders().get("Last-Modified")); assertNotNull(responseHeaders);
assertNotNull(response.getHeaders().get("Expires")); assertEquals(file2_MimeType+";charset=UTF-8", responseHeaders.get("Content-Type"));
assertNull(response.getHeaders().get("Content-Disposition")); assertNotNull(responseHeaders.get(LAST_MODIFIED_HEADER));
assertNotNull(responseHeaders.get("Expires"));
assertNull(responseHeaders.get("Content-Disposition"));
// -ve shared link rendition tests // -ve shared link rendition tests
{ {
@@ -312,21 +320,29 @@ public class SharedLinkApiTest extends AbstractBaseApiTest
// unauth access to get shared link file rendition content // unauth access to get shared link file rendition content
response = getSingle(QuickShareLinkEntityResource.class, null, shared1Id + "/renditions/doclib/content", null, 200); response = getSingle(QuickShareLinkEntityResource.class, null, shared1Id + "/renditions/doclib/content", null, 200);
assertTrue(response.getResponseAsBytes().length > 0); assertTrue(response.getResponseAsBytes().length > 0);
assertEquals(MimetypeMap.MIMETYPE_IMAGE_PNG+";charset=UTF-8", response.getHeaders().get("Content-Type")); responseHeaders = response.getHeaders();
assertNotNull(response.getHeaders().get("Last-Modified")); assertNotNull(responseHeaders);
assertNotNull(response.getHeaders().get("Expires")); assertEquals(MimetypeMap.MIMETYPE_IMAGE_PNG+";charset=UTF-8", responseHeaders.get("Content-Type"));
assertNotNull(responseHeaders.get(LAST_MODIFIED_HEADER));
assertNotNull(responseHeaders.get("Expires"));
String docName = "doclib"; String docName = "doclib";
assertEquals("attachment; filename=\"" + docName + "\"; filename*=UTF-8''" + docName + "", response.getHeaders().get("Content-Disposition")); assertEquals("attachment; filename=\"" + docName + "\"; filename*=UTF-8''" + docName + "", responseHeaders.get("Content-Disposition"));
// unauth access to get shared link file rendition content - without Content-Disposition header (attachment=false) // unauth access to get shared link file rendition content - without Content-Disposition header (attachment=false)
params = new HashMap<>(); params = new HashMap<>();
params.put("attachment", "false"); params.put("attachment", "false");
response = getSingle(QuickShareLinkEntityResource.class, null, shared1Id + "/renditions/doclib/content", params, 200); response = getSingle(QuickShareLinkEntityResource.class, null, shared1Id + "/renditions/doclib/content", params, 200);
assertTrue(response.getResponseAsBytes().length > 0); assertTrue(response.getResponseAsBytes().length > 0);
assertEquals(MimetypeMap.MIMETYPE_IMAGE_PNG+";charset=UTF-8", response.getHeaders().get("Content-Type")); responseHeaders = response.getHeaders();
assertNotNull(response.getHeaders().get("Last-Modified")); assertNotNull(responseHeaders);
assertNotNull(response.getHeaders().get("Expires")); assertEquals(MimetypeMap.MIMETYPE_IMAGE_PNG+";charset=UTF-8", responseHeaders.get("Content-Type"));
assertNull(response.getHeaders().get("Content-Disposition")); assertNotNull(responseHeaders.get("Expires"));
assertNull(responseHeaders.get("Content-Disposition"));
lastModifiedHeader = responseHeaders.get(LAST_MODIFIED_HEADER);
assertNotNull(lastModifiedHeader);
// Test 304 response
headers = Collections.singletonMap(IF_MODIFIED_SINCE_HEADER, lastModifiedHeader);
getSingle(URL_SHARED_LINKS, null, shared1Id + "/renditions/doclib/content", null, headers, 304);
// -ve delete tests // -ve delete tests