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);
}
}
}
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);
}
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);
}
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);
}
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);
}
Aggregations