From a4bd7365815ae85332a4097fe565ada3aff422d2 Mon Sep 17 00:00:00 2001 From: Jamal Kaabi-Mofrad Date: Tue, 10 May 2016 11:22:47 +0000 Subject: [PATCH] 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/HEAD/root@126533 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../rest/api/tests/SharedLinkApiTest.java | 60 ++++++++++++------- 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/source/test-java/org/alfresco/rest/api/tests/SharedLinkApiTest.java b/source/test-java/org/alfresco/rest/api/tests/SharedLinkApiTest.java index 069cd0fdbe..8926d2a61c 100644 --- a/source/test-java/org/alfresco/rest/api/tests/SharedLinkApiTest.java +++ b/source/test-java/org/alfresco/rest/api/tests/SharedLinkApiTest.java @@ -262,11 +262,16 @@ public class SharedLinkApiTest extends AbstractBaseApiTest // unauth access to file 1 content (via shared link) response = getSingle(QuickShareLinkEntityResource.class, null, shared1Id + "/content", null, 200); assertArrayEquals(content1Text.getBytes(), response.getResponseAsBytes()); - assertEquals(file1_MimeType+";charset=UTF-8", response.getHeaders().get("Content-Type")); - assertNotNull(response.getHeaders().get("Last-Modified")); - assertNotNull(response.getHeaders().get("Expires")); - assertEquals("attachment; filename=\"" + fileName1 + "\"; filename*=UTF-8''" + fileName1 + "", response.getHeaders().get("Content-Disposition")); - + Map responseHeaders = response.getHeaders(); + assertNotNull(responseHeaders); + assertEquals(file1_MimeType+";charset=UTF-8", responseHeaders.get("Content-Type")); + 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 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) params = new HashMap<>(); @@ -278,21 +283,24 @@ public class SharedLinkApiTest extends AbstractBaseApiTest // unauth access to file 2 content (via shared link) response = getSingle(QuickShareLinkEntityResource.class, null, shared2Id + "/content", null, 200); assertArrayEquals(file2_originalBytes, response.getResponseAsBytes()); - assertEquals(file2_MimeType+";charset=UTF-8", response.getHeaders().get("Content-Type")); - assertNotNull(response.getHeaders().get("Last-Modified")); - assertNotNull(response.getHeaders().get("Expires")); - assertEquals("attachment; filename=\"" + fileName2 + "\"; filename*=UTF-8''" + fileName2 + "", response.getHeaders().get("Content-Disposition")); + responseHeaders = response.getHeaders(); + assertNotNull(responseHeaders); + assertEquals(file2_MimeType+";charset=UTF-8", responseHeaders.get("Content-Type")); + 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) params = new HashMap<>(); params.put("attachment", "false"); response = getSingle(QuickShareLinkEntityResource.class, null, shared2Id + "/content", params, 200); assertArrayEquals(file2_originalBytes, response.getResponseAsBytes()); - assertEquals(file2_MimeType+";charset=UTF-8", response.getHeaders().get("Content-Type")); - assertNotNull(response.getHeaders().get("Last-Modified")); - assertNotNull(response.getHeaders().get("Expires")); - assertNull(response.getHeaders().get("Content-Disposition")); - + responseHeaders = response.getHeaders(); + assertNotNull(responseHeaders); + assertEquals(file2_MimeType+";charset=UTF-8", responseHeaders.get("Content-Type")); + assertNotNull(responseHeaders.get(LAST_MODIFIED_HEADER)); + assertNotNull(responseHeaders.get("Expires")); + assertNull(responseHeaders.get("Content-Disposition")); // -ve shared link rendition tests { @@ -312,21 +320,29 @@ public class SharedLinkApiTest extends AbstractBaseApiTest // unauth access to get shared link file rendition content response = getSingle(QuickShareLinkEntityResource.class, null, shared1Id + "/renditions/doclib/content", null, 200); assertTrue(response.getResponseAsBytes().length > 0); - assertEquals(MimetypeMap.MIMETYPE_IMAGE_PNG+";charset=UTF-8", response.getHeaders().get("Content-Type")); - assertNotNull(response.getHeaders().get("Last-Modified")); - assertNotNull(response.getHeaders().get("Expires")); + responseHeaders = response.getHeaders(); + assertNotNull(responseHeaders); + 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"; - 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) params = new HashMap<>(); params.put("attachment", "false"); response = getSingle(QuickShareLinkEntityResource.class, null, shared1Id + "/renditions/doclib/content", params, 200); assertTrue(response.getResponseAsBytes().length > 0); - assertEquals(MimetypeMap.MIMETYPE_IMAGE_PNG+";charset=UTF-8", response.getHeaders().get("Content-Type")); - assertNotNull(response.getHeaders().get("Last-Modified")); - assertNotNull(response.getHeaders().get("Expires")); - assertNull(response.getHeaders().get("Content-Disposition")); + responseHeaders = response.getHeaders(); + assertNotNull(responseHeaders); + assertEquals(MimetypeMap.MIMETYPE_IMAGE_PNG+";charset=UTF-8", responseHeaders.get("Content-Type")); + 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