mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged SHA-SIMP-1 (5.1.0) to HEAD (5.1)
105171: SHA-935: Repository Invite Flow Changes - Updated remote-api tests git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@110789 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -24,6 +24,8 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.repo.invitation.InvitationServiceImpl;
|
||||
import org.alfresco.repo.invitation.WorkflowModelNominatedInvitation;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationComponent;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||
import org.alfresco.repo.site.SiteModel;
|
||||
@@ -65,6 +67,7 @@ public class InvitationWebScriptTest extends BaseWebScriptTest
|
||||
private PersonService personService;
|
||||
private NodeService nodeService;
|
||||
private TransactionService transactionService;
|
||||
private InvitationServiceImpl invitationServiceImpl;
|
||||
|
||||
private String userOne = "InvitationTestOne" + GUID.generate();
|
||||
private String userTwo = "InvitationTestTwo" + GUID.generate();
|
||||
@@ -102,6 +105,7 @@ public class InvitationWebScriptTest extends BaseWebScriptTest
|
||||
this.personService = (PersonService) getServer().getApplicationContext().getBean("PersonService");
|
||||
this.nodeService = (NodeService) getServer().getApplicationContext().getBean("NodeService");
|
||||
this.transactionService = (TransactionService) getServer().getApplicationContext().getBean("TransactionService");
|
||||
this.invitationServiceImpl = (InvitationServiceImpl) getServer().getApplicationContext().getBean("invitationService");
|
||||
|
||||
// turn off email sending to prevent errors during unit testing
|
||||
// (or sending out email by accident from tests)
|
||||
@@ -189,9 +193,10 @@ public class InvitationWebScriptTest extends BaseWebScriptTest
|
||||
* Detailed Test of List Invitation Web Script.
|
||||
* Using URL: /api/invitations
|
||||
*
|
||||
* @param requireAcceptance true if a workflow requiring acceptance is being used
|
||||
* @throws Exception
|
||||
*/
|
||||
public void testInvitationsGet() throws Exception
|
||||
protected void testInvitationsGet(boolean requireAcceptance) throws Exception
|
||||
{
|
||||
// Create two sites.
|
||||
String shortNameSiteA = GUID.generate();
|
||||
@@ -241,7 +246,10 @@ public class InvitationWebScriptTest extends BaseWebScriptTest
|
||||
JSONObject moderatedBInv = getInvitation(moderatedIdBUSER_TWO, data);
|
||||
assertNotNull("Moderated invitation to Site B not present!", moderatedBInv);
|
||||
JSONObject nominatedInv = getInvitation(nominatedId, data);
|
||||
if (requireAcceptance)
|
||||
{
|
||||
assertNotNull("Nominated invitation to Site A not present!", nominatedInv);
|
||||
}
|
||||
|
||||
checkJSONInvitations(data);
|
||||
}
|
||||
@@ -287,11 +295,39 @@ public class InvitationWebScriptTest extends BaseWebScriptTest
|
||||
|
||||
/**
|
||||
* Detailed Test of List Invitation Web Script.
|
||||
* Using URL: /api/sites/{shortname}/invitations
|
||||
* Using URL: /api/invitations
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
public void testSiteInvitationsGet() throws Exception
|
||||
public void testInvitationsGet() throws Exception
|
||||
{
|
||||
testInvitationsGet(false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Detailed Test of List Invitation Web Script using legacy workflow which requires user acceptance
|
||||
* Using URL: /api/invitations
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
public void testInvitationsGetRequireNominatedAcceptance() throws Exception
|
||||
{
|
||||
this.invitationServiceImpl.setNominatedInvitationWorkflowId(
|
||||
WorkflowModelNominatedInvitation.WORKFLOW_DEFINITION_NAME_ACTIVITI_INVITE);
|
||||
testInvitationsGet(true);
|
||||
// Reset back to default
|
||||
this.invitationServiceImpl.setNominatedInvitationWorkflowId(
|
||||
WorkflowModelNominatedInvitation.WORKFLOW_DEFINITION_NAME_ACTIVITI_ADD_DIRECT);
|
||||
}
|
||||
|
||||
/**
|
||||
* Detailed Test of List Invitation Web Script.
|
||||
* Using URL: /api/sites/{shortname}/invitations
|
||||
*
|
||||
* @param requireAcceptance true if a workflow requiring acceptance is being used
|
||||
* @throws Exception
|
||||
*/
|
||||
protected void testSiteInvitationsGet(boolean requireAcceptance) throws Exception
|
||||
{
|
||||
// Create two sites.
|
||||
String shortNameSiteA = GUID.generate();
|
||||
@@ -336,12 +372,15 @@ public class InvitationWebScriptTest extends BaseWebScriptTest
|
||||
JSONObject top = new JSONObject(response.getContentAsString());
|
||||
// System.out.println(response.getContentAsString());
|
||||
JSONArray data = top.getJSONArray("data");
|
||||
assertEquals("Wrong number of invitations!", 2, data.length());
|
||||
assertEquals("Wrong number of invitations!", requireAcceptance ? 2 : 1, data.length());
|
||||
|
||||
JSONObject moderatedAInv = getInvitation(moderatedIdAUSER_TWO, data);
|
||||
assertNotNull("Moderated invitation to Site A not present!", moderatedAInv);
|
||||
JSONObject nominatedInv = getInvitation(nominatedId, data);
|
||||
if (requireAcceptance)
|
||||
{
|
||||
assertNotNull("Nominated invitation to Site A not present!", nominatedInv);
|
||||
}
|
||||
checkJSONInvitations(data);
|
||||
}
|
||||
|
||||
@@ -376,7 +415,7 @@ public class InvitationWebScriptTest extends BaseWebScriptTest
|
||||
}
|
||||
|
||||
// search SiteA by type Nominated: One Nominated User2
|
||||
{
|
||||
if (requireAcceptance) {
|
||||
String siteANominatedUrl = URL_SITES + "/" +shortNameSiteA + "/invitations?invitationType=NOMINATED";
|
||||
Response response = sendRequest(new GetRequest(siteANominatedUrl), 200);
|
||||
JSONObject top = new JSONObject(response.getContentAsString());
|
||||
@@ -427,6 +466,33 @@ public class InvitationWebScriptTest extends BaseWebScriptTest
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Detailed Test of List Invitation Web Script.
|
||||
* Using URL: /api/sites/{shortname}/invitations
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
public void testSiteInvitationsGet() throws Exception
|
||||
{
|
||||
testSiteInvitationsGet(false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Detailed Test of List Invitation Web Script using legacy workflow which requires user acceptance.
|
||||
* Using URL: /api/sites/{shortname}/invitations
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
public void testSiteInvitationsGetRequireNominatedAcceptance() throws Exception
|
||||
{
|
||||
this.invitationServiceImpl.setNominatedInvitationWorkflowId(
|
||||
WorkflowModelNominatedInvitation.WORKFLOW_DEFINITION_NAME_ACTIVITI_INVITE);
|
||||
testSiteInvitationsGet(true);
|
||||
// Reset back to default
|
||||
this.invitationServiceImpl.setNominatedInvitationWorkflowId(
|
||||
WorkflowModelNominatedInvitation.WORKFLOW_DEFINITION_NAME_ACTIVITI_ADD_DIRECT);
|
||||
}
|
||||
|
||||
private void checkJSONInvitations(JSONArray data) throws JSONException
|
||||
{
|
||||
for (int i = 0; i < data.length(); i++)
|
||||
|
@@ -26,6 +26,7 @@ import java.util.Set;
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.repo.action.executer.MailActionExecuter;
|
||||
import org.alfresco.repo.content.MimetypeMap;
|
||||
import org.alfresco.repo.invitation.InvitationServiceImpl;
|
||||
import org.alfresco.repo.invitation.WorkflowModelNominatedInvitation;
|
||||
import org.alfresco.repo.invitation.script.ScriptInvitationService;
|
||||
import org.alfresco.repo.invitation.site.InviteInfo;
|
||||
@@ -89,6 +90,7 @@ public class InviteServiceTest extends BaseWebScriptTest
|
||||
private NamespaceService namespaceService;
|
||||
private TransactionService transactionService;
|
||||
private NodeArchiveService nodeArchiveService;
|
||||
private InvitationServiceImpl invitationServiceImpl;
|
||||
|
||||
// stores invitee email addresses, one entry for each "start invite" operation
|
||||
// invoked, so that resources created for each invitee for each test
|
||||
@@ -143,6 +145,7 @@ public class InviteServiceTest extends BaseWebScriptTest
|
||||
this.transactionService = (TransactionService) getServer().getApplicationContext()
|
||||
.getBean("TransactionService");
|
||||
this.nodeArchiveService = (NodeArchiveService)getServer().getApplicationContext().getBean("nodeArchiveService");
|
||||
this.invitationServiceImpl = (InvitationServiceImpl) getServer().getApplicationContext().getBean("invitationService");
|
||||
ScriptInvitationService scriptInvitationService = (ScriptInvitationService) getServer().getApplicationContext().getBean("invitationServiceScript");
|
||||
scriptInvitationService.setSiteService(this.siteService);
|
||||
Invite invite = (Invite) getServer().getApplicationContext().getBean("webscript.org.alfresco.repository.invite.invite.get");
|
||||
@@ -935,6 +938,10 @@ public class InviteServiceTest extends BaseWebScriptTest
|
||||
|
||||
public void testInviteeResourcesNotDeletedUponRejectWhenInvitesPending() throws Exception
|
||||
{
|
||||
// Test only applies to legacy invite workflow
|
||||
this.invitationServiceImpl.setNominatedInvitationWorkflowId(
|
||||
WorkflowModelNominatedInvitation.WORKFLOW_DEFINITION_NAME_ACTIVITI_INVITE);
|
||||
|
||||
// Create invitee person
|
||||
final String inviteeEmail = INVITEE_EMAIL_PREFIX + RandomStringUtils.randomAlphanumeric(6) + "@" + INVITEE_EMAIL_DOMAIN;
|
||||
AuthenticationUtil.runAs(new RunAsWork<Object>()
|
||||
|
@@ -867,12 +867,6 @@ public class SiteServiceTest extends BaseWebScriptTest
|
||||
String acceptURL = "page/accept-invite";
|
||||
String rejectURL = "page/reject-invite";
|
||||
|
||||
// Create a nominated invitation
|
||||
String nominatedId = createNominatedInvitation(shortName, inviteeFirstName, inviteeLastName, inviteeEmail, inviteeUserName, roleName, serverPath, acceptURL, rejectURL, 201);
|
||||
|
||||
// Get the nominated invitation
|
||||
sendRequest(new GetRequest(URL_SITES + "/" + shortName + "/invitations/" + nominatedId), 200);
|
||||
|
||||
//Create a new moderated invitation
|
||||
String moderatedId = createModeratedInvitation(shortName, inviteComments, userName, roleName);
|
||||
|
||||
@@ -882,12 +876,12 @@ public class SiteServiceTest extends BaseWebScriptTest
|
||||
// search for the moderated invitation
|
||||
sendRequest(new GetRequest(URL_SITES + "/" + shortName + "/invitations?inviteeUserName=" + userName), 200);
|
||||
|
||||
// Create a nominated invitation
|
||||
String nominatedId = createNominatedInvitation(shortName, inviteeFirstName, inviteeLastName, inviteeEmail, inviteeUserName, roleName, serverPath, acceptURL, rejectURL, 201);
|
||||
|
||||
// Search for all invitations on this site
|
||||
sendRequest(new GetRequest(URL_SITES + "/" + shortName + "/invitations"), 200);
|
||||
|
||||
// cancel the nominated invitation
|
||||
sendRequest(new DeleteRequest(URL_SITES + "/" + shortName + "/invitations/" + nominatedId), 200);
|
||||
|
||||
// cancel the moderated invitation
|
||||
sendRequest(new DeleteRequest(URL_SITES + "/" + shortName + "/invitations/" + moderatedId), 200);
|
||||
}
|
||||
@@ -1076,18 +1070,16 @@ public class SiteServiceTest extends BaseWebScriptTest
|
||||
|
||||
}
|
||||
/**
|
||||
* search by user - find USER_TWO's two invitations
|
||||
* search by user - find USER_TWO's invitation
|
||||
*/
|
||||
{
|
||||
Response response = sendRequest(new GetRequest(URL_SITES + "/" + shortName + "/invitations?inviteeUserName=" + USER_TWO), 200);
|
||||
JSONObject top = new JSONObject(response.getContentAsString());
|
||||
//System.out.println(response.getContentAsString());
|
||||
JSONArray data = top.getJSONArray("data");
|
||||
assertEquals("user two invitation not found", data.length(), 2);
|
||||
assertEquals("user two invitation not found", 1, data.length());
|
||||
JSONObject first = data.getJSONObject(0);
|
||||
assertEquals("first userid is wrong", first.getString("inviteeUserName"), USER_TWO);
|
||||
JSONObject second = data.getJSONObject(0);
|
||||
assertEquals("second userid is wrong", second.getString("inviteeUserName"), USER_TWO);
|
||||
assertEquals("userid is wrong", first.getString("inviteeUserName"), USER_TWO);
|
||||
|
||||
}
|
||||
|
||||
@@ -1103,14 +1095,6 @@ public class SiteServiceTest extends BaseWebScriptTest
|
||||
assertEquals("two moderated invitations not found", data.length(), 2);
|
||||
}
|
||||
|
||||
{
|
||||
Response response = sendRequest(new GetRequest(URL_SITES + "/" + shortName + "/invitations?invitationType=NOMINATED"), 200);
|
||||
JSONObject top = new JSONObject(response.getContentAsString());
|
||||
//System.out.println(response.getContentAsString());
|
||||
JSONArray data = top.getJSONArray("data");
|
||||
assertEquals("one nominated invitation not found", data.length(), 1);
|
||||
}
|
||||
|
||||
// negative test - unknown invitationType
|
||||
{
|
||||
Response response = sendRequest(new GetRequest(URL_SITES + "/" + shortName + "/invitations?invitationType=Crap"), 500);
|
||||
|
Reference in New Issue
Block a user