package org.societies.android.platform.comms.helper.test;
import java.util.Arrays;
import java.util.List;
import org.jivesoftware.smack.packet.Message;
import org.societies.android.api.comms.IMethodCallback;
import org.societies.android.api.comms.xmpp.CommunicationException;
import org.societies.android.api.comms.xmpp.ICommCallback;
import org.societies.android.api.comms.xmpp.Stanza;
import org.societies.android.api.comms.xmpp.XMPPError;
import org.societies.android.api.comms.xmpp.XMPPInfo;
import org.societies.android.platform.comms.helper.ClientCommunicationMgr;
import org.societies.api.identity.IIdentityManager;
import org.societies.api.identity.InvalidFormatException;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.MediumTest;
import android.util.Log;
/**
* In order to run the tests contained in this class ensure that the following steps are taken:
*
* 1. An Openfire XMPP server must be running
* 2. A suitable AVD must be running
* 3. The AVD must be configured so that the XMPP_DOMAIN value is valid and the user XMPP_IDENTIFIER exists
* 4. The user XMPP_NEW_IDENTIFIER must be removed prior to running the tests as the destroyMainIdentity
* method is not currently functioning.
* 5. The Societies Android Comms apk must be installed
* 6. Ensure that Android Profiling is not being used, i.e. comment out Debug calls
*
*/
public class TestAndroidCommsHelper extends AndroidTestCase {
private final static String LOG_TAG = TestAndroidCommsHelper.class.getName();
private static final int DELAY = 15000;
private final List<String> ELEMENT_NAMES = Arrays.asList("cssManagerMessageBean", "cssManagerResultBean");
private final List<String> NAME_SPACES = Arrays.asList("http://societies.org/api/schema/cssmanagement");
private static final List<String> CSS_PACKAGES = Arrays.asList("org.societies.api.schema.cssmanagement");
//Modify these constants to suit local XMPP server
private static final String XMPP_DOMAIN = "societies.bespoke";
private static final String XMPP_DOMAIN_NODE = "danode";
private static final String XMPP_IDENTIFIER = "alan";
private static final String XMPP_PASSWORD = "midge";
private static final String XMPP_BAD_IDENTIFIER = "godzilla";
private static final String XMPP_BAD_PASSWORD = "smog";
private static final String XMPP_NEW_IDENTIFIER = "gollum";
private static final String XMPP_NEW_PASSWORD = "precious";
private static final String XMPP_RESOURCE = "GalaxyNexus";
private static final String XMPP_SUCCESSFUL_JID = XMPP_IDENTIFIER + "@" + XMPP_DOMAIN + "/" + XMPP_RESOURCE;
private static final String XMPP_SUCCESSFUL_CLOUD_NODE = XMPP_IDENTIFIER + "." + XMPP_DOMAIN;
private static final String XMPP_SUCCESSFUL_DA_NODE = XMPP_DOMAIN_NODE + "." + XMPP_DOMAIN;
private static final String XMPP_NEW_JID = XMPP_NEW_IDENTIFIER + "@" + XMPP_DOMAIN + "/" + XMPP_RESOURCE;
private static final int XMPP_PORT = 5222;
private static final String XMPP_DOMAIN_AUTHORITY = "danode." + XMPP_DOMAIN;
private static final String SIMPLE_XML_MESSAGE = "<iq from='romeo@montague.net/orchard to='juliet@capulet.com/balcony'> " +
"<query xmlns='http://jabber.org/protocol/disco#info'/></iq>";
private boolean testCompleted;
protected void setUp() throws Exception {
super.setUp();
Log.d(LOG_TAG, "Test setup");
}
protected void tearDown() throws Exception {
Log.d(LOG_TAG, "Test teardown");
super.tearDown();
}
@MediumTest
public void testConstructorLogin() throws Exception {
this.testCompleted = false;
final ClientCommunicationMgr ccm = new ClientCommunicationMgr(this.getContext(), false);
assertNotNull(ccm);
ccm.bindCommsService(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
assertTrue(ccm.unbindCommsService());
TestAndroidCommsHelper.this.testCompleted = true;
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
Thread.sleep(DELAY);
assertTrue(this.testCompleted);
}
@MediumTest
public void testIsConnected() throws Exception {
this.testCompleted = false;
final ClientCommunicationMgr ccm = new ClientCommunicationMgr(this.getContext(), false);
assertNotNull(ccm);
ccm.bindCommsService(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
assertTrue(null != ccm);
ccm.isConnected(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertFalse(flag);
assertTrue(ccm.unbindCommsService());
TestAndroidCommsHelper.this.testCompleted = true;
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
Thread.sleep(DELAY);
assertTrue(this.testCompleted);
}
@MediumTest
public void testBadUserLogin() throws Exception {
this.testCompleted = false;
final ClientCommunicationMgr ccm = new ClientCommunicationMgr(this.getContext(), false);
assertTrue(null != ccm);
ccm.bindCommsService(new IMethodCallback() {
@Override
public void returnException(String arg0) {
fail("Incorrect return object");
}
@Override
public void returnAction(boolean flag) {
assertTrue(flag);
ccm.isConnected(new IMethodCallback() {
@Override
public void returnException(String arg0) {
fail("Incorrect return object");
}
@Override
public void returnAction(String arg0) {
fail("Incorrect return object");
}
@Override
public void returnAction(boolean flag) {
assertFalse(flag);
ccm.configureAgent(XMPP_DOMAIN_AUTHORITY, XMPP_PORT, XMPP_RESOURCE, false, new IMethodCallback() {
@Override
public void returnException(String arg0) {
fail("Incorrect return object");
}
@Override
public void returnAction(String arg0) {
fail("Incorrect return object");
}
@Override
public void returnAction(boolean flag) {
assertTrue(flag);
ccm.login(XMPP_BAD_IDENTIFIER, XMPP_DOMAIN, XMPP_PASSWORD, new IMethodCallback() {
@Override
public void returnException(String exception) {
assertNotNull(exception);
assertTrue(ccm.unbindCommsService());
TestAndroidCommsHelper.this.testCompleted = true;
}
@Override
public void returnAction(String arg0) {
fail("Incorrect return object");
}
@Override
public void returnAction(boolean arg0) {
fail("Incorrect return object");
}
});
}
});
}
});
}
@Override
public void returnAction(String arg0) {
fail("Incorrect return object");
}
});
Thread.sleep(DELAY);
assertTrue(this.testCompleted);
}
@MediumTest
/**
* Test for the case where the class is used by a component which does not login (assumes that another component has logged in)
* @throws Exception
*/
public void testNoLogin() throws Exception {
this.testCompleted = false;
final ClientCommunicationMgr ccm = new ClientCommunicationMgr(this.getContext(), false);
final ClientCommunicationMgr ccmOther = new ClientCommunicationMgr(this.getContext(), true);
assertNotNull(ccm);
assertNotNull(ccmOther);
ccm.bindCommsService(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
ccm.isConnected(new IMethodCallback() {
public void returnAction(String arg0) {
}
public void returnAction(boolean flag) {
assertFalse(flag);
ccm.configureAgent(XMPP_DOMAIN_AUTHORITY, XMPP_PORT, XMPP_RESOURCE, false, new IMethodCallback() {
public void returnAction(String arg0) {
}
public void returnAction(boolean flag) {
assertTrue(flag);
ccm.login(XMPP_IDENTIFIER, XMPP_DOMAIN, XMPP_PASSWORD, new IMethodCallback() {
public void returnAction(String loginResult) {
assertEquals(XMPP_SUCCESSFUL_JID, loginResult);
ccmOther.bindCommsService(new IMethodCallback() {
public void returnAction(String arg0) {
}
public void returnAction(boolean flag) {
try {
assertEquals(XMPP_SUCCESSFUL_JID, ccmOther.getIdentity().getJid());
IIdentityManager idManager = ccmOther.getIdManager();
assertNotNull(idManager);
assertEquals(XMPP_SUCCESSFUL_CLOUD_NODE, idManager.getCloudNode().getJid());
assertEquals(XMPP_SUCCESSFUL_DA_NODE, idManager.getDomainAuthorityNode().getJid());
ccm.logout(new IMethodCallback() {
public void returnAction(String arg0) {
}
public void returnAction(boolean flag) {
assertTrue(flag);
assertTrue(ccm.unbindCommsService());
assertTrue(ccmOther.unbindCommsService());
TestAndroidCommsHelper.this.testCompleted = true;
}
@Override
public void returnException(
String arg0) {
// TODO Auto-generated method stub
}
});
} catch (Exception e) {
e.printStackTrace();
fail();
}
}
@Override
public void returnException(
String arg0) {
// TODO Auto-generated method stub
}
});
}
public void returnAction(boolean loginResult) {
fail();
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
Thread.sleep(DELAY);
assertTrue(this.testCompleted);
}
// @MediumTest
/**
* Test for the case where the class is used by a component which does not login (assumes that another component has logged in)
* and tries to retrieve Items
* @throws Exception
*/
public void testGetItems() throws Exception {
this.testCompleted = false;
final ClientCommunicationMgr ccm = new ClientCommunicationMgr(this.getContext(), false);
final ClientCommunicationMgr ccmOther = new ClientCommunicationMgr(this.getContext(), true);
assertNotNull(ccm);
assertNotNull(ccmOther);
ccm.bindCommsService(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
ccm.isConnected(new IMethodCallback() {
public void returnAction(String arg0) {
}
public void returnAction(boolean flag) {
assertFalse(flag);
ccm.configureAgent(XMPP_DOMAIN_AUTHORITY, XMPP_PORT, XMPP_RESOURCE, false, new IMethodCallback() {
public void returnAction(String arg0) {
}
public void returnAction(boolean flag) {
assertTrue(flag);
ccm.login(XMPP_IDENTIFIER, XMPP_DOMAIN, XMPP_PASSWORD, new IMethodCallback() {
public void returnAction(String loginResult) {
assertEquals(XMPP_SUCCESSFUL_JID, loginResult);
ccmOther.bindCommsService(new IMethodCallback() {
public void returnAction(String arg0) {
}
public void returnAction(boolean flag) {
try {
assertEquals(XMPP_SUCCESSFUL_JID, ccmOther.getIdentity().getJid());
IIdentityManager idManager = ccmOther.getIdManager();
assertNotNull(idManager);
assertEquals(XMPP_SUCCESSFUL_CLOUD_NODE, idManager.getCloudNode().getJid());
assertEquals(XMPP_SUCCESSFUL_DA_NODE, idManager.getDomainAuthorityNode().getJid());
try {
ccm.getItems(idManager.fromJid(idManager.getDomainAuthorityNode().getJid()), null, new ICommCallback() {
public void receiveResult(Stanza arg0, Object result) {
assertTrue(result instanceof String);
Log.d(LOG_TAG, "Received result: " + result);
ccm.logout(new IMethodCallback() {
public void returnAction(String arg0) {
}
public void returnAction(boolean flag) {
assertTrue(flag);
assertTrue(ccm.unbindCommsService());
assertTrue(ccmOther.unbindCommsService());
TestAndroidCommsHelper.this.testCompleted = true;
}
@Override
public void returnException(
String arg0) {
// TODO Auto-generated method stub
}
});
}
public void receiveMessage(Stanza arg0, Object message) {
assertTrue(message instanceof String);
Log.d(LOG_TAG, "Received message: " + message);
ccm.logout(new IMethodCallback() {
public void returnAction(String arg0) {
}
public void returnAction(boolean flag) {
assertTrue(flag);
assertTrue(ccm.unbindCommsService());
assertTrue(ccmOther.unbindCommsService());
TestAndroidCommsHelper.this.testCompleted = true;
}
@Override
public void returnException(
String arg0) {
// TODO Auto-generated method stub
}
});
}
public void receiveItems(Stanza arg0, String arg1, List<String> arg2) {
// TODO Auto-generated method stub
}
public void receiveInfo(Stanza arg0, String arg1, XMPPInfo arg2) {
// TODO Auto-generated method stub
}
public void receiveError(Stanza arg0, XMPPError arg1) {
// TODO Auto-generated method stub
}
public List<String> getXMLNamespaces() {
// TODO Auto-generated method stub
return null;
}
public List<String> getJavaPackages() {
// TODO Auto-generated method stub
return null;
}
});
} catch (CommunicationException e) {
e.printStackTrace();
fail();
}
} catch (Exception e) {
e.printStackTrace();
fail();
}
}
@Override
public void returnException(
String arg0) {
// TODO Auto-generated method stub
}
});
}
public void returnAction(boolean loginResult) {
fail();
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
Thread.sleep(DELAY);
assertTrue(this.testCompleted);
}
@MediumTest
/**
* Tests the minimum amount of calls required to login and logout
*
* @throws Exception
*/
public void testLogin() throws Exception {
this.testCompleted = false;
final ClientCommunicationMgr ccm = new ClientCommunicationMgr(this.getContext(), false);
assertTrue(null != ccm);
ccm.bindCommsService(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
ccm.isConnected(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertFalse(flag);
ccm.configureAgent(XMPP_DOMAIN_AUTHORITY, XMPP_PORT, XMPP_RESOURCE, false, new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
ccm.login(XMPP_IDENTIFIER, XMPP_DOMAIN, XMPP_PASSWORD, new IMethodCallback() {
public void returnAction(String loginResult) {
assertEquals(XMPP_SUCCESSFUL_JID, loginResult);
ccm.logout(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
assertTrue(ccm.unbindCommsService());
TestAndroidCommsHelper.this.testCompleted = true;
}
@Override
public void returnException(
String arg0) {
// TODO Auto-generated method stub
}
});
}
public void returnAction(boolean arg0) {
fail("Incorrect return object");
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
Thread.sleep(DELAY);
assertTrue(this.testCompleted);
}
@MediumTest
public void testRegistration() throws Exception {
this.testCompleted = false;
final ClientCommunicationMgr ccm = new ClientCommunicationMgr(this.getContext(), false);
assertTrue(null != ccm);
ccm.bindCommsService(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
ccm.isConnected(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertFalse(flag);
ccm.configureAgent(XMPP_DOMAIN_AUTHORITY, XMPP_PORT, XMPP_RESOURCE, false, new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
ccm.login(XMPP_IDENTIFIER, XMPP_DOMAIN, XMPP_PASSWORD, new IMethodCallback() {
public void returnAction(String loginResult) {
assertEquals(XMPP_SUCCESSFUL_JID, loginResult);
ccm.register(ELEMENT_NAMES, NAME_SPACES, CSS_PACKAGES, new IMethodCallback() {
@Override
public void returnAction(String arg0) {
fail("Incorrect return object");
}
@Override
public void returnAction(boolean result) {
assertTrue(result);
if (result) {
ccm.unregister(ELEMENT_NAMES, NAME_SPACES, new IMethodCallback() {
@Override
public void returnAction(String arg0) {
fail("Incorrect return object");
}
@Override
public void returnAction(boolean result) {
assertTrue(result);
ccm.logout(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
ccm.UnRegisterCommManager(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean result) {
assertTrue(result);
assertTrue(ccm.unbindCommsService());
TestAndroidCommsHelper.this.testCompleted = true;
}
@Override
public void returnException(
String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(
String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(
String arg0) {
// TODO Auto-generated method stub
}
});
}
}
@Override
public void returnException(
String arg0) {
// TODO Auto-generated method stub
}
});
}
public void returnAction(boolean arg0) {
fail("Incorrect return object");
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
Thread.sleep(DELAY);
assertTrue(this.testCompleted);
}
@MediumTest
/**
* Tests getting the user identity
*
* @throws Exception
*/
public void testGetIdentity() throws Exception {
this.testCompleted = false;
final ClientCommunicationMgr ccm = new ClientCommunicationMgr(this.getContext(), false);
assertTrue(null != ccm);
ccm.bindCommsService(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
ccm.isConnected(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertFalse(flag);
ccm.configureAgent(XMPP_DOMAIN_AUTHORITY, XMPP_PORT, XMPP_RESOURCE, false, new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
ccm.login(XMPP_IDENTIFIER, XMPP_DOMAIN, XMPP_PASSWORD, new IMethodCallback() {
public void returnAction(String loginResult) {
assertEquals(XMPP_SUCCESSFUL_JID, loginResult);
try {
assertEquals(XMPP_SUCCESSFUL_JID, ccm.getIdentity().getJid());
IIdentityManager idManager = ccm.getIdManager();
assertNotNull(idManager);
assertEquals(XMPP_SUCCESSFUL_CLOUD_NODE, idManager.getCloudNode().getJid());
assertEquals(XMPP_SUCCESSFUL_DA_NODE, idManager.getDomainAuthorityNode().getJid());
} catch (InvalidFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
fail();
}
ccm.logout(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
assertTrue(ccm.unbindCommsService());
TestAndroidCommsHelper.this.testCompleted = true;
}
@Override
public void returnException(
String arg0) {
// TODO Auto-generated method stub
}
});
}
public void returnAction(boolean arg0) {
fail("Incorrect return object");
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
Thread.sleep(DELAY);
assertTrue(this.testCompleted);
}
@MediumTest
/**
* Send messages (fire and forget)
*
* @throws Exception
*/
public void testSendMessage() throws Exception {
this.testCompleted = false;
final ClientCommunicationMgr ccm = new ClientCommunicationMgr(this.getContext(), false);
assertTrue(null != ccm);
ccm.bindCommsService(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
ccm.isConnected(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertFalse(flag);
ccm.configureAgent(XMPP_DOMAIN_AUTHORITY, XMPP_PORT, XMPP_RESOURCE, false, new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
ccm.login(XMPP_IDENTIFIER, XMPP_DOMAIN, XMPP_PASSWORD, new IMethodCallback() {
public void returnAction(String loginResult) {
assertEquals(XMPP_SUCCESSFUL_JID, loginResult);
IIdentityManager idManager;
try {
idManager = ccm.getIdManager();
assertNotNull(idManager);
assertEquals(XMPP_SUCCESSFUL_CLOUD_NODE, idManager.getCloudNode().getJid());
ccm.sendMessage(new Stanza(idManager.getCloudNode()), "test");
ccm.sendMessage(new Stanza(idManager.getCloudNode()), Message.Type.normal, "test");
} catch (InvalidFormatException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (CommunicationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ccm.logout(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
assertTrue(ccm.unbindCommsService());
TestAndroidCommsHelper.this.testCompleted = true;
}
@Override
public void returnException(
String arg0) {
// TODO Auto-generated method stub
}
});
}
public void returnAction(boolean arg0) {
fail("Incorrect return object");
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
Thread.sleep(DELAY);
assertTrue(this.testCompleted);
}
@MediumTest
public void testNewIdentity() throws Exception {
this.testCompleted = false;
final ClientCommunicationMgr ccm = new ClientCommunicationMgr(this.getContext(), false);
assertTrue(null != ccm);
ccm.bindCommsService(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertTrue(flag);
ccm.isConnected(new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
assertFalse(flag);
ccm.configureAgent(XMPP_DOMAIN_AUTHORITY, XMPP_PORT, XMPP_RESOURCE, false, new IMethodCallback() {
public void returnAction(String arg0) {
fail("Incorrect return object");
}
public void returnAction(boolean flag) {
try {
ccm.newMainIdentity(XMPP_NEW_IDENTIFIER, XMPP_DOMAIN, XMPP_NEW_PASSWORD, new IMethodCallback() {
public void returnAction(String value) {
assertEquals(XMPP_NEW_JID, value);
assertTrue(ccm.unbindCommsService());
TestAndroidCommsHelper.this.testCompleted = true;
}
public void returnAction(boolean arg0) {
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
}, null);
} catch (XMPPError e) {
// TODO Auto-generated catch block
e.printStackTrace();
fail();
}
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void returnException(String arg0) {
// TODO Auto-generated method stub
}
});
Thread.sleep(DELAY);
assertTrue(this.testCompleted);
}
}