use of com.tvd12.ezyhttp.client.callback.RequestCallback in project ezyhttp by youngmonkeys.
the class HttpClientProxyTest method executeJsonTest.
@Test
public void executeJsonTest() throws Exception {
// given
HttpClientProxy sut = newClientProxy();
GetRequest request = new GetRequest().setConnectTimeout(15000).setResponseType(TestResponse.class).setResponseType(StatusCodes.OK, TestResponse.class).setURL("http://127.0.0.1:18081/greet?who=Monkey");
// when
CountDownLatch countDownLatch = new CountDownLatch(1);
EzyWrap<TestResponse> wrap = new EzyWrap<>();
sut.execute(request, new RequestCallback<ResponseEntity>() {
@Override
public void onResponse(ResponseEntity response) {
wrap.setValue(response.getBody());
countDownLatch.countDown();
}
@Override
public void onException(Exception e) {
}
});
countDownLatch.await();
// then
TestResponse expectation = new TestResponse("Greet Monkey!");
Asserts.assertEquals(expectation, wrap.getValue());
sut.close();
sut.stop();
}
use of com.tvd12.ezyhttp.client.callback.RequestCallback in project ezyhttp by youngmonkeys.
the class HttpClientProxyTest method fireJsonButExceptionInCallbackTest.
@Test
public void fireJsonButExceptionInCallbackTest() throws Exception {
// given
HttpClientProxy sut = newClientProxy();
GetRequest request = new GetRequest().setConnectTimeout(15000).setResponseType(TestResponse.class).setResponseType(StatusCodes.OK, TestResponse.class).setURL("http://127.0.0.1:18081/greet?who=Monkey");
// when
CountDownLatch countDownLatch = new CountDownLatch(1);
EzyWrap<TestResponse> wrap = new EzyWrap<>();
sut.fire(request, new RequestCallback<TestResponse>() {
@Override
public void onResponse(TestResponse response) {
wrap.setValue(response);
countDownLatch.countDown();
throw new RuntimeException("just test");
}
@Override
public void onException(Exception e) {
}
});
countDownLatch.await();
Thread.sleep(100);
// then
TestResponse expectation = new TestResponse("Greet Monkey!");
Asserts.assertEquals(expectation, wrap.getValue());
sut.close();
sut.stop();
}
use of com.tvd12.ezyhttp.client.callback.RequestCallback in project ezyhttp by youngmonkeys.
the class HttpClientProxy method execute.
public void execute(Request request, RequestCallback<ResponseEntity> callback) {
EzyFuture future = new RequestFutureTask(callback);
futures.addFuture(request, future);
try {
addRequest(request);
} catch (Exception e) {
futures.removeFuture(request);
throw e;
}
}
use of com.tvd12.ezyhttp.client.callback.RequestCallback in project ezyhttp by youngmonkeys.
the class HttpClientProxyTest method fireExceptionTest.
@Test
public void fireExceptionTest() throws Exception {
// given
HttpClientProxy sut = newClientProxy();
GetRequest request = new GetRequest().setConnectTimeout(15000).setResponseType(String.class).setResponseType(StatusCodes.OK, String.class).setURL("http://unknow-host:18081/greet");
// when
CountDownLatch countDownLatch = new CountDownLatch(1);
EzyWrap<Exception> wrap = new EzyWrap<>();
sut.fire(request, new RequestCallback<String>() {
@Override
public void onResponse(String response) {
}
@Override
public void onException(Exception e) {
wrap.setValue(e);
countDownLatch.countDown();
}
});
countDownLatch.await();
// then
Asserts.assertEquals(BadRequestException.class, wrap.getValue().getClass());
sut.close();
sut.stop();
}
use of com.tvd12.ezyhttp.client.callback.RequestCallback in project ezyhttp by youngmonkeys.
the class HttpClientProxyTest method clientWasNotActiveAtExecute.
@Test
public void clientWasNotActiveAtExecute() {
// given
HttpClientProxy sut = HttpClientProxy.builder().build();
PostRequest request = new PostRequest().setConnectTimeout(15000).setEntity(String.class).setResponseType(TestResponse.class).setResponseType(StatusCodes.OK, TestResponse.class).setURL("http://127.0.0.1:18081/greet");
// when
Throwable e = Asserts.assertThrows(() -> sut.execute(request, new RequestCallback<ResponseEntity>() {
public void onException(Exception e) {
}
public void onResponse(ResponseEntity response) {
}
}));
// then
Asserts.assertThat(e).isEqualsType(ClientNotActiveException.class);
sut.close();
sut.stop();
}
Aggregations