log.debug("running testLocalPushCallback()");
sessionId = new UID().toString();
sessionId = client.getSessionId();
MockInvokerCallbackHandler handler = new MockInvokerCallbackHandler(sessionId);
log.debug("client.getInvoker().getLocator()" + client.getInvoker().getLocator());
// simple invoke, should return bar
Object ret = makeInvocation("foo", "bar");
assertTrue("Result of testLocalPushCallback() invocation of foo.", "bar".equals(ret));
if("bar".equals(ret))
{
log.debug("PASS");
}
else
{
log.debug("FAILED - testLocalPushCallback1");
}
client.addListener(handler, locator);
// invoke which should cause callback
ret = makeInvocation("test", "test");
// allow time for callback
Thread.sleep(3000);
log.debug("done sleeping.");
int callbacksPerformed = handler.isCallbackReceived();
log.debug("callbacksPerformed after adding listener is " + callbacksPerformed);
assertTrue("Result of testLocalPushCallback() failed since did not get callback.",
(callbacksPerformed == 1));
if(callbacksPerformed == 1)
{
log.debug("PASS");
}
else
{
log.debug("FAILED - testLocalPushCallback2");
}
// Can now call direct on client
client.removeListener(handler);
// shouldn't get callback now since removed listener
ret = makeInvocation("test", "test");
// allow time for callback
Thread.sleep(2000);
log.debug("done sleeping.");
callbacksPerformed = handler.isCallbackReceived();
log.debug("callbackPerformed after removing listener is " + callbacksPerformed);
assertTrue("Result of testLocalPushCallback() failed since did get callback " +
"but have been removed as listener.",
(callbacksPerformed == 1));
if(callbacksPerformed == 1)