// C1 PC/IB; C2 PC/OB; C1 AC; EE @Test public void testB_C1_PC_IB__C2_PC_OB__C1_AC__EE() throws IOException { String data = "0123456789"; BasicHttpEntity basic; PartiallyRepeatableHttpEntity replay; InputStream stream1, stream2; String text; basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(data.getBytes(UTF8))); replay = new PartiallyRepeatableHttpEntity(basic, 5); stream1 = replay.getContent(); text = blockRead(stream1, UTF8, 3, 2); assertThat(text, is("012")); stream2 = replay.getContent(); text = blockRead(stream2, UTF8, 6, 4); assertThat(text, is("012345")); try { blockRead(stream1, UTF8, 6, 4); fail("Expected IOException"); } catch (IOException e) { // Expected. } }
@Test public void testS__C1_FC_OB() throws IOException { String data = "0123456789"; BasicHttpEntity basic; PartiallyRepeatableHttpEntity replay; basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(data.getBytes("UTF-8"))); replay = new PartiallyRepeatableHttpEntity(basic, 5); String output; output = byteRead(replay.getContent(), -1); assertThat(output, is(data)); }
@Test public void testWriteTo() throws Exception { String input = "0123456789"; BasicHttpEntity basic; PartiallyRepeatableHttpEntity replay; basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(input.getBytes(UTF8))); replay = new PartiallyRepeatableHttpEntity(basic, 5); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); replay.writeTo(buffer); String output = new String(buffer.toByteArray(), UTF8); assertThat(output, is(input)); }
// C1 PC/IB. @Test public void testB_C1_PC_IB() throws IOException { String data = "0123456789"; BasicHttpEntity basic; PartiallyRepeatableHttpEntity replay; InputStream stream; String text; basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(data.getBytes(UTF8))); replay = new PartiallyRepeatableHttpEntity(basic, 20); stream = replay.getContent(); text = blockRead(stream, UTF8, 3, 3); assertThat(text, is("012")); }
@Test public void testConsumeContent() throws Exception { String input = "0123456789"; BasicHttpEntity basic; PartiallyRepeatableHttpEntity replay; basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(input.getBytes(UTF8))); replay = new PartiallyRepeatableHttpEntity(basic, 5); try { replay.consumeContent(); fail("Expected UnsupportedOperationException"); } catch (UnsupportedOperationException e) { // Expected. } }
@Test public void testGetContentEncoding() throws Exception { String input = "0123456789"; BasicHttpEntity basic; PartiallyRepeatableHttpEntity replay; basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(input.getBytes(UTF8))); replay = new PartiallyRepeatableHttpEntity(basic, 5); assertThat(replay.getContentEncoding(), nullValue()); basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(input.getBytes(UTF8))); basic.setContentEncoding("UTF-8"); replay = new PartiallyRepeatableHttpEntity(basic, 5); assertThat(replay.getContentEncoding().getValue(), is("UTF-8")); }
@Test public void testGetContentType() throws Exception { String input = "0123456789"; BasicHttpEntity basic; PartiallyRepeatableHttpEntity replay; basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(input.getBytes(UTF8))); replay = new PartiallyRepeatableHttpEntity(basic, 5); assertThat(replay.getContentType(), nullValue()); basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(input.getBytes(UTF8))); basic.setContentType(ContentType.APPLICATION_JSON.getMimeType()); replay = new PartiallyRepeatableHttpEntity(basic, 5); assertThat(replay.getContentType().getValue(), is("application/json")); }
@Test public void testGetContentLength() throws Exception { String input = "0123456789"; BasicHttpEntity basic; PartiallyRepeatableHttpEntity replay; basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(input.getBytes(UTF8))); replay = new PartiallyRepeatableHttpEntity(basic, 5); assertThat(replay.getContentLength(), is(-1L)); basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(input.getBytes(UTF8))); basic.setContentLength(input.length()); replay = new PartiallyRepeatableHttpEntity(basic, 5); assertThat(replay.getContentLength(), is(10L)); }
@Test public void testIsChunked() throws Exception { String input = "0123456789"; BasicHttpEntity basic; PartiallyRepeatableHttpEntity replay; basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(input.getBytes(UTF8))); replay = new PartiallyRepeatableHttpEntity(basic, 5); assertThat(replay.isChunked(), is(false)); basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(input.getBytes(UTF8))); basic.setChunked(true); replay = new PartiallyRepeatableHttpEntity(basic, 5); assertThat(replay.isChunked(), is(true)); }
@Test public void testIsRepeatable() throws Exception { String text = "0123456789"; BasicHttpEntity basic; PartiallyRepeatableHttpEntity replay; basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(text.getBytes(UTF8))); replay = new PartiallyRepeatableHttpEntity(basic); assertThat(replay.isRepeatable(), is(true)); basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(text.getBytes(UTF8))); BufferedHttpEntity buffered = new BufferedHttpEntity(basic); replay = new PartiallyRepeatableHttpEntity(buffered); assertThat(replay.isRepeatable(), is(true)); }
// C1 FC/IB; C1 XC; C2 FC. @Test public void testS_C1_FC_IB__C1_XC__C2_FC() throws IOException { String data = "0123456789"; BasicHttpEntity basic; PartiallyRepeatableHttpEntity replay; InputStream stream; String text; basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(data.getBytes(UTF8))); replay = new PartiallyRepeatableHttpEntity(basic, 20); stream = replay.getContent(); text = byteRead(stream, -1); assertThat(text, is("0123456789")); stream.close(); stream = replay.getContent(); text = byteRead(stream, -1); assertThat(text, is("0123456789")); }
@Test public void testB_C1_FC_OB__C2_AC__EE() throws Exception { String data = "0123456789"; BasicHttpEntity basic; PartiallyRepeatableHttpEntity replay; basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(data.getBytes(UTF8))); replay = new PartiallyRepeatableHttpEntity(basic, 5); String output; output = blockRead(replay.getContent(), UTF8, -1, 3); assertThat(output, is(data)); try { replay.getContent(); fail("Expected IOException"); } catch (IOException e) { // Expected. } }
@Test public void testIsStreaming() throws Exception { String input = "0123456789"; BasicHttpEntity basic; InputStreamEntity streaming; PartiallyRepeatableHttpEntity replay; basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(input.getBytes(UTF8))); replay = new PartiallyRepeatableHttpEntity(basic, 5); assertThat(replay.isStreaming(), is(true)); basic = new BasicHttpEntity(); basic.setContent(null); replay = new PartiallyRepeatableHttpEntity(basic, 5); assertThat(replay.isStreaming(), is(false)); streaming = new InputStreamEntity( new ByteArrayInputStream(input.getBytes(UTF8)), 10, ContentType.TEXT_PLAIN); replay = new PartiallyRepeatableHttpEntity(streaming, 5); assertThat(replay.isStreaming(), is(true)); }
// C1 PC/OB; C1 XC; C2 AC; EE @Test public void testS_C1_PC_OB__C1_XC__C2_AC__EE() throws IOException { String data = "0123456789"; BasicHttpEntity basic; PartiallyRepeatableHttpEntity replay; InputStream stream; String text; basic = new BasicHttpEntity(); basic.setContent(new ByteArrayInputStream(data.getBytes(UTF8))); replay = new PartiallyRepeatableHttpEntity(basic, 5); stream = replay.getContent(); text = byteRead(stream, 7); assertThat(text, is("0123456")); stream.close(); try { replay.getContent(); fail("Expected IOException"); } catch (IOException e) { // Expected. } }