From e288cc21123f9765873c720c472942a6e7718363 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 14 Mar 2014 15:45:02 +0000 Subject: [PATCH] Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud) 63080: Merged V4.2-BUG-FIX (4.2.2) to HEAD-BUG-FIX (Cloud/4.3) 62921: Merged DEV to V4.2-BUG-FIX (4.2.2) 62833: ALF-20448: Public API Activities : activityType org.alfresco.site.user-joined doesn't contain siteId - Modify ActivitiesImpl.getSiteId() method to handle situation when default tenant domain is used. - Add unit test. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@64263 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../rest/api/impl/ActivitiesImpl.java | 2 +- .../rest/api/tests/TestActivities.java | 80 +++++++++++++++++++ 2 files changed, 81 insertions(+), 1 deletion(-) diff --git a/source/java/org/alfresco/rest/api/impl/ActivitiesImpl.java b/source/java/org/alfresco/rest/api/impl/ActivitiesImpl.java index c6113ea571..176c0e2ba8 100644 --- a/source/java/org/alfresco/rest/api/impl/ActivitiesImpl.java +++ b/source/java/org/alfresco/rest/api/impl/ActivitiesImpl.java @@ -108,7 +108,7 @@ public class ActivitiesImpl implements Activities private String getSiteId(String siteNetwork) { - String siteId = null; + String siteId = siteNetwork; int idx = siteNetwork.lastIndexOf(TenantService.SEPARATOR); if(idx != -1) diff --git a/source/test-java/org/alfresco/rest/api/tests/TestActivities.java b/source/test-java/org/alfresco/rest/api/tests/TestActivities.java index 6df2b348c6..f634d0119b 100644 --- a/source/test-java/org/alfresco/rest/api/tests/TestActivities.java +++ b/source/test-java/org/alfresco/rest/api/tests/TestActivities.java @@ -9,6 +9,7 @@ import java.util.List; import java.util.Map; import org.alfresco.repo.security.authentication.AuthenticationUtil; +import org.alfresco.repo.tenant.TenantService; import org.alfresco.repo.tenant.TenantUtil; import org.alfresco.repo.tenant.TenantUtil.TenantRunAsWork; import org.alfresco.repo.transaction.RetryingTransactionHelper; @@ -35,20 +36,24 @@ public class TestActivities extends EnterpriseTestApi { private TestNetwork network1; private TestNetwork network2; + private TestNetwork defaultNetwork; private TestPerson person1; // network1 private TestPerson person2; // network1 private TestPerson person3; // network2 + private TestPerson person4; // defaultNetwork private TestSite testSite; // network1 private TestSite testSite1; // network1 private TestSite testSite2; // network2 + private TestSite testSite3; // defaultNetwork @Before public void setup() throws Exception { this.network1 = repoService.createNetworkWithAlias("activitiesNetwork1", true); this.network2 = repoService.createNetworkWithAlias("activitiesNetwork2", true); + this.defaultNetwork = repoService.createNetwork(TenantService.DEFAULT_DOMAIN, true); try { @@ -57,6 +62,7 @@ public class TestActivities extends EnterpriseTestApi network1.create(); network2.create(); + defaultNetwork.create(); } finally { @@ -92,9 +98,22 @@ public class TestActivities extends EnterpriseTestApi } }, network2.getId()); + TenantUtil.runAsSystemTenant(new TenantRunAsWork() + { + @Override + public Void doWork() throws Exception + { + TestPerson person = defaultNetwork.createUser(); + people.add(person); + + return null; + } + }, defaultNetwork.getId()); + this.person1 = people.get(0); this.person2 = people.get(1); this.person3 = people.get(2); + this.person4 = people.get(3); this.testSite = transactionHelper.doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback() { @@ -258,6 +277,41 @@ public class TestActivities extends EnterpriseTestApi } }, person3.getId(), network2.getId()); + this.testSite3 = transactionHelper.doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback() + { + @SuppressWarnings("synthetic-access") + public TestSite execute() throws Throwable + { + return TenantUtil.runAsUserTenant(new TenantRunAsWork() + { + public TestSite doWork() throws Exception + { + SiteInformation siteInfo = new SiteInformation(GUID.generate(), "", "", SiteVisibility.PUBLIC); + return defaultNetwork.createSite(siteInfo); + } + }, person4.getId(), defaultNetwork.getId()); + } + }, false, true); + + + TenantUtil.runAsUserTenant(new TenantRunAsWork() + { + @SuppressWarnings("unchecked") + @Override + public Void doWork() throws Exception + { + JSONObject activityData = new JSONObject(); + activityData.put("role", "Consumer"); + activityData.put("memberUserName", person4.getId()); + activityData.put("memberFirstName", person4.getFirstName()); + activityData.put("memberLastName", person4.getLastName()); + activityData.put("title", (person4.getFirstName() + " " + person4.getLastName() + " (" + person4.getId() + ")").trim()); + repoService.postActivity("org.alfresco.site.user-joined", testSite3.getSiteId(), activityData); + + return null; + } + }, person4.getId(), defaultNetwork.getId()); + repoService.generateFeed(); } @@ -266,6 +320,32 @@ public class TestActivities extends EnterpriseTestApi { People peopleProxy = publicApiClient.people(); + //Test with default tenant domain. see ALF-20448 + { + List expectedActivities = TenantUtil.runAsUserTenant(new TenantRunAsWork>() + { + @Override + public List doWork() throws Exception + { + List activities = repoService.getActivities(person4.getId(), null, false, true); + return activities; + } + }, person4.getId(), defaultNetwork.getId()); + + { + int skipCount = 0; + int maxItems = expectedActivities.size(); + Paging paging = getPaging(skipCount, maxItems, expectedActivities.size(), null); + + Map params = createParams(paging, null); + params.put("who", String.valueOf(ActivityWho.me)); + publicApiClient.setRequestContext(new RequestContext(defaultNetwork.getId(), person4.getId())); + ListResponse response = peopleProxy.getActivities(person4.getId(), params); + checkList(expectedActivities.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()), paging.getExpectedPaging(), response); + } + + } + // Test Case cloud-2204 // Test case cloud-1500 // Test Case cloud-2216