[MNT-24127] Added Endpoint with test cases [ags][tas]

This commit is contained in:
mohit-singh4
2024-06-20 14:26:10 +05:30
parent b69487c9bb
commit 53cc9c4eee
2 changed files with 38 additions and 5 deletions

View File

@@ -25,6 +25,7 @@
*/
package org.alfresco.rest.api.nodes;
import org.alfresco.model.ContentModel;
import org.alfresco.model.FolderSizeModel;
import org.alfresco.repo.action.executer.NodeSizeActionExecuter;
import org.alfresco.repo.security.permissions.AccessDeniedException;
@@ -53,8 +54,7 @@ import org.springframework.beans.factory.InitializingBean;
import org.springframework.extensions.webscripts.Status;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import java.util.*;
/**
* Node Size
@@ -123,6 +123,7 @@ public class NodeFolderSizeRelation implements
public Map<String, Object> createById(String nodeId, Parameters params) {
NodeRef nodeRef = nodes.validateNode(nodeId);
nodeService.setProperty(nodeRef, FolderSizeModel.PROP_STATUS, "IN-PROGRESS");
Node nodeInfo = nodes.getNode(nodeId);
NodePermissions nodePerms = nodeInfo.getPermissions();
int maxItems = params.getPaging().getMaxItems();
@@ -140,7 +141,6 @@ public class NodeFolderSizeRelation implements
folderSizeAction.setExecuteAsynchronously(true);
folderSizeAction.setParameterValue(NodeSizeActionExecuter.PAGE_SIZE, maxItems);
actionService.executeAction(folderSizeAction, nodeRef, false, true);
nodeService.setProperty(nodeRef, FolderSizeModel.PROP_STATUS, "IN-PROGRESS");
Map<String, Object> result = new HashMap<>();
result.put("executionId", nodeId);
return result;

View File

@@ -46,10 +46,12 @@ import static org.junit.Assert.assertNotNull;
public class NodeFolderSizeApiTest extends AbstractBaseApiTest{
/**
* Private site of user one from network one.
* Private site of user two from network one.
*/
private Site userOneN1Site;
private Site userOneN2Site;
private String addToDocumentLibrary(Site testSite, String name, String nodeType, String userId) throws Exception
{
String parentId = getSiteContainerNodeId(testSite.getId(), "documentLibrary");
@@ -62,7 +64,7 @@ public class NodeFolderSizeApiTest extends AbstractBaseApiTest{
* {@literal <host>:<port>/alfresco/api/<networkId>/public/alfresco/versions/1/nodes/<nodeId>/calculateSize}
*/
@Test
public void testCalculateFolderSize() throws Exception
public void testPostCalculateFolderSize() throws Exception
{
setRequestContext(user1);
@@ -81,12 +83,43 @@ public class NodeFolderSizeApiTest extends AbstractBaseApiTest{
Object document = RestApiUtil.parseRestApiEntry(response.getJsonResponse(), Object.class);
String contentNodeId = document.toString();
assertNotNull(contentNodeId);
// -ve test - unknown nodeId
delete(getFolderSizeUrl(folderId), folderId, null, 404);
// -ve test - unauthenticated.
delete(getFolderSizeUrl(folderId), folderId, null, 401);
// -ve test - permission denied (on version other than most recent)
delete(getFolderSizeUrl(folderId), folderId, null, 403);
}
@Test
public void testGetCalculateFolderSize() throws Exception
{
setRequestContext(user1);
String siteTitle = "RandomSite" + System.currentTimeMillis();
userOneN2Site = createSite("RN"+RUNID, siteTitle, siteTitle, SiteVisibility.PRIVATE, 201);
// Create a folder within the site document's library.
String folderName = "folder" + System.currentTimeMillis();
String folderId = addToDocumentLibrary(userOneN2Site, folderName, TYPE_CM_CONTENT, user1);
Map<String, String> params = new HashMap<>();
params.put("nodeId",folderId);
HttpResponse response = getSingle(getFolderSizeUrl(folderId), toJsonAsStringNonNull(params), 200);
Object document = RestApiUtil.parseRestApiEntry(response.getJsonResponse(), Object.class);
String contentNodeId = document.toString();
assertNotNull(contentNodeId);
}
@After
public void tearDown() throws Exception
{
deleteSite(userOneN1Site.getId(), true, 204);
deleteSite(userOneN2Site.getId(), true, 204);
}
@Override