use of io.joynr.provider.Promise in project joynr by bmwcarit.
the class ProviderWrapperTest method testInvokeMethodNoArgs.
@Test
public void testInvokeMethodNoArgs() throws Throwable {
ProviderWrapper subject = createSubject();
JoynrProvider proxy = createProxy(subject);
Method method = TestServiceProviderInterface.class.getMethod("testServiceMethodNoArgs");
Object result = subject.invoke(proxy, method, new Object[0]);
assertTrue(result instanceof Promise);
assertPromiseEquals(result, "test");
}
use of io.joynr.provider.Promise in project joynr by bmwcarit.
the class ProviderWrapperTest method testInvokeMethodThrowingProviderRuntimeException.
@Test
public void testInvokeMethodThrowingProviderRuntimeException() throws Throwable {
ProviderWrapper subject = createSubject();
JoynrProvider proxy = createProxy(subject);
Method method = TestServiceProviderInterface.class.getMethod("testThrowsProviderRuntimeException");
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 ProviderRuntimeException);
}
});
}
use of io.joynr.provider.Promise 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.Promise 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.Promise in project joynr by bmwcarit.
the class ProviderWrapperTest method testInvokeVoidReturnMethod.
@Test
public void testInvokeVoidReturnMethod() throws Throwable {
ProviderWrapper subject = createSubject();
JoynrProvider proxy = createProxy(subject);
Method method = TestServiceProviderInterface.class.getMethod("testServiceMethodVoidReturn");
Object result = subject.invoke(proxy, method, new Object[0]);
assertTrue(result instanceof Promise);
}
Aggregations