Search in sources :

Example 16 with Folder

use of org.alfresco.rest.api.tests.client.data.Folder in project alfresco-remote-api by Alfresco.

the class QueriesNodesApiTest method testLiveSearchNodes_Tags.

@Test
@Category(RedundantTests.class)
public void testLiveSearchNodes_Tags() throws Exception {
    setRequestContext(user1);
    PublicApiClient.Nodes nodesProxy = publicApiClient.nodes();
    int f1Count = 5;
    List<String> f1NodeIds = new ArrayList<>(f1Count);
    int f2Count = 3;
    List<String> f2NodeIds = new ArrayList<>(f2Count);
    int totalCount = f1Count + f2Count;
    List<String> allIds = new ArrayList<>(totalCount);
    String testTag = "ghi789tag";
    String testFileTag = "ghi789file";
    String testFolderTag = "ghi789folder";
    try {
        // As user 1 ...
        Paging paging = getPaging(0, 100);
        String f1Id = createFolder(Nodes.PATH_MY, "folder tag 1").getId();
        String f2Id = createFolder(Nodes.PATH_MY, "folder tag 2").getId();
        String name = "name";
        for (int i = 1; i <= f1Count; i++) {
            // create doc - in folder 1
            String contentText = "f1 test document " + user1 + " document " + i;
            String docName = name + i;
            Document doc = createTextFile(f1Id, docName, contentText, "UTF-8", null);
            publicApiClient.setRequestContext(new RequestContext("", user1));
            // ignore result
            nodesProxy.createNodeTag(doc.getId(), new Tag(testTag));
            // ignore result
            nodesProxy.createNodeTag(doc.getId(), new Tag(testFileTag));
            f1NodeIds.add(doc.getId());
        }
        for (int i = 1; i <= f2Count; i++) {
            // create folder - in folder 2
            String folderName = name + i;
            Folder folder = createFolder(f2Id, folderName, null);
            publicApiClient.setRequestContext(new RequestContext("", user1));
            // ignore result
            nodesProxy.createNodeTag(folder.getId(), new Tag(testTag));
            // ignore result
            nodesProxy.createNodeTag(folder.getId(), new Tag(testFolderTag));
            f2NodeIds.add(folder.getId());
        }
        allIds.addAll(f1NodeIds);
        allIds.addAll(f2NodeIds);
        // Search hits based on tag
        Map<String, String> params = new HashMap<>(1);
        params.put(Queries.PARAM_TERM, testTag);
        HttpResponse response = getAll(URL_QUERIES_LSN, paging, params, 200);
        List<Node> nodes = RestApiUtil.parseRestApiEntries(response.getJsonResponse(), Node.class);
        checkNodeIds(nodes, allIds, null);
        params = new HashMap<>(1);
        params.put(Queries.PARAM_TERM, testFileTag);
        response = getAll(URL_QUERIES_LSN, paging, params, 200);
        nodes = RestApiUtil.parseRestApiEntries(response.getJsonResponse(), Node.class);
        checkNodeIds(nodes, f1NodeIds, null);
        params = new HashMap<>(1);
        params.put(Queries.PARAM_TERM, testFolderTag);
        response = getAll(URL_QUERIES_LSN, paging, params, 200);
        nodes = RestApiUtil.parseRestApiEntries(response.getJsonResponse(), Node.class);
        checkNodeIds(nodes, f2NodeIds, null);
    } finally {
        // some cleanup
        setRequestContext(user1);
        for (String nodeId : allIds) {
            deleteNode(nodeId, true, 204);
        }
    }
}
Also used : HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) Paging(org.alfresco.rest.api.tests.client.PublicApiClient.Paging) Node(org.alfresco.rest.api.tests.client.data.Node) ArrayList(java.util.ArrayList) HttpResponse(org.alfresco.rest.api.tests.client.HttpResponse) Document(org.alfresco.rest.api.tests.client.data.Document) Folder(org.alfresco.rest.api.tests.client.data.Folder) PublicApiClient(org.alfresco.rest.api.tests.client.PublicApiClient) RequestContext(org.alfresco.rest.api.tests.client.RequestContext) Tag(org.alfresco.rest.api.tests.client.data.Tag) Category(org.junit.experimental.categories.Category) Test(org.junit.Test) AbstractSingleNetworkSiteTest(org.alfresco.rest.AbstractSingleNetworkSiteTest)

Example 17 with Folder

use of org.alfresco.rest.api.tests.client.data.Folder in project alfresco-remote-api by Alfresco.

the class ActivitiesPostingTest method testNonFileActivities.

/**
 * Tests non-file activites. So no events.
 */
@Test
public void testNonFileActivities() throws Exception {
    setRequestContext(user1);
    String folder1 = "InSitefolder" + System.currentTimeMillis() + "_1";
    Folder createdFolder = createFolder(tDocLibNodeId, folder1, null);
    assertNotNull(createdFolder);
    List<Activity> activities = getMyActivities();
    Node aNode = createNode(createdFolder.getId(), "mynode", "cm:failedThumbnail", null);
    assertNotNull(aNode);
    deleteNode(aNode.getId());
    List<Activity> activitiesAgain = getMyActivities();
    assertEquals("No activites should be created for non-file activities", activities, activitiesAgain);
}
Also used : Node(org.alfresco.rest.api.tests.client.data.Node) Activity(org.alfresco.rest.api.tests.client.data.Activity) Folder(org.alfresco.rest.api.tests.client.data.Folder) Test(org.junit.Test) AbstractSingleNetworkSiteTest(org.alfresco.rest.AbstractSingleNetworkSiteTest)

Example 18 with Folder

use of org.alfresco.rest.api.tests.client.data.Folder in project alfresco-remote-api by Alfresco.

the class ActivitiesPostingTest method testNonSite.

/**
 * Tests non-site file activites. So no events.
 */
@Test
public void testNonSite() throws Exception {
    setRequestContext(user1);
    List<Activity> activities = getMyActivities();
    String folder1 = "nonSitefolder" + System.currentTimeMillis() + "_1";
    // Create a folder outside a site
    Folder createdFolder = createFolder(Nodes.PATH_MY, folder1, null);
    assertNotNull(createdFolder);
    String f1Id = createdFolder.getId();
    String docName = "nonsite_d1.txt";
    Document documentResp = createEmptyTextFile(f1Id, docName);
    assertNotNull(documentResp);
    // Update the file
    Document dUpdate = new Document();
    dUpdate.setName("nonsite_d2.txt");
    put(URL_NODES, documentResp.getId(), toJsonAsStringNonNull(dUpdate), null, 200);
    List<Activity> activitiesAgain = getMyActivities();
    assertEquals("No activites should be created for non-site nodes", activities, activitiesAgain);
}
Also used : Activity(org.alfresco.rest.api.tests.client.data.Activity) Folder(org.alfresco.rest.api.tests.client.data.Folder) Document(org.alfresco.rest.api.tests.client.data.Document) Test(org.junit.Test) AbstractSingleNetworkSiteTest(org.alfresco.rest.AbstractSingleNetworkSiteTest)

Example 19 with Folder

use of org.alfresco.rest.api.tests.client.data.Folder in project alfresco-remote-api by Alfresco.

the class InterceptingIdentityRemoteUserMapper method runPreCheckToEnsureBasicFunctionalityWorks.

private void runPreCheckToEnsureBasicFunctionalityWorks(String folderName, Paging paging) throws Exception {
    setRequestContext(null);
    getAll(SiteEntityResource.class, paging, null, 401);
    setRequestContext(user2);
    // User2 create a folder within his home folder (-my-)
    Folder folderResp = createFolder(Nodes.PATH_MY, folderName, null);
    assertNotNull(folderResp.getId());
    setRequestContext(null);
    getAll(getNodeChildrenUrl(Nodes.PATH_MY), paging, 401);
}
Also used : Folder(org.alfresco.rest.api.tests.client.data.Folder)

Example 20 with Folder

use of org.alfresco.rest.api.tests.client.data.Folder in project alfresco-remote-api by Alfresco.

the class DeletedNodesTest method testCreateAndDelete.

/**
 * Tests getting deleted nodes
 * <p>GET:</p>
 * {@literal <host>:<port>/alfresco/api/-default-/public/alfresco/versions/1/deleted-nodes/}
 * {@literal <host>:<port>/alfresco/api/-default-/public/alfresco/versions/1/deleted-nodes/<nodeId>/}
 */
@Test
public void testCreateAndDelete() throws Exception {
    setRequestContext(user1);
    Date now = new Date();
    String folder1 = "folder-testCreateAndDelete-" + now.getTime() + "_1";
    Folder createdFolder = createFolder(tDocLibNodeId, folder1, null);
    assertNotNull(createdFolder);
    String f1Id = createdFolder.getId();
    // Create a folder outside a site
    Folder createdFolderNonSite = createFolder(Nodes.PATH_MY, folder1, null);
    assertNotNull(createdFolderNonSite);
    Document document = createEmptyTextFile(f1Id, "d1.txt");
    PublicApiClient.Paging paging = getPaging(0, 100);
    // First get any deleted nodes
    HttpResponse response = getAll(URL_DELETED_NODES, paging, 200);
    List<Node> nodes = RestApiUtil.parseRestApiEntries(response.getJsonResponse(), Node.class);
    assertNotNull(nodes);
    int numOfNodes = nodes.size();
    deleteNode(document.getId());
    deleteNode(createdFolder.getId());
    deleteNode(createdFolderNonSite.getId());
    response = getAll(URL_DELETED_NODES, paging, 200);
    nodes = RestApiUtil.parseRestApiEntries(response.getJsonResponse(), Node.class);
    assertNotNull(nodes);
    assertEquals(numOfNodes + 3, nodes.size());
    // The list is ordered with the most recently deleted node first
    checkDeletedNodes(now, createdFolder, createdFolderNonSite, document, nodes);
    // sanity check paging
    paging = getPaging(1, 1);
    response = getAll(URL_DELETED_NODES, paging, 200);
    nodes = RestApiUtil.parseRestApiEntries(response.getJsonResponse(), Node.class);
    assertNotNull(nodes);
    assertEquals(1, nodes.size());
    PublicApiClient.ExpectedPaging expectedPaging = RestApiUtil.parsePaging(response.getJsonResponse());
    assertEquals(numOfNodes + 3, expectedPaging.getTotalItems().intValue());
    assertEquals(1, expectedPaging.getCount().intValue());
    assertEquals(1, expectedPaging.getSkipCount().intValue());
    assertEquals(1, expectedPaging.getMaxItems().intValue());
    assertTrue(expectedPaging.getHasMoreItems().booleanValue());
    Map<String, String> params = Collections.singletonMap("include", "path");
    response = getSingle(URL_DELETED_NODES, document.getId(), params, 200);
    Document node = jacksonUtil.parseEntry(response.getJsonResponse(), Document.class);
    assertNotNull(node);
    assertEquals(user1, node.getArchivedByUser().getId());
    assertTrue(node.getArchivedAt().after(now));
    PathInfo path = node.getPath();
    assertNull("Path should be null because its parent has been deleted", path);
    assertNull("We don't show the parent id for a deleted node", node.getParentId());
    response = getSingle(URL_DELETED_NODES, createdFolder.getId(), params, 200);
    Folder fNode = jacksonUtil.parseEntry(response.getJsonResponse(), Folder.class);
    assertNotNull(fNode);
    assertEquals(user1, fNode.getArchivedByUser().getId());
    assertTrue(fNode.getArchivedAt().after(now));
    path = fNode.getPath();
    assertNotNull(path);
    assertEquals("/Company Home/Sites/" + tSiteId + "/documentLibrary", path.getName());
    assertTrue(path.getIsComplete());
    assertNull("We don't show the parent id for a deleted node", fNode.getParentId());
    response = getSingle(URL_DELETED_NODES, createdFolderNonSite.getId(), params, 200);
    fNode = jacksonUtil.parseEntry(response.getJsonResponse(), Folder.class);
    assertNotNull(fNode);
    assertEquals(user1, fNode.getArchivedByUser().getId());
    assertTrue(fNode.getArchivedAt().after(now));
    path = fNode.getPath();
    assertNotNull(path);
    assertEquals("/Company Home/User Homes/" + user1, path.getName());
    assertTrue(path.getIsComplete());
    // User 2 can't get it but user 1 can.
    setRequestContext(user2);
    getSingle(URL_DELETED_NODES, createdFolderNonSite.getId(), Status.STATUS_FORBIDDEN);
    setRequestContext(user1);
    // Invalid node ref
    getSingle(URL_DELETED_NODES, "iddontexist", 404);
    // Now as admin
    setRequestContext(networkAdmin);
    paging = getPaging(0, 100);
    response = publicApiClient.get(getScope(), URL_DELETED_NODES, null, null, null, createParams(paging, null));
    checkStatus(200, response.getStatusCode());
    nodes = RestApiUtil.parseRestApiEntries(response.getJsonResponse(), Node.class);
    assertNotNull(nodes);
    checkDeletedNodes(now, createdFolder, createdFolderNonSite, document, nodes);
}
Also used : Node(org.alfresco.rest.api.tests.client.data.Node) HttpResponse(org.alfresco.rest.api.tests.client.HttpResponse) Folder(org.alfresco.rest.api.tests.client.data.Folder) Document(org.alfresco.rest.api.tests.client.data.Document) Date(java.util.Date) PublicApiClient(org.alfresco.rest.api.tests.client.PublicApiClient) PathInfo(org.alfresco.rest.api.tests.client.data.PathInfo) Test(org.junit.Test)

Aggregations

Folder (org.alfresco.rest.api.tests.client.data.Folder)37 Test (org.junit.Test)34 HttpResponse (org.alfresco.rest.api.tests.client.HttpResponse)31 Document (org.alfresco.rest.api.tests.client.data.Document)29 AbstractSingleNetworkSiteTest (org.alfresco.rest.AbstractSingleNetworkSiteTest)28 HashMap (java.util.HashMap)20 LinkedHashMap (java.util.LinkedHashMap)19 NodesEntityResource (org.alfresco.rest.api.nodes.NodesEntityResource)12 Node (org.alfresco.rest.api.tests.client.data.Node)12 JSONObject (org.json.simple.JSONObject)10 Paging (org.alfresco.rest.api.tests.client.PublicApiClient.Paging)8 ContentInfo (org.alfresco.rest.api.tests.client.data.ContentInfo)8 ArrayList (java.util.ArrayList)7 File (java.io.File)6 PublicApiClient (org.alfresco.rest.api.tests.client.PublicApiClient)6 UserInfo (org.alfresco.rest.api.tests.client.data.UserInfo)6 Date (java.util.Date)5 MultiValueMap (org.apache.commons.collections.map.MultiValueMap)5 RandomAccessFile (java.io.RandomAccessFile)4 Map (java.util.Map)4