diff --git a/remote-api/src/test/java/org/alfresco/rest/api/tests/AbstractBaseApiTest.java b/remote-api/src/test/java/org/alfresco/rest/api/tests/AbstractBaseApiTest.java index 0523bce57b..a938dba42f 100644 --- a/remote-api/src/test/java/org/alfresco/rest/api/tests/AbstractBaseApiTest.java +++ b/remote-api/src/test/java/org/alfresco/rest/api/tests/AbstractBaseApiTest.java @@ -236,6 +236,17 @@ public abstract class AbstractBaseApiTest extends EnterpriseTestApi return URL_DELETED_NODES + "/" + nodeId + "/" + URL_RENDITIONS + "/" + renditionID + "/" + REQUEST_DIRECT_ACCESS_URL; } + protected String getRequestRenditionDirectAccessUrl(String nodeId, String renditionID) + { + return URL_NODES + "/" + nodeId + "/" + URL_RENDITIONS + "/" + renditionID + "/" + REQUEST_DIRECT_ACCESS_URL; + } + + protected String getRequestVersionDirectAccessUrl(String nodeId, String versionId) + { + return URL_NODES + "/" + nodeId + "/" + URL_VERSIONS + "/" + versionId + "/" + REQUEST_DIRECT_ACCESS_URL; + } + + /** * The api scope. either public or private * diff --git a/remote-api/src/test/java/org/alfresco/rest/api/tests/NodeApiTest.java b/remote-api/src/test/java/org/alfresco/rest/api/tests/NodeApiTest.java index 9ceeeb91ac..01d26fff9a 100644 --- a/remote-api/src/test/java/org/alfresco/rest/api/tests/NodeApiTest.java +++ b/remote-api/src/test/java/org/alfresco/rest/api/tests/NodeApiTest.java @@ -6278,6 +6278,73 @@ public class NodeApiTest extends AbstractSingleNetworkSiteTest HttpResponse dauResponse = post(getRequestContentDirectUrl(contentNodeId), null, null, null, null, 501); } + @Test + public void testRequestContentDirectUrlClientErrorResponseForNodes() throws Exception + { + enableRestDirectAccessUrls(); + + //Node does not exist + setRequestContext(user1); + + HttpResponse nodeDoesNotExistResponse = post(getRequestContentDirectUrl("non-existing-node-id"), null, 404); + + //Node is not a file + String folderId = createFolder(tDocLibNodeId, "some-folder-name").getId(); + HttpResponse nodeIsNotAFileReponse = post(getRequestContentDirectUrl(folderId), null, 400); + + disableRestDirectAccessUrls(); + } + + @Test + public void testRequestContentDirectUrlClientErrorResponseForVersions() throws Exception + { + enableRestDirectAccessUrls(); + // Create a document + setRequestContext(user1); + + String folderNodeId = createUniqueFolder(getMyNodeId()); + String contentNodeId = createUniqueContent(folderNodeId); + + // Verify versions + HttpResponse versionIdDoesNotExistReponse = post(getRequestVersionDirectAccessUrl(contentNodeId, "1.2"), null, null, null, null, 404); + HttpResponse versionIdInvalidReponse = post(getRequestVersionDirectAccessUrl(contentNodeId, "invalid-version"), null, null, null, null, 404); + + disableRestDirectAccessUrls(); + } + + @Test + public void testRequestContentDirectUrlClientErrorResponseForRenditions() throws Exception + { + enableRestDirectAccessUrls(); + // Create a document + setRequestContext(user1); + + String folderNodeId = createUniqueFolder(getMyNodeId()); + String contentNodeId = createUniqueContent(folderNodeId); + + // Verify renditions + HttpResponse renditionIdDoesNotExistReponse = post(getRequestRenditionDirectAccessUrl(contentNodeId, "pdf"), null, null, null, null, 404); + HttpResponse renditionIdInvalidReponse = post(getRequestRenditionDirectAccessUrl(contentNodeId, "invalid-rendition"), null, null, null, null, 404); + + disableRestDirectAccessUrls(); + } + + @Test + public void testRequestContentDirectUrlClientErrorResponseForDeletion() throws Exception + { + enableRestDirectAccessUrls(); + // Create a document + setRequestContext(user1); + + String folderNodeId = createUniqueFolder(getMyNodeId()); + String contentNodeId = createUniqueContent(folderNodeId); + + // Verify deletion + HttpResponse nodeNotDeletedReponse = post(getRequestArchivedContentDirectUrl(contentNodeId), null, null, null, null, 404); + + disableRestDirectAccessUrls(); + } + @Test public void testRequestVersionsContentDirectUrl() throws Exception {