From 597056b1c4709ba0ce0f77a3cbb84c4962aaccdc Mon Sep 17 00:00:00 2001 From: Sara Date: Wed, 11 Aug 2021 19:51:11 +0100 Subject: [PATCH] ACS-1830 - Test requestContentDirectUrl for Nodes REST API endpoint (#650) (#656) * ACS-1830 - Test requestContentDirectUrl for Nodes REST API endpoint -add test for RequestContentDirectUrl -update the license headers to 2021 Co-authored-by: Iulian Aftene --- .../rest/api/tests/AbstractBaseApiTest.java | 10 ++++++- .../alfresco/rest/api/tests/NodeApiTest.java | 30 ++++++++++++++++++- 2 files changed, 38 insertions(+), 2 deletions(-) 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 4938ecf42e..5ca4b778a2 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 @@ -2,7 +2,7 @@ * #%L * Alfresco Remote API * %% - * Copyright (C) 2005 - 2020 Alfresco Software Limited + * Copyright (C) 2005 - 2021 Alfresco Software Limited * %% * This file is part of the Alfresco software. * If the software was purchased under a paid Alfresco license, the terms of @@ -68,6 +68,7 @@ import org.junit.After; import org.junit.Before; import org.junit.experimental.categories.Category; import org.springframework.util.ResourceUtils; +import org.alfresco.service.cmr.repository.DirectAccessUrl; import java.io.ByteArrayInputStream; import java.io.File; @@ -136,6 +137,8 @@ public abstract class AbstractBaseApiTest extends EnterpriseTestApi protected static PersonService personService; protected final String RUNID = System.currentTimeMillis()+""; + + private static final String REQUEST_NODE_DIRECT_ACCESS_URL = "requestNodeDirectAccessUrl"; @Override @Before @@ -211,6 +214,11 @@ public abstract class AbstractBaseApiTest extends EnterpriseTestApi setRequestContext(null); } + protected String getRequestContentDirectUrl(String nodeId) + { + return URL_NODES + "/" + nodeId + "/" + REQUEST_NODE_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 247a60df9b..a5bdef067f 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 @@ -2,7 +2,7 @@ * #%L * Alfresco Remote API * %% - * Copyright (C) 2005 - 2016 Alfresco Software Limited + * Copyright (C) 2005 - 2021 Alfresco Software Limited * %% * This file is part of the Alfresco software. * If the software was purchased under a paid Alfresco license, the terms of @@ -6250,5 +6250,33 @@ public class NodeApiTest extends AbstractSingleNetworkSiteTest assertFalse((Boolean) constraintParameters.get("requiresMatch")); } + @Test + public void testRequestContentDirectUrl() throws Exception + { + setRequestContext(user1); + + // Use existing test file + String fileName = "quick-1.txt"; + File file = getResourceFile(fileName); + + MultiPartBuilder multiPartBuilder = MultiPartBuilder.create().setFileData(new MultiPartBuilder.FileData(fileName, file)); + MultiPartBuilder.MultiPartRequest reqBody = multiPartBuilder.build(); + + // Upload text content + HttpResponse response = post(getNodeChildrenUrl(Nodes.PATH_MY), reqBody.getBody(), null, reqBody.getContentType(), 201); + Document document = RestApiUtil.parseRestApiEntry(response.getJsonResponse(), Document.class); + + final String contentNodeId = document.getId(); + + // Check the upload response + assertEquals(fileName, document.getName()); + ContentInfo contentInfo = document.getContent(); + assertNotNull(contentInfo); + assertEquals(MimetypeMap.MIMETYPE_TEXT_PLAIN, contentInfo.getMimeType()); + + + getSingle(getRequestContentDirectUrl(contentNodeId), null, null, null, 405); + } + }