Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud)

65592: Merged V4.2-BUG-FIX (4.2.2) to HEAD-BUG-FIX (4.3/Cloud)
      65434: Merged DEV to V4.2-BUG-FIX (4.2.2)
         65008 : MNT-10551 : PUT sites/<siteId>/members/<personId>
            - Throw InvalidArgumentException if the person is not site member
         65046 : MNT-10551 : PUT sites/<siteId>/members/<personId>
            - Test for the fix


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@66246 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2014-04-02 21:48:02 +00:00
parent 3913fde282
commit 71cdbe8445
2 changed files with 18 additions and 0 deletions

View File

@@ -406,6 +406,12 @@ public class SitesImpl implements Sites
throw new InvalidArgumentException("Must provide a role"); throw new InvalidArgumentException("Must provide a role");
} }
/* MNT-10551 : fix */
if (!siteService.isMember(siteId, siteMember.getPersonId()))
{
throw new InvalidArgumentException("User is not a member of the site");
}
siteService.setMembership(siteId, siteMember.getPersonId(), siteRole.toString()); siteService.setMembership(siteId, siteMember.getPersonId(), siteRole.toString());
return siteMember; return siteMember;
} }

View File

@@ -500,6 +500,18 @@ public class TestSiteMembers extends EnterpriseTestApi
{ {
assertEquals(HttpStatus.SC_BAD_REQUEST, e.getHttpResponse().getStatusCode()); assertEquals(HttpStatus.SC_BAD_REQUEST, e.getHttpResponse().getStatusCode());
} }
// user is not a member of the site - 400
try
{
publicApiClient.setRequestContext(new RequestContext(network1.getId(), person2.getId()));
sitesProxy.updateSiteMember(site.getSiteId(), new SiteMember(person1.getId(), SiteRole.SiteContributor.toString()));
fail();
}
catch(PublicApiException e)
{
assertEquals(HttpStatus.SC_BAD_REQUEST, e.getHttpResponse().getStatusCode());
}
// successful update // successful update
{ {