Search in sources :

Example 1 with ContactSpec

use of com.zimbra.soap.mail.type.ContactSpec in project zm-mailbox by Zimbra.

the class TestContactGroup method createAndGetContactGroup.

@Test
@Bug(bug = 70558)
public void createAndGetContactGroup() throws Exception {
    SoapTransport transport = authUser(acct.getName());
    /*
         * search gal to get ref of the member account in GAL
         */
    SearchGalRequest searchGalReq = new SearchGalRequest();
    searchGalReq.setName(memberAcct.getName());
    SearchGalResponse searchGalResp = invokeJaxb(transport, searchGalReq);
    List<ContactInfo> entries = searchGalResp.getContacts();
    assertEquals(1, entries.size());
    ContactInfo galEntry = entries.get(0);
    String galMemberRef = galEntry.getReference();
    /*
         * create a contact group
         */
    NewContactGroupMember contactGroupMemer = NewContactGroupMember.createForTypeAndValue(ContactGroup.Member.Type.GAL_REF.getSoapEncoded(), galMemberRef);
    NewContactAttr contactAttr = new NewContactAttr(ContactConstants.A_type);
    contactAttr.setValue(ContactConstants.TYPE_GROUP);
    ContactSpec contactSpec = new ContactSpec();
    contactSpec.addAttr(contactAttr);
    contactSpec.addContactGroupMember(contactGroupMemer);
    CreateContactRequest createContactReq = new CreateContactRequest(contactSpec);
    CreateContactResponse createContactResp = invokeJaxb(transport, createContactReq);
    String contactGroupId = createContactResp.getContact().getId();
    /*
         * get the contact group, derefed
         */
    GetContactsRequest getContactsReq = new GetContactsRequest();
    getContactsReq.addContact(new Id(contactGroupId));
    getContactsReq.setDerefGroupMember(Boolean.TRUE);
    GetContactsResponse getContactsResp = invokeJaxb(transport, getContactsReq, SoapProtocol.SoapJS);
    List<com.zimbra.soap.mail.type.ContactInfo> contacts = getContactsResp.getContacts();
    assertEquals(1, contacts.size());
    com.zimbra.soap.mail.type.ContactInfo contact = contacts.get(0);
    List<ContactGroupMember> members = contact.getContactGroupMembers();
    assertEquals(1, members.size());
    ContactGroupMember member = members.get(0);
    String memberType = member.getType();
    String memberValue = member.getValue();
    assertEquals(ContactGroup.Member.Type.GAL_REF.getSoapEncoded(), memberType);
    assertEquals(galMemberRef, memberValue);
}
Also used : ContactSpec(com.zimbra.soap.mail.type.ContactSpec) ContactGroupMember(com.zimbra.soap.mail.type.ContactGroupMember) NewContactGroupMember(com.zimbra.soap.mail.type.NewContactGroupMember) SearchGalResponse(com.zimbra.soap.account.message.SearchGalResponse) CreateContactResponse(com.zimbra.soap.mail.message.CreateContactResponse) SearchGalRequest(com.zimbra.soap.account.message.SearchGalRequest) CreateContactRequest(com.zimbra.soap.mail.message.CreateContactRequest) GetContactsResponse(com.zimbra.soap.mail.message.GetContactsResponse) GetContactsRequest(com.zimbra.soap.mail.message.GetContactsRequest) NewContactAttr(com.zimbra.soap.mail.type.NewContactAttr) ContactInfo(com.zimbra.soap.account.type.ContactInfo) NewContactGroupMember(com.zimbra.soap.mail.type.NewContactGroupMember) Id(com.zimbra.soap.type.Id) SoapTransport(com.zimbra.common.soap.SoapTransport) Test(org.junit.Test) Bug(com.zimbra.qa.QA.Bug)

Aggregations

SoapTransport (com.zimbra.common.soap.SoapTransport)1 Bug (com.zimbra.qa.QA.Bug)1 SearchGalRequest (com.zimbra.soap.account.message.SearchGalRequest)1 SearchGalResponse (com.zimbra.soap.account.message.SearchGalResponse)1 ContactInfo (com.zimbra.soap.account.type.ContactInfo)1 CreateContactRequest (com.zimbra.soap.mail.message.CreateContactRequest)1 CreateContactResponse (com.zimbra.soap.mail.message.CreateContactResponse)1 GetContactsRequest (com.zimbra.soap.mail.message.GetContactsRequest)1 GetContactsResponse (com.zimbra.soap.mail.message.GetContactsResponse)1 ContactGroupMember (com.zimbra.soap.mail.type.ContactGroupMember)1 ContactSpec (com.zimbra.soap.mail.type.ContactSpec)1 NewContactAttr (com.zimbra.soap.mail.type.NewContactAttr)1 NewContactGroupMember (com.zimbra.soap.mail.type.NewContactGroupMember)1 Id (com.zimbra.soap.type.Id)1 Test (org.junit.Test)1