use of com.tvd12.ezyhttp.core.codec.BodyDeserializer 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.core.codec.BodyDeserializer 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.core.codec.BodyDeserializer in project ezyhttp by youngmonkeys.
the class BodyDeserializerTest method commonTest.
@Test
public void commonTest() throws Exception {
// given
BodyDeserializer sut = new BodyDeserializer() {
};
// when
Asserts.assertNull(sut.deserialize("", Object.class));
Asserts.assertNull(sut.deserialize(mock(BodyData.class), Object.class));
Asserts.assertNull(sut.deserialize(mock(InputStream.class), Object.class));
}
use of com.tvd12.ezyhttp.core.codec.BodyDeserializer in project ezyhttp by youngmonkeys.
the class BodyDeserializerTest method deserializeToStringWithContentLengthTest.
@Test
public void deserializeToStringWithContentLengthTest() throws Exception {
// given
byte[] bytes = "abc".getBytes();
InputStream inputStream = new ByteArrayInputStream(bytes);
int contentLength = 2;
BodyDeserializer sut = new BodyDeserializer() {
};
// when
String actual = sut.deserializeToString(inputStream, contentLength);
// then
Asserts.assertEquals("ab", actual);
}
use of com.tvd12.ezyhttp.core.codec.BodyDeserializer in project ezyhttp by youngmonkeys.
the class BodyDeserializerTest method deserializeToStringWithoutContentLengthTest.
@Test
public void deserializeToStringWithoutContentLengthTest() throws Exception {
// given
byte[] bytes = "abc".getBytes();
InputStream inputStream = new ByteArrayInputStream(bytes);
int contentLength = 0;
BodyDeserializer sut = new BodyDeserializer() {
};
// when
String actual = sut.deserializeToString(inputStream, contentLength);
// then
Asserts.assertEquals("abc", actual);
}
Aggregations