use of com.zimbra.soap.mail.message.FolderActionRequest in project zm-mailbox by Zimbra.
the class TestShareNotifications method testContactShareNotification.
public void testContactShareNotification() throws Exception {
Account senderAccount = TestUtil.createAccount(SENDER_NAME);
Account recipientAccount = TestUtil.createAccount(RECIPIENT_NAME);
ZMailbox mbox = TestUtil.getZMailbox(SENDER_NAME);
// check that there are no share notifications in the recipient's mailbox
ZMailbox recipientMbox = TestUtil.getZMailbox(RECIPIENT_NAME);
List<ShareNotificationInfo> shares = waitForShareNotifications(recipientMbox, 0, 100);
assertEquals("Recipient should have exactly 0 share notification", 0, shares.size());
// create and share the first calendar
ZFolder newContactsFolder = TestUtil.createFolder(mbox, CAL_NAME1, ZFolder.View.contact);
String contactsFolderId = newContactsFolder.getId();
FolderActionSelector action = new FolderActionSelector(contactsFolderId, "grant");
ActionGrantSelector grant = new ActionGrantSelector("r", "usr");
grant.setDisplayName(recipientAccount.getName());
grant.setPassword("");
action.setGrant(grant);
FolderActionRequest folderActionReq = new FolderActionRequest(action);
FolderActionResponse folderActionResp = mbox.invokeJaxb(folderActionReq);
assertNotNull("FolderActionResponse is null", folderActionResp);
SendShareNotificationRequest shareNotificationReq = new SendShareNotificationRequest();
shareNotificationReq.setItem(new com.zimbra.soap.type.Id(contactsFolderId));
shareNotificationReq.addEmailAddress(new EmailAddrInfo(recipientAccount.getMail()));
SendShareNotificationResponse resp = mbox.invokeJaxb(shareNotificationReq);
assertNotNull("ShareNotificationResponse is null", resp);
shares = waitForShareNotifications(recipientMbox, 1, 1000);
assertEquals("should have exactly one share notification", 1, shares.size());
assertNotNull("share grantor is null", shares.get(0).getGrantor());
assertTrue("share grantor is not " + senderAccount.getMail(), senderAccount.getMail().equalsIgnoreCase(shares.get(0).getGrantor().getEmail()));
}
use of com.zimbra.soap.mail.message.FolderActionRequest in project zm-mailbox by Zimbra.
the class TestShareNotifications method testContactAndCalendarShareNotifications.
public void testContactAndCalendarShareNotifications() throws Exception {
Account senderAccount = TestUtil.createAccount(SENDER_NAME);
Account recipientAccount = TestUtil.createAccount(RECIPIENT_NAME);
ZMailbox mbox = TestUtil.getZMailbox(SENDER_NAME);
// check that there are no share notifications in the recipient's mailbox
ZMailbox recipientMbox = TestUtil.getZMailbox(RECIPIENT_NAME);
List<ShareNotificationInfo> shares = waitForShareNotifications(recipientMbox, 0, 100);
assertEquals("Recipient should have exactly 0 share notification", 0, shares.size());
// create and share the first calendar
ZFolder newCal = TestUtil.createFolder(mbox, CAL_NAME1, ZFolder.View.appointment);
String calendarId = newCal.getId();
FolderActionSelector action = new FolderActionSelector(calendarId, "grant");
ActionGrantSelector grant = new ActionGrantSelector("r", "usr");
grant.setDisplayName(recipientAccount.getName());
grant.setPassword("");
action.setGrant(grant);
FolderActionRequest folderActionReq = new FolderActionRequest(action);
FolderActionResponse folderActionResp = mbox.invokeJaxb(folderActionReq);
assertNotNull("FolderActionResponse is null", folderActionResp);
SendShareNotificationRequest shareNotificationReq = new SendShareNotificationRequest();
shareNotificationReq.setItem(new com.zimbra.soap.type.Id(calendarId));
shareNotificationReq.addEmailAddress(new EmailAddrInfo(recipientAccount.getMail()));
SendShareNotificationResponse resp = mbox.invokeJaxb(shareNotificationReq);
assertNotNull("ShareNotificationResponse is null", resp);
// create and share the second calendar
ZFolder newContactsFolder = TestUtil.createFolder(mbox, CONTACTS_NAME1, ZFolder.View.contact);
String contactsFolderId = newContactsFolder.getId();
action = new FolderActionSelector(contactsFolderId, "grant");
grant = new ActionGrantSelector("r", "usr");
grant.setDisplayName(recipientAccount.getName());
grant.setPassword("");
action.setGrant(grant);
folderActionReq = new FolderActionRequest(action);
folderActionResp = mbox.invokeJaxb(folderActionReq);
assertNotNull("FolderActionResponse is null", folderActionResp);
shareNotificationReq = new SendShareNotificationRequest();
shareNotificationReq.setItem(new com.zimbra.soap.type.Id(contactsFolderId));
shareNotificationReq.addEmailAddress(new EmailAddrInfo(recipientAccount.getMail()));
resp = mbox.invokeJaxb(shareNotificationReq);
assertNotNull("ShareNotificationResponse is null", resp);
shares = waitForShareNotifications(recipientMbox, 2, 1000);
assertEquals("should have exactly two share notification", 2, shares.size());
assertNotNull("share grantor is null", shares.get(0).getGrantor());
assertTrue("share grantor is not " + senderAccount.getMail(), senderAccount.getMail().equalsIgnoreCase(shares.get(0).getGrantor().getEmail()));
}
use of com.zimbra.soap.mail.message.FolderActionRequest in project zm-mailbox by Zimbra.
the class TestInvite method testBug86864DelegateInboxInviteLooksLikeInvite.
public void testBug86864DelegateInboxInviteLooksLikeInvite() throws Exception {
TestUtil.createAccount(ORGANIZER);
Account attendee = TestUtil.createAccount(ATTENDEE);
Account delegate = TestUtil.createAccount(DELEGATE);
ZMailbox mboxOrganizer = TestUtil.getZMailbox(ORGANIZER);
ZMailbox mboxAttendee = TestUtil.getZMailbox(ATTENDEE);
ZMailbox mboxDelegate = TestUtil.getZMailbox(DELEGATE);
String subject = NAME_PREFIX + " for testing treatment at delegate inbox";
Date startDate = new Date(System.currentTimeMillis() + Constants.MILLIS_PER_DAY);
Date endDate = new Date(startDate.getTime() + Constants.MILLIS_PER_HOUR);
String calendarId = Integer.valueOf(Mailbox.ID_FOLDER_CALENDAR).toString();
FolderActionSelector action = new FolderActionSelector(calendarId, /* id */
"grant");
ActionGrantSelector grant = new ActionGrantSelector("rwidxa", /* perm */
"usr");
grant.setDisplayName(delegate.getName());
grant.setPassword("");
action.setGrant(grant);
FolderActionRequest folderActionReq = new FolderActionRequest(action);
FolderActionResponse folderActionResp = mboxAttendee.invokeJaxb(folderActionReq);
assertNotNull("null FolderAction Response used to share folder", folderActionResp);
ModifyPrefsRequest modPrefsReq = new ModifyPrefsRequest();
Pref fwdInvitesPref = Pref.createPrefWithNameAndValue(ZAttrProvisioning.A_zimbraPrefCalendarForwardInvitesTo, delegate.getName());
modPrefsReq.addPref(fwdInvitesPref);
Pref noAutoAddPref = Pref.createPrefWithNameAndValue(ZAttrProvisioning.A_zimbraPrefCalendarAutoAddInvites, Boolean.FALSE.toString().toUpperCase());
modPrefsReq.addPref(noAutoAddPref);
ModifyPrefsResponse modPrefsResp = mboxAttendee.invokeJaxb(modPrefsReq);
assertNotNull("null ModifyPrefs Response for forwarding calendar invites/no auto-add", modPrefsResp);
NewMountpointSpec mpSpec = new NewMountpointSpec("Shared Calendar");
mpSpec.setFlags("#");
mpSpec.setRemoteId(Mailbox.ID_FOLDER_CALENDAR);
mpSpec.setColor((byte) 4);
mpSpec.setOwnerId(attendee.getId());
mpSpec.setFolderId(Integer.valueOf(Mailbox.ID_FOLDER_USER_ROOT).toString());
mpSpec.setDefaultView(MailItem.Type.APPOINTMENT.toString());
CreateMountpointRequest createMpReq = new CreateMountpointRequest(mpSpec);
CreateMountpointResponse createMpResp = mboxDelegate.invokeJaxb(createMpReq);
assertNotNull("null ModifyPrefs Response for forwarding calendar invites", createMpResp);
TestUtil.createAppointment(mboxOrganizer, subject, attendee.getName(), startDate, endDate);
ZMessage inviteMsg = TestUtil.waitForMessage(mboxDelegate, "in:inbox " + subject);
assertNotNull("null inviteMsg in delegate inbox", inviteMsg);
MsgSpec msgSpec = new MsgSpec(inviteMsg.getId());
msgSpec.setWantHtml(true);
msgSpec.setNeedCanExpand(true);
msgSpec.setMaxInlinedLength(250000);
GetMsgRequest getMsgReq = new GetMsgRequest(msgSpec);
GetMsgResponse getMsgResp = mboxDelegate.invokeJaxb(getMsgReq);
assertNotNull("null GetMsgResponse in delegate inbox", getMsgResp);
MsgWithGroupInfo msg = getMsgResp.getMsg();
assertNotNull("null message in GetMsgResponse in delegate inbox", msg);
InviteWithGroupInfo invite = msg.getInvite();
assertNotNull("null invite in message in GetMsgResponse in delegate inbox regression to Bug 86864?", invite);
}
Aggregations