Merge pull request #120 from Alfresco/dev-dhrn-ACS-777

[ACS-777] Email notification for digital workspace
This commit is contained in:
Eugenio Romano
2020-11-16 09:24:26 +00:00
committed by GitHub
24 changed files with 959 additions and 426 deletions

View File

@@ -65,6 +65,8 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.springframework.test.annotation.Commit;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ReflectionUtils;
@@ -202,9 +204,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
* end of setup now for some real tests
*/
/**
*
*/
@Test
public void testConfiguration()
{
assertNotNull("Invitation service is null", invitationService);
@@ -216,6 +216,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
*
* @throws Exception
*/
@Test
public void testInternalUserNotDeletedAfterInviteCancelled() throws Exception
{
// Disable our existing User
@@ -257,6 +258,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
*
* @throws Exception
*/
@Test
public void testExternalUserDeletedAfterInviteCancelled() throws Exception
{
String inviteeFirstName = PERSON_FIRSTNAME;
@@ -290,6 +292,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
*
* @throws Exception
*/
@Test
public void testNominatedInvitationNewUser() throws Exception
{
Calendar calendar = Calendar.getInstance();
@@ -467,6 +470,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
*
* @throws Exception
*/
@Test
public void testNominatedInvitationNewUserReject() throws Exception
{
Calendar calendar = Calendar.getInstance();
@@ -543,6 +547,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
*
* @throws Exception
*/
@Test
public void testNominatedInvitationNewUserSameEmails() throws Exception
{
String inviteeAFirstName = "John";
@@ -624,6 +629,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
siteService.removeMembership(resourceName, inviteeBUserName);
}
@Test
public void testMNT11775() throws Exception
{
String inviteeUserName = USER_TWO;
@@ -693,6 +699,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
*
* @throws Exception
*/
@Test
public void test_MNT15614() throws Exception
{
String[] siteNames = {"it", "site", "GROUP"};
@@ -726,6 +733,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
* Test nominated user - new user with whitespace in name. Related to
* ETHREEOH-3030.
*/
@Test
public void testNominatedInvitationNewUserWhitespace() throws Exception
{
String inviteeFirstName = PERSON_FIRSTNAME_SPACES;
@@ -919,6 +927,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
siteService.removeMembership(resourceName, inviteeUserName);
}
@Test
public void testNominatedInvitationExistingUser() throws Exception
{
this.invitationServiceImpl.setNominatedInvitationWorkflowId(
@@ -931,6 +940,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
* moderated invitation Reject the invitation Create a moderated invitation
* Approve the invitation
*/
@Test
public void testModeratedInvitation()
{
String inviteeUserName = USER_TWO;
@@ -1018,9 +1028,90 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
}
/**
* Create a moderated invitation for workspace client Get it Search for it Cancel it
*/
@Test
public void testWorkspaceModeratedInvitation()
{
String inviteeUserName = USER_TWO;
Invitation.ResourceType resourceType = Invitation.ResourceType.WEB_SITE;
String resourceName = SITE_SHORT_NAME_INVITE;
String inviteeRole = SiteModel.SITE_COLLABORATOR;
String comments = "please sir, let me in!";
this.authenticationComponent.setCurrentUser(USER_TWO);
ModeratedInvitation invitation = invitationService.inviteModerated(comments, inviteeUserName, resourceType,
resourceName, inviteeRole, "workspace");
assertNotNull("moderated invitation is null", invitation);
String inviteId = invitation.getInviteId();
assertEquals("user name wrong", inviteeUserName, invitation.getInviteeUserName());
assertEquals("role name wrong", inviteeRole, invitation.getRoleName());
assertEquals("comments", comments, invitation.getInviteeComments());
assertEquals("resource type name wrong", resourceType, invitation.getResourceType());
assertEquals("resource name wrong", resourceName, invitation.getResourceName());
assertEquals("client name wrong", "workspace", invitation.getClientName());
/**
* Now we have an invitation get it and check the details have been
* returned correctly.
*/
ModeratedInvitation mi2 = (ModeratedInvitation) invitationService.getInvitation(inviteId);
assertEquals("invite id", inviteId, mi2.getInviteId());
assertEquals("user name wrong", inviteeUserName, mi2.getInviteeUserName());
assertEquals("role name wrong", inviteeRole, mi2.getRoleName());
assertEquals("comments", comments, mi2.getInviteeComments());
assertEquals("resource type name wrong", resourceType, mi2.getResourceType());
assertEquals("resource name wrong", resourceName, mi2.getResourceName());
/**
* Search for the new invitation
*/
List<Invitation> invitations = invitationService.listPendingInvitationsForResource(resourceType, resourceName);
assertTrue("invitations is empty", !invitations.isEmpty());
ModeratedInvitation firstInvite = (ModeratedInvitation) invitations.get(0);
assertEquals("invite id wrong", inviteId, firstInvite.getInviteId());
/**
* Cancel the invitation
*/
ModeratedInvitation canceledInvitation = (ModeratedInvitation) invitationService.cancel(inviteId);
assertEquals("invite id wrong", inviteId, canceledInvitation.getInviteId());
assertEquals("comments wrong", comments, canceledInvitation.getInviteeComments());
/**
* Should now be no invitation
*/
List<Invitation> inv2 = invitationService.listPendingInvitationsForResource(resourceType, resourceName);
assertTrue("After cancel invitations is not empty", inv2.isEmpty());
/**
* New invitation
*/
this.authenticationComponent.setCurrentUser(USER_TWO);
ModeratedInvitation invite3 = invitationService.inviteModerated(comments, inviteeUserName, resourceType,
resourceName, inviteeRole);
assertEquals("client name wrong", null, invite3.getClientName());
String thirdInvite = invite3.getInviteId();
this.authenticationComponent.setCurrentUser(USER_MANAGER);
invitationService.approve(thirdInvite, "Welcome in");
/**
* Now verify access control list
*/
String roleName = siteService.getMembersRole(resourceName, inviteeUserName);
assertEquals("role name wrong", inviteeRole, roleName);
siteService.removeMembership(resourceName, inviteeUserName);
}
/**
* Test the approval of a moderated invitation
*/
@Test
public void testModeratedApprove()
{
String inviteeUserName = USER_TWO;
@@ -1090,6 +1181,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
/**
* Tests of Moderated Reject
*/
@Test
public void testModeratedReject()
{
String inviteeUserName = USER_TWO;
@@ -1148,6 +1240,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
/**
* Test search invitation
*/
@Test
public void testSearchInvitation()
{
/**
@@ -1240,6 +1333,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
/**
* test that the search limiter works
*/
@Test
public void testSearchInvitationWithLimit() throws Exception
{
Invitation.ResourceType resourceType = Invitation.ResourceType.WEB_SITE;
@@ -1282,6 +1376,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
/**
* MNT-17341 : External users with Manager role cannot invite other external users to the site because site invitation accept fails
*/
@Test
public void testExternalUserManagerInvitingAnotherExternalUser() throws Exception{
String inviteeFirstName = PERSON_FIRSTNAME;
String inviteeLastName = PERSON_LASTNAME;
@@ -1334,6 +1429,8 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
}
@Ignore
@Test
@Commit
public void disabled_test100Invites() throws Exception
{
@@ -1367,6 +1464,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri
assertEquals(invite.getInviteId(), results.get(0).getInviteId());
}
@Test
public void testGetInvitation()
{
try

View File

@@ -44,6 +44,8 @@ import junit.framework.TestCase;
import org.alfresco.model.ContentModel;
import org.alfresco.repo.action.executer.MailActionExecuter;
import org.alfresco.repo.admin.SysAdminParams;
import org.alfresco.repo.admin.SysAdminParamsImpl;
import org.alfresco.repo.i18n.MessageService;
import org.alfresco.repo.invitation.WorkflowModelModeratedInvitation;
import org.alfresco.repo.invitation.activiti.SendModeratedInviteDelegate;
@@ -175,6 +177,7 @@ public class InviteModeratedSenderTest extends TestCase
SearchService mockSearchService = mockSearchService();
SiteService mockSiteService = mockSiteService();
FileFolderService mockFileFolderService = mockFileFolderService();
SysAdminParams sysAdminParams = new SysAdminParamsImpl();
ServiceRegistry services = mock(ServiceRegistry.class);
when(services.getActionService()).thenReturn(mockActionService);
@@ -183,6 +186,7 @@ public class InviteModeratedSenderTest extends TestCase
when(services.getSearchService()).thenReturn(mockSearchService);
when(services.getSiteService()).thenReturn(mockSiteService);
when(services.getFileFolderService()).thenReturn(mockFileFolderService);
when(services.getSysAdminParams()).thenReturn(sysAdminParams);
return services;
}