public void testGetStreamReturnsNewStream() throws Exception { String testData = "There's something quite peaceful about writing tests."; AttachmentId id = new AttachmentId("", "id_6"); AttachmentStore store = makeStoreWithData(id, testData); AttachmentData data = store.getAttachment(id); InputStream is1 = data.getInputStream(); InputStream is2 = data.getInputStream(); InputStream is3 = null; try { assertNotSame(is1, is2); int firstByte = is1.read(); assertSame(firstByte, is2.read()); // Check that a new input stream created now still has the same first // byte. is3 = data.getInputStream(); assertSame(firstByte, is3.read()); } finally { is1.close(); is2.close(); if (is3 != null) { is3.close(); } } }
public void testContentLengthMatchesDataSize() throws Exception { String testData = "blah blah blah"; AttachmentId id = new AttachmentId("", "id_2"); AttachmentStore store = makeStoreWithData(id, testData); AttachmentData data = store.getAttachment(id); assertEquals(testData.length(), data.getSize()); }
public void testAttachmentCanWriteToOutputStream() throws Exception { String testData = "maybe there's some easy way to generate test strings"; AttachmentId id = new AttachmentId("", "id_4"); AttachmentStore store = makeStoreWithData(id, testData); AttachmentData data = store.getAttachment(id); ByteArrayOutputStream stream = new ByteArrayOutputStream(); InputStream io = data.getInputStream(); try { AttachmentUtil.writeTo(io, stream); assertEquals(testData, stream.toString("UTF-8")); } finally { io.close(); } }
protected String dataToString(AttachmentData data) throws IOException { ByteArrayOutputStream out = new ByteArrayOutputStream(); InputStream io = data.getInputStream(); try { AttachmentUtil.writeTo(io, out); } finally { io.close(); } return out.toString("UTF-8"); }
public void testAttachmentHasWorkingInputStream() throws Exception { String testData = "I suppose these strings don't actually need to be different"; AttachmentId id = new AttachmentId("", "id_5"); AttachmentStore store = makeStoreWithData(id, testData); AttachmentData data = store.getAttachment(id); BufferedReader reader = new BufferedReader(new InputStreamReader(data.getInputStream())); StringBuilder builder = new StringBuilder(); String line; try { while ((line = reader.readLine()) != null) { // This little snippet will discard any "\n" characters, but it shouldn't // matter. builder.append(line); } } finally { reader.close(); } assertEquals(testData, builder.toString()); }