use of org.alfresco.rest.api.tests.client.data.FavouriteDocument in project alfresco-remote-api by Alfresco.
the class TestFavourites method testInvalidRequests.
@Test
public void testInvalidRequests() throws Exception {
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Favourite favourite = makeSiteFavourite(person1PublicSites.get(0));
Favourite ret = favouritesProxy.createFavourite(person11Id, favourite);
favourite.expected(ret);
fail();
} catch (PublicApiException e) {
// Note: un-authorized comes back as 404
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
try {
log("cloud-2468");
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
final NodeRef document = personDocs.get(0);
final NodeRef comment = TenantUtil.runAsUserTenant(new TenantRunAsWork<NodeRef>() {
@Override
public NodeRef doWork() throws Exception {
NodeRef comment = repoService.createComment(document, new Comment("Title", "Content"));
return comment;
}
}, person10Id, network1.getId());
final String guid = comment.getId();
JSONAble commentJSON = new JSONAble() {
@SuppressWarnings("unchecked")
@Override
public JSONObject toJSON() {
JSONObject json = new JSONObject();
json.put("guid", guid);
return json;
}
};
FavouritesTarget target = new InvalidFavouriteTarget("comment", commentJSON, guid);
Favourite favourite = new Favourite(target);
favouritesProxy.createFavourite(person10Id, favourite);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_BAD_REQUEST, e.getHttpResponse().getStatusCode());
}
try {
log("cloud-2468");
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Site site = person1PublicSites.get(0);
FavouritesTarget target = new InvalidFavouriteTarget(GUID.generate(), site, site.getGuid());
Favourite favourite = new Favourite(target);
favouritesProxy.createFavourite(person10Id, favourite);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_BAD_REQUEST, e.getHttpResponse().getStatusCode());
}
// type = file, target is a site
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
String siteGuid = person1PublicSites.get(0).getGuid();
FavouriteDocument document = new FavouriteDocument(siteGuid);
Favourite favourite = makeFileFavourite(document.getGuid());
Favourite ret = favouritesProxy.createFavourite(person10Id, favourite);
favourite.expected(ret);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
// type = folder, target is a site
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
String siteGuid = person1PublicSites.get(0).getGuid();
FavouriteFolder folder = new FavouriteFolder(siteGuid);
Favourite favourite = makeFolderFavourite(folder.getGuid());
Favourite ret = favouritesProxy.createFavourite(person10Id, favourite);
favourite.expected(ret);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
// type = folder, target is a file
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
FavouriteFolder folder = new FavouriteFolder(person1PublicDocs.get(0).getId());
Favourite favourite = makeFolderFavourite(folder.getGuid());
Favourite ret = favouritesProxy.createFavourite(person10Id, favourite);
favourite.expected(ret);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
// type = file, target is a folder
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
FavouriteDocument document = new FavouriteDocument(person1PublicFolders.get(0).getId());
Favourite favourite = makeFileFavourite(document.getGuid());
Favourite ret = favouritesProxy.createFavourite(person10Id, favourite);
favourite.expected(ret);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
// make sure that a user can't favourite on behalf of another user
// 2471
{
log("cloud-2471");
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
FavouriteDocument document = new FavouriteDocument(person1PublicDocs.get(0).getId());
Favourite favourite = makeFileFavourite(document.getGuid());
favouritesProxy.createFavourite(person11Id, favourite);
fail();
} catch (PublicApiException e) {
// Note: un-authorized comes back as 404
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
// person1 should have no favourites
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person11Id));
ListResponse<Favourite> response = favouritesProxy.getFavourites(person11Id, createParams(null, null));
assertEquals(0, response.getList().size());
}
// 2469
try {
log("cloud-2469");
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Favourite favourite = makeSiteFavourite(personSites.get(0));
Favourite ret = favouritesProxy.createFavourite(GUID.generate(), favourite);
favourite.expected(ret);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
// 2465
try {
log("cloud-2465");
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
favouritesProxy.getFavourites(person11Id, null);
fail();
} catch (PublicApiException e) {
// Note: un-authorized comes back as 404
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
// 2464, unknown user
try {
log("cloud-2464");
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
favouritesProxy.getFavourites(GUID.generate(), null);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
// non-existent entity for a given type
// 2480
{
log("cloud-2480");
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
SiteImpl site = new SiteImpl();
site.setGuid(GUID.generate());
Favourite favourite = makeSiteFavourite((Site) site);
favouritesProxy.createFavourite(person10Id, favourite);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
ListResponse<Favourite> response = favouritesProxy.getFavourites(person10Id, createParams(null, null));
assertEquals(0, response.getList().size());
}
{
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
FavouriteDocument document = new FavouriteDocument(GUID.generate());
Favourite favourite = makeFileFavourite(document.getGuid());
favouritesProxy.createFavourite(person10Id, favourite);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
ListResponse<Favourite> response = favouritesProxy.getFavourites(person10Id, createParams(null, null));
assertEquals(0, response.getList().size());
}
{
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
FavouriteFolder folder = new FavouriteFolder(GUID.generate());
Favourite favourite = makeFolderFavourite(folder.getGuid());
favouritesProxy.createFavourite(person10Id, favourite);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
ListResponse<Favourite> response = favouritesProxy.getFavourites(person10Id, createParams(null, null));
assertEquals(0, response.getList().size());
}
// 2470
// incorrect type for a given favourite target
{
log("cloud-2470");
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Site site = person1PublicSites.get(0);
FavouritesTarget target = new InvalidFavouriteTarget("folder", site, site.getGuid());
Favourite favourite = new Favourite(target);
favouritesProxy.createFavourite(person10Id, favourite);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_BAD_REQUEST, e.getHttpResponse().getStatusCode());
}
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Site site = person1PublicSites.get(0);
FavouritesTarget target = new InvalidFavouriteTarget("file", site, site.getGuid());
Favourite favourite = new Favourite(target);
favouritesProxy.createFavourite(person10Id, favourite);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_BAD_REQUEST, e.getHttpResponse().getStatusCode());
}
FavouriteDocument document = new FavouriteDocument(person1PublicDocs.get(0).getId());
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
FavouritesTarget target = new InvalidFavouriteTarget("site", document, document.getGuid());
Favourite favourite = new Favourite(target);
favouritesProxy.createFavourite(person10Id, favourite);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
FavouritesTarget target = new InvalidFavouriteTarget("folder", document, document.getGuid());
Favourite favourite = new Favourite(target);
favouritesProxy.createFavourite(person10Id, favourite);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
FavouriteFolder folder = new FavouriteFolder(person1PublicFolders.get(0).getId());
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
FavouritesTarget target = new InvalidFavouriteTarget("site", folder, folder.getGuid());
Favourite favourite = new Favourite(target);
favouritesProxy.createFavourite(person10Id, favourite);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
FavouritesTarget target = new InvalidFavouriteTarget("file", folder, folder.getGuid());
Favourite favourite = new Favourite(target);
favouritesProxy.createFavourite(person10Id, favourite);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
// none of these POSTs should have resulted in favourites being created...
ListResponse<Favourite> response = favouritesProxy.getFavourites(person10Id, createParams(null, null));
assertEquals(0, response.getList().size());
}
// invalid methods
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
try {
Favourite favourite = new Favourite(null);
favouritesProxy.update("people", "-me-", "favorites", null, favourite.toJSON().toString(), "Unable to PUT favourites");
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_METHOD_NOT_ALLOWED, e.getHttpResponse().getStatusCode());
}
}
// invalid orderBy param
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
try {
Map<String, String> params = new HashMap<>();
params.put("orderBy", "invalid ASC");
favouritesProxy.getFavourites(person10Id, createParams(null, params));
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_BAD_REQUEST, e.getHttpResponse().getStatusCode());
}
}
}
use of org.alfresco.rest.api.tests.client.data.FavouriteDocument in project alfresco-remote-api by Alfresco.
the class TestFavourites method testValidRequests.
@Test
public void testValidRequests() throws Exception {
List<Favourite> expectedFavourites = new ArrayList<Favourite>();
{
// add some favourites
// 2467
log("cloud-2467");
Favourite siteFavourite1 = makeSiteFavourite(person1PublicSites.get(0));
FavouriteDocument document = repoService.getDocument(network1.getId(), person1PublicDocs.get(0));
Favourite fileFavourite1 = makeFileFavourite(document.getGuid());
FavouriteFolder folder = repoService.getFolder(network1.getId(), person1PublicFolders.get(0));
Favourite folderFavourite1 = makeFolderFavourite(folder.getGuid());
Favourite siteFavourite2 = makeSiteFavourite(person1PublicSites.get(1));
document = repoService.getDocument(network1.getId(), person1PublicDocs.get(1));
Favourite fileFavourite2 = makeFileFavourite(document.getGuid());
folder = repoService.getFolder(network1.getId(), person1PublicFolders.get(1));
Favourite folderFavourite2 = makeFolderFavourite(folder.getGuid());
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Favourite ret = favouritesProxy.createFavourite(person10Id, siteFavourite1);
expectedFavourites.add(ret);
siteFavourite1.expected(ret);
}
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Favourite ret = favouritesProxy.createFavourite(person10Id, fileFavourite1);
expectedFavourites.add(ret);
fileFavourite1.expected(ret);
}
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Favourite ret = favouritesProxy.createFavourite(person10Id, folderFavourite1);
expectedFavourites.add(ret);
folderFavourite1.expected(ret);
}
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Favourite ret = favouritesProxy.createFavourite(person10Id, siteFavourite2);
expectedFavourites.add(ret);
siteFavourite2.expected(ret);
}
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Favourite ret = favouritesProxy.createFavourite(person10Id, fileFavourite2);
expectedFavourites.add(ret);
fileFavourite2.expected(ret);
}
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Favourite ret = favouritesProxy.createFavourite(person10Id, folderFavourite2);
expectedFavourites.add(ret);
folderFavourite2.expected(ret);
}
// already a favourite - 201
{
log("cloud-2472");
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Favourite ret = favouritesProxy.createFavourite(person10Id, siteFavourite1);
siteFavourite1.expected(ret);
}
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Favourite ret = favouritesProxy.createFavourite(person10Id, folderFavourite1);
folderFavourite1.expected(ret);
}
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Favourite ret = favouritesProxy.createFavourite(person10Id, fileFavourite1);
fileFavourite1.expected(ret);
}
}
{
// cloud-2498
// cloud-2499
// create and list favourites across networks
List<Favourite> person21ExpectedFavourites = new ArrayList<Favourite>();
log("cloud-2498");
log("cloud-2499");
{
// favourite a site in another network
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person21Id));
Favourite favourite = makeSiteFavourite(person1PrivateSites.get(0));
try {
favouritesProxy.createFavourite("-me-", favourite);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_UNAUTHORIZED, e.getHttpResponse().getStatusCode());
}
int skipCount = 0;
int maxItems = 10;
Paging paging = getPaging(skipCount, maxItems, person21ExpectedFavourites.size(), person21ExpectedFavourites.size());
try {
favouritesProxy.getFavourites("-me-", createParams(paging, null));
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_UNAUTHORIZED, e.getHttpResponse().getStatusCode());
}
}
// favourite a document in another network
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person21Id));
FavouriteDocument document1 = new FavouriteDocument(person1PrivateDocs.get(0).getId());
Favourite favourite = makeFileFavourite(document1.getGuid());
try {
favouritesProxy.createFavourite("-me-", favourite);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_UNAUTHORIZED, e.getHttpResponse().getStatusCode());
}
sort(person21ExpectedFavourites, FavouritesService.DEFAULT_SORT_PROPS);
int skipCount = 0;
int maxItems = 10;
Paging paging = getPaging(skipCount, maxItems, person21ExpectedFavourites.size(), person21ExpectedFavourites.size());
try {
favouritesProxy.getFavourites("-me-", createParams(paging, null));
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_UNAUTHORIZED, e.getHttpResponse().getStatusCode());
}
}
// favourite a folder in another network
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person21Id));
FavouriteFolder folder1 = new FavouriteFolder(person1PrivateFolders.get(0).getId());
Favourite favourite = makeFolderFavourite(folder1.getGuid());
try {
favouritesProxy.createFavourite("-me-", favourite);
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_UNAUTHORIZED, e.getHttpResponse().getStatusCode());
}
sort(person21ExpectedFavourites, FavouritesService.DEFAULT_SORT_PROPS);
int skipCount = 0;
int maxItems = 10;
Paging paging = getPaging(skipCount, maxItems, person21ExpectedFavourites.size(), person21ExpectedFavourites.size());
try {
favouritesProxy.getFavourites("-me-", createParams(paging, null));
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_UNAUTHORIZED, e.getHttpResponse().getStatusCode());
}
}
}
}
// GET favourites
// test paging and sorting
{
// cloud-2458
// cloud-2462
// cloud-2461
{
log("cloud-2458");
log("cloud-2461");
log("cloud-2462");
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
List<Favourite> expected = new ArrayList<Favourite>(expectedFavourites);
sort(expected, FavouritesService.DEFAULT_SORT_PROPS);
int skipCount = 0;
int maxItems = 2;
Paging paging = getPaging(skipCount, maxItems, expectedFavourites.size(), expectedFavourites.size());
ListResponse<Favourite> resp = favouritesProxy.getFavourites(person10Id, createParams(paging, null));
checkList(expected.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()), paging.getExpectedPaging(), resp);
}
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
List<Favourite> expected = new ArrayList<Favourite>(expectedFavourites);
sort(expected, FavouritesService.DEFAULT_SORT_PROPS);
int skipCount = 2;
int maxItems = 4;
Paging paging = getPaging(skipCount, maxItems, expectedFavourites.size(), expectedFavourites.size());
ListResponse<Favourite> resp = favouritesProxy.getFavourites(person10Id, createParams(paging, null));
checkList(expected.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()), paging.getExpectedPaging(), resp);
}
// 2466
// GET favourites for "-me-"
{
log("cloud-2466");
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
List<Favourite> expected = new ArrayList<Favourite>(expectedFavourites);
sort(expected, FavouritesService.DEFAULT_SORT_PROPS);
int skipCount = 0;
int maxItems = Integer.MAX_VALUE;
Paging paging = getPaging(skipCount, maxItems, expectedFavourites.size(), expectedFavourites.size());
ListResponse<Favourite> resp = favouritesProxy.getFavourites("-me-", createParams(paging, null));
checkList(expected.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()), paging.getExpectedPaging(), resp);
}
}
// 2459
{
log("cloud-2459");
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person11Id));
int skipCount = 0;
int maxItems = Integer.MAX_VALUE;
Paging paging = getPaging(skipCount, maxItems, 0, 0);
ListResponse<Favourite> resp = favouritesProxy.getFavourites(person11Id, createParams(paging, null));
List<Favourite> empty = Collections.emptyList();
checkList(empty, paging.getExpectedPaging(), resp);
}
// cloud-2460: filtering by target type
{
log("cloud-2460");
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Set<Type> types = new HashSet<Type>(Arrays.asList(Type.FILE));
List<Favourite> expected = filter(expectedFavourites, types);
sort(expected, FavouritesService.DEFAULT_SORT_PROPS);
int skipCount = 0;
int maxItems = Integer.MAX_VALUE;
Paging paging = getPaging(skipCount, maxItems, expected.size(), expected.size());
Map<String, String> params = Collections.singletonMap("where", "(EXISTS(target/file))");
ListResponse<Favourite> resp = favouritesProxy.getFavourites(person10Id, createParams(paging, params));
checkList(expected.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()), paging.getExpectedPaging(), resp);
}
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Set<Type> types = new HashSet<Type>(Arrays.asList(Type.FOLDER));
List<Favourite> expected = filter(expectedFavourites, types);
sort(expected, FavouritesService.DEFAULT_SORT_PROPS);
int skipCount = 0;
int maxItems = Integer.MAX_VALUE;
Paging paging = getPaging(skipCount, maxItems, expected.size(), expected.size());
Map<String, String> params = Collections.singletonMap("where", "(EXISTS(target/folder))");
ListResponse<Favourite> resp = favouritesProxy.getFavourites(person10Id, createParams(paging, params));
checkList(expected.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()), paging.getExpectedPaging(), resp);
}
// target/file
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Set<Type> types = new HashSet<Type>(Arrays.asList(Type.FILE));
List<Favourite> expected = filter(expectedFavourites, types);
sort(expected, FavouritesService.DEFAULT_SORT_PROPS);
int skipCount = 0;
int maxItems = Integer.MAX_VALUE;
Paging paging = getPaging(skipCount, maxItems, expected.size(), expected.size());
Map<String, String> params = Collections.singletonMap("where", "(EXISTS(target/file))");
ListResponse<Favourite> resp = favouritesProxy.getFavourites(person10Id, createParams(paging, params));
checkList(expected.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()), paging.getExpectedPaging(), resp);
}
// target/folder
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Set<Type> types = new HashSet<Type>(Arrays.asList(Type.FOLDER));
List<Favourite> expected = filter(expectedFavourites, types);
sort(expected, FavouritesService.DEFAULT_SORT_PROPS);
int skipCount = 0;
int maxItems = Integer.MAX_VALUE;
Paging paging = getPaging(skipCount, maxItems, expected.size(), expected.size());
Map<String, String> params = Collections.singletonMap("where", "(EXISTS(target/folder))");
ListResponse<Favourite> resp = favouritesProxy.getFavourites(person10Id, createParams(paging, params));
checkList(expected.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()), paging.getExpectedPaging(), resp);
}
// target/site
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Set<Type> types = new HashSet<Type>(Arrays.asList(Type.SITE));
List<Favourite> expected = filter(expectedFavourites, types);
sort(expected, FavouritesService.DEFAULT_SORT_PROPS);
int skipCount = 0;
int maxItems = Integer.MAX_VALUE;
Paging paging = getPaging(skipCount, maxItems, expected.size(), expected.size());
Map<String, String> params = Collections.singletonMap("where", "(EXISTS(target/site))");
ListResponse<Favourite> resp = favouritesProxy.getFavourites(person10Id, createParams(paging, params));
checkList(expected.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()), paging.getExpectedPaging(), resp);
}
// target/folder OR target/file.
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Set<Type> types = new HashSet<Type>(Arrays.asList(Type.FOLDER, Type.FILE));
List<Favourite> expected = filter(expectedFavourites, types);
sort(expected, FavouritesService.DEFAULT_SORT_PROPS);
int skipCount = 0;
int maxItems = Integer.MAX_VALUE;
Paging paging = getPaging(skipCount, maxItems, expected.size(), expected.size());
Map<String, String> params = Collections.singletonMap("where", "(EXISTS(target/file) OR EXISTS(target/folder))");
ListResponse<Favourite> resp = favouritesProxy.getFavourites(person10Id, createParams(paging, params));
checkList(expected.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()), paging.getExpectedPaging(), resp);
}
// target/site OR target/file.
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Set<Type> types = new HashSet<Type>(Arrays.asList(Type.SITE, Type.FILE));
List<Favourite> expected = filter(expectedFavourites, types);
sort(expected, FavouritesService.DEFAULT_SORT_PROPS);
int skipCount = 0;
int maxItems = Integer.MAX_VALUE;
Paging paging = getPaging(skipCount, maxItems, expected.size(), expected.size());
Map<String, String> params = Collections.singletonMap("where", "(EXISTS(target/file) OR EXISTS(target/site))");
ListResponse<Favourite> resp = favouritesProxy.getFavourites(person10Id, createParams(paging, params));
checkList(expected.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()), paging.getExpectedPaging(), resp);
}
// target/site OR target/folder.
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Set<Type> types = new HashSet<Type>(Arrays.asList(Type.SITE, Type.FOLDER));
List<Favourite> expected = filter(expectedFavourites, types);
sort(expected, FavouritesService.DEFAULT_SORT_PROPS);
int skipCount = 0;
int maxItems = Integer.MAX_VALUE;
Paging paging = getPaging(skipCount, maxItems, expected.size(), expected.size());
Map<String, String> params = Collections.singletonMap("where", "(EXISTS(target/site) OR EXISTS(target/folder))");
ListResponse<Favourite> resp = favouritesProxy.getFavourites(person10Id, createParams(paging, params));
checkList(expected.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()), paging.getExpectedPaging(), resp);
}
}
// GET a favourite
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
favouritesProxy.getFavourite(person10Id, GUID.generate());
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Favourite favourite = expectedFavourites.get(0);
favouritesProxy.getFavourite(GUID.generate(), favourite.getTargetGuid());
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
Favourite favourite = expectedFavourites.get(0);
Favourite resp = favouritesProxy.getFavourite(person10Id, favourite.getTargetGuid());
favourite.expected(resp);
}
// cloud-2479, PUT case
{
log("cloud-2479.1");
updateFavourite(network1.getId(), person10Id, person10Id, TARGET_TYPE.site);
log("cloud-2479.2");
updateFavourite(network1.getId(), person10Id, person10Id, TARGET_TYPE.file);
log("cloud-2479.3");
updateFavourite(network1.getId(), person10Id, person10Id, TARGET_TYPE.folder);
}
try {
// cloud-2474
// non-existent personId
log("cloud-2474");
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
favouritesProxy.removeFavourite(GUID.generate(), GUID.generate());
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
// cloud-2475
// try delete a non-existent favourite for a node that exists
{
log("cloud-2475");
NodeRef doc = TenantUtil.runAsUserTenant(new TenantRunAsWork<NodeRef>() {
@Override
public NodeRef doWork() throws Exception {
NodeRef containerNodeRef = person1PublicSites.get(0).getContainerNodeRef("documentLibrary");
NodeRef doc = repoService.createDocument(containerNodeRef, GUID.generate(), "");
return doc;
}
}, person11Id, network1.getId());
String favouriteId = doc.getId();
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
ListResponse<Favourite> before = getFavourites(network1.getId(), person10Id, person10Id, 0, Integer.MAX_VALUE, null, null, null);
List<Favourite> beforeList = before.getList();
assertTrue(beforeList.size() > 0);
try {
favouritesProxy.removeFavourite(person10Id, favouriteId);
fail("Should be a 404");
} catch (PublicApiException e) {
// expected
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
// check no favourites have been removed
ListResponse<Favourite> after = getFavourites(network1.getId(), person10Id, person10Id, 0, Integer.MAX_VALUE, null, null, null);
assertEquals(beforeList.size(), after.getList().size());
}
// cloud-2473, DELETE case
{
log("cloud-2473.1");
deleteFavourite(network1.getId(), person10Id, person10Id, TARGET_TYPE.site);
log("cloud-2473.2");
deleteFavourite(network1.getId(), person10Id, person10Id, TARGET_TYPE.file);
log("cloud-2473.3");
Favourite favourite = deleteFavourite(network1.getId(), person10Id, person10Id, TARGET_TYPE.folder);
// try to delete non-existent favourite
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person10Id));
favouritesProxy.removeFavourite(person10Id, favourite.getTargetGuid());
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
}
// cloud-2476
// try delete another user's favourite
{
log("cloud-2476");
// make sure there are favourites to delete
// publicApiClient.setRequestContext(new RequestContext(network1.getId(), personId));
// SiteFavouriteTarget target = new SiteFavouriteTarget(person1Sites.get(0));
// Favourite favourite = new Favourite(target);
// favouritesProxy.createFavourite(personId, favourite);
ListResponse<Favourite> before = getFavourites(network1.getId(), person10Id, person10Id, 0, Integer.MAX_VALUE, null, null, null);
assertTrue(before.getList().size() > 0);
Favourite favourite = before.getList().get(0);
try {
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person11Id));
favouritesProxy.removeFavourite(person10Id, favourite.getTargetGuid());
fail();
} catch (PublicApiException e) {
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
}
ListResponse<Favourite> after = getFavourites(network1.getId(), person10Id, person10Id, 0, Integer.MAX_VALUE, null, null, null);
assertEquals(before.getList().size(), after.getList().size());
}
}
use of org.alfresco.rest.api.tests.client.data.FavouriteDocument in project alfresco-remote-api by Alfresco.
the class SharedLinkApiTest method makeFileFavourite.
private static Favourite makeFileFavourite(String targetGuid) throws ParseException {
FavouriteDocument document = new FavouriteDocument(targetGuid);
FileFavouriteTarget target = new FileFavouriteTarget(document);
Date creationData = new Date();
Favourite favourite = new Favourite(creationData, null, target, null);
return favourite;
}
use of org.alfresco.rest.api.tests.client.data.FavouriteDocument in project alfresco-remote-api by Alfresco.
the class TestFavourites method makeFileFavourite.
private Favourite makeFileFavourite(String targetGuid) throws ParseException {
FavouriteDocument document = new FavouriteDocument(targetGuid);
FileFavouriteTarget target = new FileFavouriteTarget(document);
Date creationData = new Date();
Favourite favourite = new Favourite(creationData, null, target, null);
return favourite;
}
use of org.alfresco.rest.api.tests.client.data.FavouriteDocument in project alfresco-remote-api by Alfresco.
the class ProcessWorkflowApiTest method testCreateProcessInstanceWithItems.
@Test
public void testCreateProcessInstanceWithItems() throws Exception {
final RequestContext requestContext = initApiClientWithTestUser();
NodeRef[] docNodeRefs = createTestDocuments(requestContext);
final ProcessInfo processRest = startAdhocProcess(requestContext, docNodeRefs);
assertNotNull(processRest);
final Map<String, Object> variables = activitiProcessEngine.getRuntimeService().getVariables(processRest.getId());
assertEquals(1, variables.get("bpm_priority"));
final ActivitiScriptNode packageScriptNode = (ActivitiScriptNode) variables.get("bpm_package");
assertNotNull(packageScriptNode);
final Map<String, FavouriteDocument> documentMap = new HashMap<>();
TenantUtil.runAsUserTenant(new TenantRunAsWork<Void>() {
@Override
public Void doWork() throws Exception {
List<ChildAssociationRef> documentList = nodeService.getChildAssocs(packageScriptNode.getNodeRef());
for (ChildAssociationRef childAssociationRef : documentList) {
FavouriteDocument doc = getTestFixture().getRepoService().getDocument(requestContext.getNetworkId(), childAssociationRef.getChildRef());
documentMap.put(doc.getName(), doc);
}
final Task task = activitiProcessEngine.getTaskService().createTaskQuery().processInstanceId(processRest.getId()).singleResult();
assertEquals(requestContext.getRunAsUser(), task.getAssignee());
activitiProcessEngine.getTaskService().complete(task.getId());
final Task task2 = activitiProcessEngine.getTaskService().createTaskQuery().processInstanceId(processRest.getId()).singleResult();
assertEquals(requestContext.getRunAsUser(), task2.getAssignee());
activitiProcessEngine.getTaskService().complete(task2.getId());
return null;
}
}, requestContext.getRunAsUser(), requestContext.getNetworkId());
assertEquals(2, documentMap.size());
assertTrue(documentMap.containsKey("Test Doc1"));
FavouriteDocument doc = documentMap.get("Test Doc1");
assertEquals("Test Doc1", doc.getName());
assertEquals("Test Doc1 Title", doc.getTitle());
assertTrue(documentMap.containsKey("Test Doc2"));
doc = documentMap.get("Test Doc2");
assertEquals("Test Doc2", doc.getName());
assertEquals("Test Doc2 Title", doc.getTitle());
cleanupProcessInstance(processRest.getId());
}
Aggregations