diff --git a/remote-api/src/test/java/org/alfresco/rest/api/tests/SharedLinkApiTest.java b/remote-api/src/test/java/org/alfresco/rest/api/tests/SharedLinkApiTest.java
index 3faadffb97..ffd018461e 100644
--- a/remote-api/src/test/java/org/alfresco/rest/api/tests/SharedLinkApiTest.java
+++ b/remote-api/src/test/java/org/alfresco/rest/api/tests/SharedLinkApiTest.java
@@ -734,195 +734,6 @@ public class SharedLinkApiTest extends AbstractBaseApiTest
}
}
- /**
- * Tests shared links to file (content) in a multi-tenant system.
- *
- *
POST:
- * {@literal :/alfresco/api//public/alfresco/versions/1/shared-links}
- *
- * DELETE:
- * {@literal :/alfresco/api//public/alfresco/versions/1/shared-links/}
- *
- * GET:
- * The following do not require authentication
- * {@literal :/alfresco/api//public/alfresco/versions/1/shared-links/}
- * {@literal :/alfresco/api//public/alfresco/versions/1/shared-links//content}
- * {@literal :/alfresco/api//public/alfresco/versions/1/shared-links//renditions}
- * {@literal :/alfresco/api//public/alfresco/versions/1/shared-links//renditions/}
- * {@literal :/alfresco/api//public/alfresco/versions/1/shared-links//renditions//content}
- *
- */
- // TODO now covered by testSharedLinkCreateGetDelete ? (since base class now uses tenant context by default)
- @Test
- public void testSharedLinkCreateGetDelete_MultiTenant() throws Exception
- {
- // As user1
- setRequestContext(user1);
-
- String docLibNodeId = getSiteContainerNodeId(tSiteId, "documentLibrary");
-
- String folderName = "folder" + System.currentTimeMillis() + "_1";
- String folderId = createFolder(docLibNodeId, folderName, null).getId();
-
- // create doc d1 - pdf
- String fileName1 = "quick" + RUNID + "_1.pdf";
- File file1 = getResourceFile("quick.pdf");
-
- byte[] file1_originalBytes = Files.readAllBytes(Paths.get(file1.getAbsolutePath()));
-
- String file1_MimeType = MimetypeMap.MIMETYPE_PDF;
-
- MultiPartBuilder.MultiPartRequest reqBody = MultiPartBuilder.create()
- .setFileData(new MultiPartBuilder.FileData(fileName1, file1, file1_MimeType))
- .build();
-
- HttpResponse response = post(getNodeChildrenUrl(folderId), reqBody.getBody(), null, reqBody.getContentType(), 201);
- Document doc1 = RestApiUtil.parseRestApiEntry(response.getJsonResponse(), Document.class);
- String d1Id = doc1.getId();
- assertNotNull(d1Id);
-
- // create shared link to document 1
- Map body = new HashMap<>();
- body.put("nodeId", d1Id);
- response = post(URL_SHARED_LINKS, toJsonAsStringNonNull(body), 201);
- QuickShareLink resp = RestApiUtil.parseRestApiEntry(response.getJsonResponse(), QuickShareLink.class);
- String shared1Id = resp.getId();
- assertNotNull(shared1Id);
- assertEquals(d1Id, resp.getNodeId());
- assertEquals(fileName1, resp.getName());
- assertEquals(file1_MimeType, resp.getContent().getMimeType());
- assertEquals(user1, resp.getSharedByUser().getId());
-
- // allowable operations not included - no params
- response = getSingle(QuickShareLinkEntityResource.class, shared1Id, null, 200);
- resp = RestApiUtil.parseRestApiEntry(response.getJsonResponse(), QuickShareLink.class);
- assertNull(resp.getAllowableOperations());
-
- setRequestContext(null);
-
- // unauth access to get shared link info
- Map params = Collections.singletonMap("include", "allowableOperations"); // note: this will be ignore for unauth access
- response = getSingle(QuickShareLinkEntityResource.class, shared1Id, params, 200);
- resp = RestApiUtil.parseRestApiEntry(response.getJsonResponse(), QuickShareLink.class);
- assertEquals(shared1Id, resp.getId());
- assertEquals(fileName1, resp.getName());
- assertEquals(d1Id, resp.getNodeId());
- assertNull(resp.getAllowableOperations()); // include is ignored
- assertNull(resp.getAllowableOperationsOnTarget()); // include is ignored
-
-
- // unauth access to file 1 content (via shared link)
- response = getSingle(QuickShareLinkEntityResource.class, shared1Id + "/content", null, 200);
- assertArrayEquals(file1_originalBytes, response.getResponseAsBytes());
- 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, shared1Id + "/content", null, headers, 304);
-
- // unauth access to file 1 content (via shared link) - without Content-Disposition header (attachment=false)
- params = new HashMap<>();
- params.put("attachment", "false");
- response = getSingle(QuickShareLinkEntityResource.class, shared1Id + "/content", params, 200);
- assertArrayEquals(file1_originalBytes, response.getResponseAsBytes());
- responseHeaders = response.getHeaders();
- assertNotNull(responseHeaders);
- assertEquals(file1_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
- {
- // -ve test - try to get non-existent rendition content
- getSingle(QuickShareLinkEntityResource.class, shared1Id + "/renditions/doclib/content", null, 404);
-
- // -ve test - try to get unregistered rendition content
- getSingle(QuickShareLinkEntityResource.class, shared1Id + "/renditions/dummy/content", null, 404);
- }
-
- // unauth access to get rendition info for a shared link (available => CREATED rendition only)
- // -ve shared link rendition tests
- {
- // -ve test - try to get not created rendition for the given shared link
- getSingle(QuickShareLinkEntityResource.class, shared1Id + "/renditions/doclib", null, 404);
-
- // -ve test - try to get unregistered rendition
- getSingle(QuickShareLinkEntityResource.class, shared1Id + "/renditions/dummy", null, 404);
- }
-
- // unauth access to get shared link renditions info (available => CREATED renditions only)
- response = getAll(URL_SHARED_LINKS + "/" + shared1Id + "/renditions", null, 200);
- List renditions = RestApiUtil.parseRestApiEntries(response.getJsonResponse(), Rendition.class);
- assertEquals(0, renditions.size());
-
- // create rendition of pdf doc - note: for some reason create rendition of txt doc fail on build m/c (TBC) ?
- setRequestContext(user1);
-
- Rendition rendition = createAndGetRendition(d1Id, "doclib");
- assertNotNull(rendition);
- assertEquals(Rendition.RenditionStatus.CREATED, rendition.getStatus());
-
- setRequestContext(null);
-
- // unauth access to get shared link renditions info (available => CREATED renditions only)
- response = getAll(URL_SHARED_LINKS + "/" + shared1Id + "/renditions", null, 200);
- renditions = RestApiUtil.parseRestApiEntries(response.getJsonResponse(), Rendition.class);
- assertEquals(1, renditions.size());
- assertEquals(Rendition.RenditionStatus.CREATED, renditions.get(0).getStatus());
- assertEquals("doclib", renditions.get(0).getId());
-
- // unauth access to get rendition info for a shared link (available => CREATED rendition only)
- {
- // get a created rendition for the given shared link
- getSingle(QuickShareLinkEntityResource.class, shared1Id + "/renditions/doclib", null, 200);
- }
-
- // unauth access to get shared link file rendition content
- response = getSingle(QuickShareLinkEntityResource.class, shared1Id + "/renditions/doclib/content", null, 200);
- assertTrue(response.getResponseAsBytes().length > 0);
- 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 + "", 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, shared1Id + "/renditions/doclib/content", params, 200);
- assertTrue(response.getResponseAsBytes().length > 0);
- 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, shared1Id + "/renditions/doclib/content", null, headers, 304);
-
- // -ve test - userTwoN1 cannot delete shared link
- setRequestContext(user2);
- deleteSharedLink(shared1Id, 403);
-
- // -ve test - unauthenticated
- setRequestContext(null);
- deleteSharedLink(shared1Id, 401);
-
- // delete shared link
- setRequestContext(user1);
- deleteSharedLink(shared1Id);
- }
-
/**
* Tests shared links to file with expiry date.
* POST: