use of com.zimbra.common.soap.SoapHttpTransport in project zm-mailbox by Zimbra.
the class TestDeployZimlet method testAdminExtensionDelegatedAdmin.
@Test
public void testAdminExtensionDelegatedAdmin() throws Exception {
SoapHttpTransport transport = new SoapHttpTransport(TestUtil.getAdminSoapUrl());
com.zimbra.soap.admin.message.AuthRequest authReq = new com.zimbra.soap.admin.message.AuthRequest(delegatedAdmin.getName(), TestUtil.DEFAULT_PASSWORD);
authReq.setCsrfSupported(false);
Element response = transport.invoke(JaxbUtil.jaxbToElement(authReq, SoapProtocol.SoapJS.getFactory()));
com.zimbra.soap.admin.message.AuthResponse authResp = JaxbUtil.elementToJaxb(response);
String authToken = authResp.getAuthToken();
String aid = adminUpload(authToken, "adminextension.zip", "/opt/zimbra/unittest/zimlets/adminextension.zip");
assertNotNull("Attachment ID should not be null", aid);
AttachmentIdAttrib att = new AttachmentIdAttrib(aid);
transport.setAdmin(true);
transport.setAuthToken(authToken);
DeployZimletRequest deployReq = new DeployZimletRequest(AdminConstants.A_DEPLOYLOCAL, false, true, att);
Element req = JaxbUtil.jaxbToElement(deployReq);
try {
Element res = transport.invoke(req);
DeployZimletResponse deployResp = JaxbUtil.elementToJaxb(res);
fail("Should throw SoapFaultException. Instead received " + deployResp.toString());
} catch (SoapFaultException e) {
//expected
}
}
use of com.zimbra.common.soap.SoapHttpTransport in project zm-mailbox by Zimbra.
the class TestDeployZimlet method testUndeployBadName.
@Test
public void testUndeployBadName() throws Exception {
SoapHttpTransport transport = new SoapHttpTransport(TestUtil.getAdminSoapUrl());
com.zimbra.soap.admin.message.AuthRequest authReq = new com.zimbra.soap.admin.message.AuthRequest(LC.zimbra_ldap_user.value(), LC.zimbra_ldap_password.value());
authReq.setCsrfSupported(false);
Element response = transport.invoke(JaxbUtil.jaxbToElement(authReq, SoapProtocol.SoapJS.getFactory()));
com.zimbra.soap.admin.message.AuthResponse authResp = JaxbUtil.elementToJaxb(response);
String authToken = authResp.getAuthToken();
transport.setAdmin(true);
transport.setAuthToken(authToken);
UndeployZimletRequest undeployReq = new UndeployZimletRequest("../data/something", AdminConstants.A_DEPLOYALL);
Element req = JaxbUtil.jaxbToElement(undeployReq);
try {
Element res = transport.invoke(req);
UndeployZimletResponse undeployResp = JaxbUtil.elementToJaxb(res);
fail("Should throw SoapFaultException. Instead received " + undeployResp.toString());
} catch (SoapFaultException e) {
//expected
}
}
use of com.zimbra.common.soap.SoapHttpTransport in project zm-mailbox by Zimbra.
the class TestDeployZimlet method testInvalidAction.
@Test
public void testInvalidAction() throws Exception {
SoapHttpTransport transport = new SoapHttpTransport(TestUtil.getAdminSoapUrl());
com.zimbra.soap.admin.message.AuthRequest authReq = new com.zimbra.soap.admin.message.AuthRequest(LC.zimbra_ldap_user.value(), LC.zimbra_ldap_password.value());
authReq.setCsrfSupported(false);
Element response = transport.invoke(JaxbUtil.jaxbToElement(authReq, SoapProtocol.SoapJS.getFactory()));
com.zimbra.soap.admin.message.AuthResponse authResp = JaxbUtil.elementToJaxb(response);
String authToken = authResp.getAuthToken();
String aid = adminUpload(authToken, "com_zimbra_mailarchive.zip", "/opt/zimbra/zimlets/com_zimbra_mailarchive.zip");
assertNotNull("Attachment ID should not be null", aid);
AttachmentIdAttrib att = new AttachmentIdAttrib(aid);
transport.setAdmin(true);
transport.setAuthToken(authToken);
DeployZimletRequest deployReq = new DeployZimletRequest("invalidaction", false, true, att);
Element req = JaxbUtil.jaxbToElement(deployReq);
try {
Element res = transport.invoke(req);
JaxbUtil.elementToJaxb(res);
fail("Should throw SoapFaultException");
} catch (SoapFaultException e) {
//expected
}
}
use of com.zimbra.common.soap.SoapHttpTransport in project zm-mailbox by Zimbra.
the class TestUtil method getAdminSoapTransport.
/**
* Returns an authenticated transport for the <tt>zimbra</tt> account.
*/
public static SoapTransport getAdminSoapTransport(String adminName, String adminPassword) throws SoapFaultException, IOException, ServiceException {
SoapHttpTransport transport = new SoapHttpTransport(getAdminSoapUrl());
// Create auth element
Element auth = new XMLElement(AdminConstants.AUTH_REQUEST);
auth.addNonUniqueElement(AdminConstants.E_NAME).setText(adminName);
auth.addNonUniqueElement(AdminConstants.E_PASSWORD).setText(adminPassword);
// Authenticate and get auth token
Element response = transport.invoke(auth);
String authToken = response.getElement(AccountConstants.E_AUTH_TOKEN).getText();
transport.setAuthToken(authToken);
return transport;
}
Aggregations