mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged RETURN-OF-THE-API (5.2.0) to 5.2.N (5.2.1)
128662 jvonka: V1 REST API test improvements - allow tests to be run individually (as well as within a suite) REPO-896 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@129183 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -129,7 +129,7 @@ public abstract class AbstractBaseApiTest extends EnterpriseTestApi
|
|||||||
|
|
||||||
protected final String RUNID = System.currentTimeMillis()+"";
|
protected final String RUNID = System.currentTimeMillis()+"";
|
||||||
|
|
||||||
|
@Override
|
||||||
@Before
|
@Before
|
||||||
public void setup() throws Exception
|
public void setup() throws Exception
|
||||||
{
|
{
|
||||||
|
@@ -25,8 +25,17 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.rest.api.tests;
|
package org.alfresco.rest.api.tests;
|
||||||
|
|
||||||
|
import org.junit.Before;
|
||||||
|
|
||||||
public class EnterpriseTestApi extends AbstractTestApi
|
public class EnterpriseTestApi extends AbstractTestApi
|
||||||
{
|
{
|
||||||
|
@Before
|
||||||
|
public void setup() throws Exception
|
||||||
|
{
|
||||||
|
// force creation of some test data (if not specifically overridden)
|
||||||
|
getTestFixture().getRandomNetwork();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected TestFixture getTestFixture() throws Exception
|
protected TestFixture getTestFixture() throws Exception
|
||||||
{
|
{
|
||||||
|
@@ -81,6 +81,8 @@ public class TestActivities extends EnterpriseTestApi
|
|||||||
@Before
|
@Before
|
||||||
public void setup() throws Exception
|
public void setup() throws Exception
|
||||||
{
|
{
|
||||||
|
// note: we don't call super.setup() since we create our own test data here !
|
||||||
|
|
||||||
this.network1 = repoService.createNetworkWithAlias("activitiesNetwork1", true);
|
this.network1 = repoService.createNetworkWithAlias("activitiesNetwork1", true);
|
||||||
this.network2 = repoService.createNetworkWithAlias("activitiesNetwork2", true);
|
this.network2 = repoService.createNetworkWithAlias("activitiesNetwork2", true);
|
||||||
this.defaultNetwork = repoService.createNetwork(TenantService.DEFAULT_DOMAIN, true);
|
this.defaultNetwork = repoService.createNetwork(TenantService.DEFAULT_DOMAIN, true);
|
||||||
|
@@ -126,119 +126,13 @@ public class TestFavourites extends EnterpriseTestApi
|
|||||||
private Favourites favouritesProxy;
|
private Favourites favouritesProxy;
|
||||||
private SiteMembershipRequests siteMembershipRequestsProxy;
|
private SiteMembershipRequests siteMembershipRequestsProxy;
|
||||||
|
|
||||||
private void sort(List<Favourite> favourites, final List<Pair<FavouritesService.SortFields, Boolean>> sortProps)
|
|
||||||
{
|
|
||||||
Comparator<Favourite> comparator = new Comparator<Favourite>()
|
|
||||||
{
|
|
||||||
@Override
|
@Override
|
||||||
public int compare(Favourite o1, Favourite o2)
|
|
||||||
{
|
|
||||||
int ret = 0;
|
|
||||||
for(Pair<FavouritesService.SortFields, Boolean> sort : sortProps)
|
|
||||||
{
|
|
||||||
FavouritesService.SortFields field = sort.getFirst();
|
|
||||||
Boolean ascending = sort.getSecond();
|
|
||||||
if(field.equals(FavouritesService.SortFields.username))
|
|
||||||
{
|
|
||||||
if(ascending)
|
|
||||||
{
|
|
||||||
if(o1.getUsername() != null && o2.getUsername() != null)
|
|
||||||
{
|
|
||||||
ret = collator.compare(o1.getUsername(), o2.getUsername());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if(o1.getUsername() != null && o2.getUsername() != null)
|
|
||||||
{
|
|
||||||
ret = o2.getUsername().compareTo(o1.getUsername());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(ret != 0)
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(field.equals(FavouritesService.SortFields.type))
|
|
||||||
{
|
|
||||||
if(ascending)
|
|
||||||
{
|
|
||||||
ret = o1.getType().compareTo(o2.getType());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ret = o2.getType().compareTo(o1.getType());
|
|
||||||
}
|
|
||||||
|
|
||||||
if(ret != 0)
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(field.equals(FavouritesService.SortFields.createdAt))
|
|
||||||
{
|
|
||||||
if(ascending)
|
|
||||||
{
|
|
||||||
ret = o1.getCreatedAt().compareTo(o2.getCreatedAt());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ret = o2.getCreatedAt().compareTo(o1.getCreatedAt());
|
|
||||||
}
|
|
||||||
|
|
||||||
if(ret != 0)
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
Collections.sort(favourites, comparator);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a new list.
|
|
||||||
*
|
|
||||||
* @param favourites List<Favourite>
|
|
||||||
* @param types Set<Type>
|
|
||||||
* @return ArrayList<Favourite>
|
|
||||||
*/
|
|
||||||
private ArrayList<Favourite> filter(List<Favourite> favourites, final Set<Type> types)
|
|
||||||
{
|
|
||||||
Predicate<Favourite> predicate = new Predicate<Favourite>()
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public boolean apply(Favourite other)
|
|
||||||
{
|
|
||||||
Type type = null;
|
|
||||||
if(other.getTarget() instanceof FileFavouriteTarget)
|
|
||||||
{
|
|
||||||
type = Type.FILE;
|
|
||||||
}
|
|
||||||
else if(other.getTarget() instanceof FolderFavouriteTarget)
|
|
||||||
{
|
|
||||||
type = Type.FOLDER;
|
|
||||||
}
|
|
||||||
else if(other.getTarget() instanceof SiteFavouriteTarget)
|
|
||||||
{
|
|
||||||
type = Type.SITE;
|
|
||||||
}
|
|
||||||
|
|
||||||
boolean ret = (type != null && types.contains(type));
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
ArrayList<Favourite> ret = Lists.newArrayList(Collections2.filter(favourites, predicate));
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setup() throws Exception
|
public void setup() throws Exception
|
||||||
{
|
{
|
||||||
|
// init networks
|
||||||
|
super.setup();
|
||||||
|
|
||||||
final Iterator<TestNetwork> networksIt = getTestFixture().networksIterator();
|
final Iterator<TestNetwork> networksIt = getTestFixture().networksIterator();
|
||||||
|
|
||||||
// Workaround for domain name mismatch in lucene indexing that occurs when this test runs.
|
// Workaround for domain name mismatch in lucene indexing that occurs when this test runs.
|
||||||
@@ -397,6 +291,116 @@ public class TestFavourites extends EnterpriseTestApi
|
|||||||
this.siteMembershipRequestsProxy = publicApiClient.siteMembershipRequests();
|
this.siteMembershipRequestsProxy = publicApiClient.siteMembershipRequests();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sort(List<Favourite> favourites, final List<Pair<FavouritesService.SortFields, Boolean>> sortProps)
|
||||||
|
{
|
||||||
|
Comparator<Favourite> comparator = new Comparator<Favourite>()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public int compare(Favourite o1, Favourite o2)
|
||||||
|
{
|
||||||
|
int ret = 0;
|
||||||
|
for(Pair<FavouritesService.SortFields, Boolean> sort : sortProps)
|
||||||
|
{
|
||||||
|
FavouritesService.SortFields field = sort.getFirst();
|
||||||
|
Boolean ascending = sort.getSecond();
|
||||||
|
if(field.equals(FavouritesService.SortFields.username))
|
||||||
|
{
|
||||||
|
if(ascending)
|
||||||
|
{
|
||||||
|
if(o1.getUsername() != null && o2.getUsername() != null)
|
||||||
|
{
|
||||||
|
ret = collator.compare(o1.getUsername(), o2.getUsername());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(o1.getUsername() != null && o2.getUsername() != null)
|
||||||
|
{
|
||||||
|
ret = o2.getUsername().compareTo(o1.getUsername());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(ret != 0)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(field.equals(FavouritesService.SortFields.type))
|
||||||
|
{
|
||||||
|
if(ascending)
|
||||||
|
{
|
||||||
|
ret = o1.getType().compareTo(o2.getType());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ret = o2.getType().compareTo(o1.getType());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(ret != 0)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(field.equals(FavouritesService.SortFields.createdAt))
|
||||||
|
{
|
||||||
|
if(ascending)
|
||||||
|
{
|
||||||
|
ret = o1.getCreatedAt().compareTo(o2.getCreatedAt());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ret = o2.getCreatedAt().compareTo(o1.getCreatedAt());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(ret != 0)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Collections.sort(favourites, comparator);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a new list.
|
||||||
|
*
|
||||||
|
* @param favourites List<Favourite>
|
||||||
|
* @param types Set<Type>
|
||||||
|
* @return ArrayList<Favourite>
|
||||||
|
*/
|
||||||
|
private ArrayList<Favourite> filter(List<Favourite> favourites, final Set<Type> types)
|
||||||
|
{
|
||||||
|
Predicate<Favourite> predicate = new Predicate<Favourite>()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean apply(Favourite other)
|
||||||
|
{
|
||||||
|
Type type = null;
|
||||||
|
if(other.getTarget() instanceof FileFavouriteTarget)
|
||||||
|
{
|
||||||
|
type = Type.FILE;
|
||||||
|
}
|
||||||
|
else if(other.getTarget() instanceof FolderFavouriteTarget)
|
||||||
|
{
|
||||||
|
type = Type.FOLDER;
|
||||||
|
}
|
||||||
|
else if(other.getTarget() instanceof SiteFavouriteTarget)
|
||||||
|
{
|
||||||
|
type = Type.SITE;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean ret = (type != null && types.contains(type));
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
ArrayList<Favourite> ret = Lists.newArrayList(Collections2.filter(favourites, predicate));
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
private void updateFavourite(String networkId, String runAsUserId, String personId, TARGET_TYPE type) throws Exception
|
private void updateFavourite(String networkId, String runAsUserId, String personId, TARGET_TYPE type) throws Exception
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
|
@@ -69,6 +69,8 @@ public class TestNetworks extends EnterpriseTestApi
|
|||||||
@Before
|
@Before
|
||||||
public void setup()
|
public void setup()
|
||||||
{
|
{
|
||||||
|
// note: we don't call super.setup() since we create our own test data here !
|
||||||
|
|
||||||
// create some networks
|
// create some networks
|
||||||
for(int i = 0; i < 2; i++)
|
for(int i = 0; i < 2; i++)
|
||||||
{
|
{
|
||||||
|
@@ -92,9 +92,13 @@ public class TestNodeComments extends EnterpriseTestApi
|
|||||||
private NodeRef cmObjectNodeRef;
|
private NodeRef cmObjectNodeRef;
|
||||||
private NodeRef customTypeObject;
|
private NodeRef customTypeObject;
|
||||||
|
|
||||||
|
@Override
|
||||||
@Before
|
@Before
|
||||||
public void setup() throws Exception
|
public void setup() throws Exception
|
||||||
{
|
{
|
||||||
|
// init networks
|
||||||
|
super.setup();
|
||||||
|
|
||||||
Iterator<TestNetwork> accountsIt = getTestFixture().getNetworksIt();
|
Iterator<TestNetwork> accountsIt = getTestFixture().getNetworksIt();
|
||||||
this.network1 = accountsIt.next();
|
this.network1 = accountsIt.next();
|
||||||
this.network2 = accountsIt.next();
|
this.network2 = accountsIt.next();
|
||||||
|
@@ -87,65 +87,13 @@ public class TestPersonSites extends EnterpriseTestApi
|
|||||||
private String site3_title = "b_" + GUID.generate();
|
private String site3_title = "b_" + GUID.generate();
|
||||||
private SiteRole site3_role = SiteRole.SiteConsumer;
|
private SiteRole site3_role = SiteRole.SiteConsumer;
|
||||||
|
|
||||||
|
|
||||||
public void initializeSites() throws Exception
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Create data for testing the site sorting. We create the sites as
|
|
||||||
* person31 and assign roles to person32. The list requests will be
|
|
||||||
* performed as person32.
|
|
||||||
*/
|
|
||||||
TenantUtil.runAsSystemTenant(new TenantRunAsWork<Void>()
|
|
||||||
{
|
|
||||||
@Override
|
@Override
|
||||||
public Void doWork() throws Exception
|
|
||||||
{
|
|
||||||
person31 = network1.createUser();
|
|
||||||
person32 = network1.createUser();
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}, network1.getId());
|
|
||||||
|
|
||||||
this.site1 = TenantUtil.runAsUserTenant(new TenantRunAsWork<TestSite>()
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public TestSite doWork() throws Exception
|
|
||||||
{
|
|
||||||
SiteInformation siteInfo = new SiteInformation(site1_name, site1_title, site1_title, SiteVisibility.PRIVATE);
|
|
||||||
TestSite site = network1.createSite(siteInfo);
|
|
||||||
site.inviteToSite(person32.getId(), site1_role);
|
|
||||||
return site;
|
|
||||||
}
|
|
||||||
}, person31.getId(), network1.getId());
|
|
||||||
|
|
||||||
this.site2 = TenantUtil.runAsUserTenant(new TenantRunAsWork<TestSite>()
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public TestSite doWork() throws Exception
|
|
||||||
{
|
|
||||||
SiteInformation siteInfo = new SiteInformation(site2_name, site2_title, site2_title, SiteVisibility.PRIVATE);
|
|
||||||
TestSite site = network1.createSite(siteInfo);
|
|
||||||
site.inviteToSite(person32.getId(), site2_role);
|
|
||||||
return site;
|
|
||||||
}
|
|
||||||
}, person31.getId(), network1.getId());
|
|
||||||
|
|
||||||
this.site3 = TenantUtil.runAsUserTenant(new TenantRunAsWork<TestSite>()
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public TestSite doWork() throws Exception
|
|
||||||
{
|
|
||||||
SiteInformation siteInfo = new SiteInformation(site3_name, site3_title, site3_title, SiteVisibility.PRIVATE);
|
|
||||||
TestSite site = network1.createSite(siteInfo);
|
|
||||||
site.inviteToSite(person32.getId(), site3_role);
|
|
||||||
return site;
|
|
||||||
}
|
|
||||||
}, person31.getId(), network1.getId());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setup() throws Exception
|
public void setup() throws Exception
|
||||||
{
|
{
|
||||||
|
// init networks
|
||||||
|
super.setup();
|
||||||
|
|
||||||
Iterator<TestNetwork> networksIt = getTestFixture().getNetworksIt();
|
Iterator<TestNetwork> networksIt = getTestFixture().getNetworksIt();
|
||||||
|
|
||||||
assertTrue(networksIt.hasNext());
|
assertTrue(networksIt.hasNext());
|
||||||
@@ -224,6 +172,61 @@ public class TestPersonSites extends EnterpriseTestApi
|
|||||||
}, person12.getId(), network1.getId());
|
}, person12.getId(), network1.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void initializeSites() throws Exception
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Create data for testing the site sorting. We create the sites as
|
||||||
|
* person31 and assign roles to person32. The list requests will be
|
||||||
|
* performed as person32.
|
||||||
|
*/
|
||||||
|
TenantUtil.runAsSystemTenant(new TenantRunAsWork<Void>()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public Void doWork() throws Exception
|
||||||
|
{
|
||||||
|
person31 = network1.createUser();
|
||||||
|
person32 = network1.createUser();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}, network1.getId());
|
||||||
|
|
||||||
|
this.site1 = TenantUtil.runAsUserTenant(new TenantRunAsWork<TestSite>()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public TestSite doWork() throws Exception
|
||||||
|
{
|
||||||
|
SiteInformation siteInfo = new SiteInformation(site1_name, site1_title, site1_title, SiteVisibility.PRIVATE);
|
||||||
|
TestSite site = network1.createSite(siteInfo);
|
||||||
|
site.inviteToSite(person32.getId(), site1_role);
|
||||||
|
return site;
|
||||||
|
}
|
||||||
|
}, person31.getId(), network1.getId());
|
||||||
|
|
||||||
|
this.site2 = TenantUtil.runAsUserTenant(new TenantRunAsWork<TestSite>()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public TestSite doWork() throws Exception
|
||||||
|
{
|
||||||
|
SiteInformation siteInfo = new SiteInformation(site2_name, site2_title, site2_title, SiteVisibility.PRIVATE);
|
||||||
|
TestSite site = network1.createSite(siteInfo);
|
||||||
|
site.inviteToSite(person32.getId(), site2_role);
|
||||||
|
return site;
|
||||||
|
}
|
||||||
|
}, person31.getId(), network1.getId());
|
||||||
|
|
||||||
|
this.site3 = TenantUtil.runAsUserTenant(new TenantRunAsWork<TestSite>()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public TestSite doWork() throws Exception
|
||||||
|
{
|
||||||
|
SiteInformation siteInfo = new SiteInformation(site3_name, site3_title, site3_title, SiteVisibility.PRIVATE);
|
||||||
|
TestSite site = network1.createSite(siteInfo);
|
||||||
|
site.inviteToSite(person32.getId(), site3_role);
|
||||||
|
return site;
|
||||||
|
}
|
||||||
|
}, person31.getId(), network1.getId());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testPersonSites() throws Exception
|
public void testPersonSites() throws Exception
|
||||||
{
|
{
|
||||||
|
@@ -67,6 +67,8 @@ public class TestPublicApi128 extends EnterpriseTestApi
|
|||||||
@Before
|
@Before
|
||||||
public void setup()
|
public void setup()
|
||||||
{
|
{
|
||||||
|
// note: we don't call super.setup() since we create our own test data here !
|
||||||
|
|
||||||
// mixed case network
|
// mixed case network
|
||||||
this.time = System.currentTimeMillis();
|
this.time = System.currentTimeMillis();
|
||||||
this.networkId = getNetworkId(networkPrefix, networkDomain);
|
this.networkId = getNetworkId(networkPrefix, networkDomain);
|
||||||
|
@@ -68,9 +68,13 @@ public class TestSiteContainers extends EnterpriseTestApi
|
|||||||
|
|
||||||
private TestSite site1;
|
private TestSite site1;
|
||||||
|
|
||||||
|
@Override
|
||||||
@Before
|
@Before
|
||||||
public void setup() throws Exception
|
public void setup() throws Exception
|
||||||
{
|
{
|
||||||
|
// init networks
|
||||||
|
super.setup();
|
||||||
|
|
||||||
Iterator<TestNetwork> networksIt = getTestFixture().getNetworksIt();
|
Iterator<TestNetwork> networksIt = getTestFixture().getNetworksIt();
|
||||||
|
|
||||||
assertTrue(networksIt.hasNext());
|
assertTrue(networksIt.hasNext());
|
||||||
|
@@ -89,9 +89,13 @@ public class TestSiteMembershipRequests extends EnterpriseTestApi
|
|||||||
|
|
||||||
private Random random = new Random(System.currentTimeMillis());
|
private Random random = new Random(System.currentTimeMillis());
|
||||||
|
|
||||||
|
@Override
|
||||||
@Before
|
@Before
|
||||||
public void setup() throws Exception
|
public void setup() throws Exception
|
||||||
{
|
{
|
||||||
|
// init networks
|
||||||
|
super.setup();
|
||||||
|
|
||||||
Iterator<TestNetwork> networksIt = getTestFixture().networksIterator();
|
Iterator<TestNetwork> networksIt = getTestFixture().networksIterator();
|
||||||
this.network1 = networksIt.next();
|
this.network1 = networksIt.next();
|
||||||
Iterator<String> personIt = network1.getPersonIds().iterator();
|
Iterator<String> personIt = network1.getPersonIds().iterator();
|
||||||
|
@@ -69,9 +69,14 @@ public class TestSites extends EnterpriseTestApi
|
|||||||
private Site site2;
|
private Site site2;
|
||||||
private Site site3;
|
private Site site3;
|
||||||
|
|
||||||
|
@Override
|
||||||
@Before
|
@Before
|
||||||
public void setup() throws Exception
|
public void
|
||||||
|
setup() throws Exception
|
||||||
{
|
{
|
||||||
|
// init networks
|
||||||
|
super.setup();
|
||||||
|
|
||||||
// Test: user is member of an account
|
// Test: user is member of an account
|
||||||
this.network1 = getTestFixture().getRandomNetwork();
|
this.network1 = getTestFixture().getRandomNetwork();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user