Merged HEAD (5.2) to 5.2.N (5.2.1)

127555 jkaabimofrad: Merged API-STRIKES-BACK (5.2.0) to HEAD (5.2)
      125601 jvonka: RA-779: Sites API - create site
      - additional tests (site description & also max lengths for id, title & description)
      - fix site id validation (repeating valid chars)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@127649 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2016-06-03 14:03:37 +00:00
parent 493b7e76e6
commit a7d99dded0
3 changed files with 42 additions and 4 deletions

View File

@@ -955,7 +955,7 @@ public class SitesImpl implements Sites
}
else
{
if (! siteId.matches("[^"+SITE_ID_VALID_CHARS_PARTIAL_REGEX+"]"))
if (! siteId.matches("^["+SITE_ID_VALID_CHARS_PARTIAL_REGEX+"]+"))
{
throw new InvalidArgumentException("Invalid site id - should consist of alphanumeric/dash characters");
}

View File

@@ -146,13 +146,16 @@ public class TestSites extends EnterpriseTestApi
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1Id));
String siteTitle = "my site !*#$ 123";
String siteDescription = "my site description";
SiteImpl site = new SiteImpl(siteTitle, SiteVisibility.PRIVATE.toString());
site.setDescription(siteDescription);
Site site = new SiteImpl(siteTitle, SiteVisibility.PRIVATE.toString());
Site ret = sitesProxy.createSite(site);
String siteId = ret.getSiteId();
String expectedSiteId = "my-site-123";
Site siteExp = new SiteImpl(null, expectedSiteId, ret.getGuid(), siteTitle, null, SiteVisibility.PRIVATE.toString(), null, SiteRole.SiteManager);
Site siteExp = new SiteImpl(null, expectedSiteId, ret.getGuid(), siteTitle, siteDescription, SiteVisibility.PRIVATE.toString(), null, SiteRole.SiteManager);
siteExp.expected(ret);
ret = sitesProxy.getSite(siteId);
@@ -182,7 +185,7 @@ public class TestSites extends EnterpriseTestApi
// -ve - try to get unknown site
sitesProxy.getSite(GUID.generate(), 404);
Site site = new SiteImpl("my site 123", "invalidsitevisibility");
SiteImpl site = new SiteImpl("my site 123", "invalidsitevisibility");
sitesProxy.createSite(site, 400);
site = new SiteImpl(null, "invalid site id", null, "my site 123", null, SiteVisibility.PRIVATE.toString(), null, null);
@@ -191,6 +194,37 @@ public class TestSites extends EnterpriseTestApi
site = new SiteImpl(null, "invalidsiteid*", null, "my site 123", null, SiteVisibility.PRIVATE.toString(), null, null);
sitesProxy.createSite(site, 400);
site = new SiteImpl();
site.setSiteId(new String(new char[72]).replace('\0', 'a'));
site.setTitle(new String(new char[256]).replace('\0', 'a'));
site.setDescription(new String(new char[512]).replace('\0', 'a'));
site.setVisibility(SiteVisibility.PUBLIC.toString());
sitesProxy.createSite(site, 201);
// -ve - site id too long
site = new SiteImpl();
site.setSiteId(new String(new char[73]).replace('\0', 'a'));
site.setTitle("ok");
site.setDescription("ok");
site.setVisibility(SiteVisibility.PUBLIC.toString());
sitesProxy.createSite(site, 400);
// -ve - site title too long
site = new SiteImpl();
site.setSiteId("ok");
site.setTitle(new String(new char[257]).replace('\0', 'a'));
site.setDescription("ok");
site.setVisibility(SiteVisibility.PUBLIC.toString());
sitesProxy.createSite(site, 400);
// -ve - site description too long
site = new SiteImpl();
site.setSiteId("ok");
site.setTitle("ok");
site.setDescription(new String(new char[513]).replace('\0', 'a'));
site.setVisibility(SiteVisibility.PUBLIC.toString());
sitesProxy.createSite(site, 400);
// site already exists (409)
String siteTitle = "my site 456";
site = new SiteImpl(siteTitle, SiteVisibility.PRIVATE.toString());

View File

@@ -292,6 +292,10 @@ public class SiteImpl implements Serializable, Site, Comparable<SiteImpl>, Expec
{
siteJson.put("title", getTitle());
}
if (getDescription() != null)
{
siteJson.put("description", getDescription());
}
if (getVisibility() != null)
{
siteJson.put("visibility", getVisibility());