Search in sources :

Example 1 with GetInfoRequest

use of com.zimbra.soap.account.message.GetInfoRequest in project zm-mailbox by Zimbra.

the class ModifyProfileImageTest method testZCS3545.

@Test
public void testZCS3545() throws Exception {
    Account acct = Provisioning.getInstance().getAccountByName("testZCS3545@zimbra.com");
    InputStream is = getClass().getResourceAsStream("img.jpg");
    FileUploadServlet.Upload up = FileUploadServlet.saveUpload(is, "img.jpg", "image/jpeg", acct.getId());
    PowerMockito.stub(PowerMockito.method(MimeDetect.class, "detect", InputStream.class)).toReturn("image/jpeg");
    byte[] bytes = IOUtils.toByteArray(up.getInputStream());
    PowerMockito.stub(PowerMockito.method(NativeFormatter.class, "getResizedImageData", InputStream.class, String.class, String.class, Integer.class, Integer.class)).toReturn(bytes);
    ModifyProfileImageRequest requestJaxb = new ModifyProfileImageRequest();
    requestJaxb.setUploadId(up.getId());
    Element request = JaxbUtil.jaxbToElement(requestJaxb);
    Element response = new ModifyProfileImage().handle(request, ServiceTestUtil.getRequestContext(acct));
    ModifyProfileImageResponse responseJaxb = JaxbUtil.elementToJaxb(response);
    int profileItemId = responseJaxb.getItemId();
    GetInfoRequest getRequestJaxb = new GetInfoRequest();
    getRequestJaxb.setSections("mbox");
    Element getRequest = JaxbUtil.jaxbToElement(getRequestJaxb);
    Element getResponse = new GetInfo().handle(getRequest, ServiceTestUtil.getRequestContext(acct));
    GetInfoResponse getResponseJaxb = JaxbUtil.elementToJaxb(getResponse);
    Assert.assertEquals(profileItemId, getResponseJaxb.getProfileImageId());
    Map<String, Object> attrMap = acct.getAttrs(false, false);
    String ldapThumbnailImageData = "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";
    Assert.assertEquals(ldapThumbnailImageData, attrMap.get(ZAttrProvisioning.A_thumbnailPhoto));
}
Also used : Account(com.zimbra.cs.account.Account) GetInfoResponse(com.zimbra.soap.account.message.GetInfoResponse) InputStream(java.io.InputStream) Element(com.zimbra.common.soap.Element) ModifyProfileImageResponse(com.zimbra.soap.mail.message.ModifyProfileImageResponse) GetInfoRequest(com.zimbra.soap.account.message.GetInfoRequest) FileUploadServlet(com.zimbra.cs.service.FileUploadServlet) GetInfo(com.zimbra.cs.service.account.GetInfo) ModifyProfileImageRequest(com.zimbra.soap.mail.message.ModifyProfileImageRequest) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 2 with GetInfoRequest

use of com.zimbra.soap.account.message.GetInfoRequest in project zm-mailbox by Zimbra.

the class ModifyProfileImageTest method testZCS3871.

@Test
public void testZCS3871() throws Exception {
    Account acct = Provisioning.getInstance().getAccountByName("testZCS3871@zimbra.com");
    InputStream is = getClass().getResourceAsStream("img.jpg");
    FileUploadServlet.Upload up = FileUploadServlet.saveUpload(is, "img.jpg", "image/jpeg", acct.getId());
    PowerMockito.stub(PowerMockito.method(MimeDetect.class, "detect", InputStream.class)).toReturn("image/jpeg");
    byte[] bytes = IOUtils.toByteArray(up.getInputStream());
    PowerMockito.stub(PowerMockito.method(NativeFormatter.class, "getResizedImageData", InputStream.class, String.class, String.class, Integer.class, Integer.class)).toReturn(bytes);
    // Upload an profile image first
    ModifyProfileImageRequest requestJaxb = new ModifyProfileImageRequest();
    requestJaxb.setUploadId(up.getId());
    Element request = JaxbUtil.jaxbToElement(requestJaxb);
    Element response = new ModifyProfileImage().handle(request, ServiceTestUtil.getRequestContext(acct));
    ModifyProfileImageResponse responseJaxb = JaxbUtil.elementToJaxb(response);
    int profileItemId = responseJaxb.getItemId();
    GetInfoRequest getRequestJaxb = new GetInfoRequest();
    getRequestJaxb.setSections("mbox");
    Element getRequest = JaxbUtil.jaxbToElement(getRequestJaxb);
    Element getResponse = new GetInfo().handle(getRequest, ServiceTestUtil.getRequestContext(acct));
    GetInfoResponse getResponseJaxb = JaxbUtil.elementToJaxb(getResponse);
    Assert.assertEquals(profileItemId, getResponseJaxb.getProfileImageId());
    Map<String, Object> attrMap = acct.getAttrs(false, false);
    String ldapThumbnailImageData = "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";
    Assert.assertEquals(ldapThumbnailImageData, attrMap.get(ZAttrProvisioning.A_thumbnailPhoto));
    // remove the uploaded image now
    ModifyProfileImageRequest requestJaxb1 = new ModifyProfileImageRequest();
    Element request1 = JaxbUtil.jaxbToElement(requestJaxb1);
    new ModifyProfileImage().handle(request1, ServiceTestUtil.getRequestContext(acct));
    GetInfoRequest getRequestJaxb1 = new GetInfoRequest();
    getRequestJaxb1.setSections("mbox");
    Element getRequest1 = JaxbUtil.jaxbToElement(getRequestJaxb1);
    Element getResponse1 = new GetInfo().handle(getRequest1, ServiceTestUtil.getRequestContext(acct));
    // check that the profile image information is not present in GetInfo as well as LDAP
    Assert.assertEquals(false, getResponse1.prettyPrint().contains("profileImageId"));
    Map<String, Object> attrMap1 = acct.getAttrs(false, false);
    Assert.assertEquals(null, attrMap1.get(ZAttrProvisioning.A_thumbnailPhoto));
}
Also used : Account(com.zimbra.cs.account.Account) GetInfoResponse(com.zimbra.soap.account.message.GetInfoResponse) InputStream(java.io.InputStream) Element(com.zimbra.common.soap.Element) ModifyProfileImageResponse(com.zimbra.soap.mail.message.ModifyProfileImageResponse) GetInfoRequest(com.zimbra.soap.account.message.GetInfoRequest) FileUploadServlet(com.zimbra.cs.service.FileUploadServlet) GetInfo(com.zimbra.cs.service.account.GetInfo) ModifyProfileImageRequest(com.zimbra.soap.mail.message.ModifyProfileImageRequest) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 3 with GetInfoRequest

use of com.zimbra.soap.account.message.GetInfoRequest in project zm-mailbox by Zimbra.

the class TestCookieReuse method testForgedNonCSRFPost.

/**
 * Verify that we CANNOT make an POST request with a non-CSRF-enabled auth token if the auth token
 * has an associated CSRF token
 */
@Test
public void testForgedNonCSRFPost() throws Exception {
    AuthToken at = AuthProvider.getAuthToken(TestUtil.getAccount(USER_NAME));
    at.setCsrfTokenEnabled(false);
    CsrfUtil.generateCsrfToken(at.getAccountId(), at.getExpires(), new Random().nextInt() + 1, at);
    SoapHttpTransport transport = new SoapHttpTransport(TestUtil.getSoapUrl());
    transport.setAuthToken(at.getEncoded());
    GetInfoRequest request = new GetInfoRequest();
    try {
        transport.invoke(JaxbUtil.jaxbToElement(request));
    } catch (ServiceException e) {
        Assert.assertEquals("should be catching AUTH EXPIRED here", ServiceException.AUTH_REQUIRED, e.getCode());
        return;
    }
    Assert.fail("should have caught an exception");
}
Also used : Random(java.util.Random) ServiceException(com.zimbra.common.service.ServiceException) AuthToken(com.zimbra.cs.account.AuthToken) ZAuthToken(com.zimbra.common.auth.ZAuthToken) ZimbraAuthToken(com.zimbra.cs.account.ZimbraAuthToken) SoapHttpTransport(com.zimbra.common.soap.SoapHttpTransport) GetInfoRequest(com.zimbra.soap.account.message.GetInfoRequest) Test(org.junit.Test)

Example 4 with GetInfoRequest

use of com.zimbra.soap.account.message.GetInfoRequest in project zm-mailbox by Zimbra.

the class TestGetInfo method discoverRights.

@Test
public void discoverRights() throws Exception {
    Account acct = provUtil.createAccount(genAcctNameLocalPart(), domain);
    Group group = provUtil.createGroup(genGroupNameLocalPart(), domain, false);
    prov.grantRight(TargetType.domain.getCode(), TargetBy.name, domain.getName(), GranteeType.GT_USER.getCode(), GranteeBy.name, acct.getName(), null, User.R_createDistList.getName(), null);
    prov.grantRight(TargetType.dl.getCode(), TargetBy.name, group.getName(), GranteeType.GT_USER.getCode(), GranteeBy.name, acct.getName(), null, User.R_sendToDistList.getName(), null);
    SoapTransport transport = authUser(acct.getName());
    GetInfoRequest req = new GetInfoRequest();
    req.addRight(User.R_createDistList.getName());
    req.addRight(User.R_sendToDistList.getName());
    GetInfoResponse resp = invokeJaxb(transport, req);
    List<DiscoverRightsInfo> rightsInfo = resp.getDiscoveredRights();
    Set<String> result = Sets.newHashSet();
    for (DiscoverRightsInfo rightInfo : rightsInfo) {
        String right = rightInfo.getRight();
        List<DiscoverRightsTarget> targets = rightInfo.getTargets();
        for (DiscoverRightsTarget target : targets) {
            String id = target.getId();
            String name = target.getName();
            String type = target.getType().toString();
            result.add(Verify.makeResultStr(right, id, name, type));
        }
    }
    Verify.verifyEquals(Sets.newHashSet(Verify.makeResultStr(User.R_createDistList.getName(), domain.getId(), domain.getName(), TargetType.domain.getCode()), Verify.makeResultStr(User.R_sendToDistList.getName(), group.getId(), group.getName(), TargetType.dl.getCode())), result);
}
Also used : Account(com.zimbra.cs.account.Account) Group(com.zimbra.cs.account.Group) GetInfoResponse(com.zimbra.soap.account.message.GetInfoResponse) DiscoverRightsInfo(com.zimbra.soap.account.type.DiscoverRightsInfo) DiscoverRightsTarget(com.zimbra.soap.account.type.DiscoverRightsTarget) GetInfoRequest(com.zimbra.soap.account.message.GetInfoRequest) SoapTransport(com.zimbra.common.soap.SoapTransport) Test(org.junit.Test)

Example 5 with GetInfoRequest

use of com.zimbra.soap.account.message.GetInfoRequest in project zm-mailbox by Zimbra.

the class TestAuth method accountStatusMaintenanceAfterAuth.

@Test
public void accountStatusMaintenanceAfterAuth() throws Exception {
    Account acct = provUtil.createAccount(genAcctNameLocalPart(), domain);
    SoapTransport transport = authUser(acct.getName());
    /*
         * change account status to maintenance
         */
    prov.modifyAccountStatus(acct, AccountStatus.maintenance.name());
    GetInfoRequest req = new GetInfoRequest();
    String errorCode = null;
    try {
        GetInfoResponse resp = invokeJaxb(transport, req);
    } catch (SoapFaultException e) {
        errorCode = e.getCode();
    }
    assertEquals(AccountServiceException.AUTH_EXPIRED, errorCode);
    provUtil.deleteAccount(acct);
}
Also used : Account(com.zimbra.cs.account.Account) GetInfoResponse(com.zimbra.soap.account.message.GetInfoResponse) GetInfoRequest(com.zimbra.soap.account.message.GetInfoRequest) SoapTransport(com.zimbra.common.soap.SoapTransport) SoapFaultException(com.zimbra.common.soap.SoapFaultException) Test(org.junit.Test)

Aggregations

GetInfoRequest (com.zimbra.soap.account.message.GetInfoRequest)6 GetInfoResponse (com.zimbra.soap.account.message.GetInfoResponse)5 Test (org.junit.Test)5 Account (com.zimbra.cs.account.Account)4 Element (com.zimbra.common.soap.Element)2 SoapTransport (com.zimbra.common.soap.SoapTransport)2 FileUploadServlet (com.zimbra.cs.service.FileUploadServlet)2 GetInfo (com.zimbra.cs.service.account.GetInfo)2 ModifyProfileImageRequest (com.zimbra.soap.mail.message.ModifyProfileImageRequest)2 ModifyProfileImageResponse (com.zimbra.soap.mail.message.ModifyProfileImageResponse)2 InputStream (java.io.InputStream)2 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)2 ZAuthToken (com.zimbra.common.auth.ZAuthToken)1 ServiceException (com.zimbra.common.service.ServiceException)1 SoapFaultException (com.zimbra.common.soap.SoapFaultException)1 SoapHttpTransport (com.zimbra.common.soap.SoapHttpTransport)1 AuthToken (com.zimbra.cs.account.AuthToken)1 Group (com.zimbra.cs.account.Group)1 ZimbraAuthToken (com.zimbra.cs.account.ZimbraAuthToken)1 DiscoverRightsInfo (com.zimbra.soap.account.type.DiscoverRightsInfo)1