use of com.tvd12.ezyhttp.client.HttpClient in project ezyhttp by youngmonkeys.
the class HttpClientTest method postMethodNotAllow.
@Test
public void postMethodNotAllow() {
// given
HttpClient sut = HttpClient.builder().build();
PostRequest request = new PostRequest().setResponseType(TestResponse.class).setResponseType(StatusCodes.OK, TestResponse.class).setURL(URI.create("http://127.0.0.1:18081/405"));
// when
Throwable e = Asserts.assertThrows(() -> sut.call(request));
// then
Asserts.assertThat(e).isEqualsType(HttpMethodNotAllowedException.class);
}
use of com.tvd12.ezyhttp.client.HttpClient in project ezyhttp by youngmonkeys.
the class HttpClientTest method tryDeserializeResponseBodyStringSuccess.
@Test
public void tryDeserializeResponseBodyStringSuccess() throws Exception {
// given
String contentType = RandomUtil.randomShortAlphabetString();
int contentLength = RandomUtil.randomSmallInt();
InputStream inputStream = mock(InputStream.class);
String data = RandomUtil.randomShortAlphabetString();
BodyDeserializer deserializer = mock(BodyDeserializer.class);
when(deserializer.deserializeToString(inputStream, contentLength)).thenReturn(data);
Map<String, String> map = new HashMap<>();
when(deserializer.deserialize(data, Map.class)).thenReturn(map);
HttpClient sut = HttpClient.builder().addBodyConverter(contentType, deserializer).build();
// when
Map<String, String> actual = MethodInvoker.create().object(sut).method("deserializeResponseBody").param(String.class, contentType).param(int.class, contentLength).param(InputStream.class, inputStream).param(Class.class, null).call();
// then
Asserts.assertEquals(map, actual);
}
use of com.tvd12.ezyhttp.client.HttpClient in project ezyhttp by youngmonkeys.
the class HttpClientTest method postMethodNotFound.
@Test
public void postMethodNotFound() {
// given
HttpClient sut = HttpClient.builder().build();
PostRequest request = new PostRequest().setResponseType(TestResponse.class).setResponseType(StatusCodes.OK, TestResponse.class).setURL(URI.create("http://127.0.0.1:18081/404"));
// when
Throwable e = Asserts.assertThrows(() -> sut.call(request));
// then
Asserts.assertThat(e).isEqualsType(HttpNotFoundException.class);
}
use of com.tvd12.ezyhttp.client.HttpClient in project ezyhttp by youngmonkeys.
the class HttpClientTest method deserializeResponseBodyStringFailed.
@Test
public void deserializeResponseBodyStringFailed() throws Exception {
// given
String contentType = RandomUtil.randomShortAlphabetString();
int contentLength = RandomUtil.randomSmallInt();
InputStream inputStream = mock(InputStream.class);
BodyDeserializer deserializer = mock(BodyDeserializer.class);
IOException exception = new IOException("just test");
when(deserializer.deserializeToString(inputStream, contentLength)).thenThrow(exception);
HttpClient sut = HttpClient.builder().addBodyConverter(contentType, deserializer).build();
// when
Throwable e = Asserts.assertThrows(() -> MethodInvoker.create().object(sut).method("deserializeResponseBody").param(String.class, contentType).param(int.class, contentLength).param(InputStream.class, inputStream).param(Class.class, null).call());
// then
Asserts.assertThat(e.getCause().getCause()).isEqualsTo(exception);
}
use of com.tvd12.ezyhttp.client.HttpClient in project ezyhttp by youngmonkeys.
the class HttpClientTest method downloadToFileNotFoundTest.
@Test
public void downloadToFileNotFoundTest() {
// given
String fileUrl = "https://resources.tvd12.com/ezy-settings-1.0.0.xsd/not-found-here";
HttpClient sut = HttpClient.builder().build();
// when
Throwable e = Asserts.assertThrows(() -> sut.download(fileUrl, new File("test-output/no-commit")));
// then
Asserts.assertEqualsType(e, HttpNotFoundException.class);
}
Aggregations