use of io.joynr.provider.PromiseListener in project joynr by bmwcarit.
the class ProviderWrapperTest method assertPromiseEquals.
private void assertPromiseEquals(Object result, Object value) {
assertTrue(((Promise<?>) result).isFulfilled());
Boolean[] ensureFulfilled = new Boolean[] { false };
((Promise<?>) result).then(new PromiseListener() {
@Override
public void onRejection(JoynrException error) {
Assert.fail();
}
@Override
public void onFulfillment(Object... values) {
assertEquals(value, values[0]);
ensureFulfilled[0] = true;
}
});
assertTrue(ensureFulfilled[0]);
}
use of io.joynr.provider.PromiseListener in project joynr by bmwcarit.
the class ProviderWrapperTest method testInvokeMethodThrowingApplicationException.
@Test
public void testInvokeMethodThrowingApplicationException() throws Throwable {
ProviderWrapper subject = createSubject();
JoynrProvider proxy = createProxy(subject);
Method method = TestServiceProviderInterface.class.getMethod("testThrowsApplicationException");
Object result = subject.invoke(proxy, method, new Object[0]);
assertNotNull(result);
assertTrue(result instanceof Promise);
assertTrue(((Promise<?>) result).isRejected());
((Promise<?>) result).then(new PromiseListener() {
@Override
public void onFulfillment(Object... values) {
fail("Should never get here");
}
@Override
public void onRejection(JoynrException error) {
assertTrue(error instanceof ApplicationException);
}
});
}
use of io.joynr.provider.PromiseListener in project joynr by bmwcarit.
the class LocalCapabilitiesDirectoryTest method addGlobalCapFails_NextAddShallAddGlobalAgain.
@SuppressWarnings("unchecked")
@Test(timeout = 1000)
public void addGlobalCapFails_NextAddShallAddGlobalAgain() throws InterruptedException {
ProviderQos providerQos = new ProviderQos();
providerQos.setScope(ProviderScope.GLOBAL);
String participantId = LocalCapabilitiesDirectoryTest.class.getName() + ".addLocalAndThanGlobalShallWork";
String domain = "testDomain";
final DiscoveryEntry discoveryEntry = new DiscoveryEntry(new Version(47, 11), domain, TestInterface.INTERFACE_NAME, participantId, providerQos, System.currentTimeMillis(), expiryDateMs, publicKeyId);
globalDiscoveryEntry = new GlobalDiscoveryEntry(new Version(47, 11), domain, TestInterface.INTERFACE_NAME, participantId, providerQos, System.currentTimeMillis(), expiryDateMs, publicKeyId, channelAddressSerialized);
Mockito.doAnswer(createAddAnswerWithError()).when(globalCapabilitiesClient).add(any(Callback.class), eq(globalDiscoveryEntry));
Promise<DeferredVoid> promise = localCapabilitiesDirectory.add(discoveryEntry);
promise.then(new PromiseListener() {
@Override
public void onFulfillment(Object... values) {
verify(globalDiscoveryEntryCacheMock, never()).add(eq(globalDiscoveryEntry));
verify(globalCapabilitiesClient).add(any(Callback.class), eq(globalDiscoveryEntry));
reset(globalCapabilitiesClient);
localCapabilitiesDirectory.add(discoveryEntry);
verify(globalCapabilitiesClient, timeout(200)).add(any(Callback.class), eq(globalDiscoveryEntry));
}
@Override
public void onRejection(JoynrException error) {
}
});
}
Aggregations