@Test public void testGetDataExceptions() throws Exception { EasyMock.expect(uploadResource.getSize()).andStubReturn((long) Long.MAX_VALUE); EasyMock.expect(uploadResource.getInputStream()).andStubAnswer(INPUT_STREAM_SUPPLIER); environment.getControl().replay(); try { uploadedFile.getData(); fail(); } catch (FileUploadException e) { // expected - ignore } environment.getControl().reset(); EasyMock.expect(uploadResource.getSize()).andStubReturn(1L); EasyMock.expect(uploadResource.getInputStream()) .andStubThrow(new IOException("No stream available")); environment.getControl().replay(); try { uploadedFile.getData(); fail(); } catch (FileUploadException e) { // expected - ignore assertTrue(e.getCause() instanceof IOException); } }
@Test public void testHeaders() throws Exception { assertEquals("image/png", uploadedFile.getHeader("Content-Type")); assertEquals("set", uploadedFile.getHeader("X-RFTest")); assertNull(uploadedFile.getHeader("X-RFUnknown")); assertEquals( Arrays.asList("image/png"), Lists.newArrayList(uploadedFile.getHeaders("Content-Type"))); assertEquals( Arrays.asList("set", "of", "values"), Lists.newArrayList(uploadedFile.getHeaders("X-RFTest"))); assertEquals(Arrays.asList(), Lists.newArrayList(uploadedFile.getHeaders("X-RFUnknown"))); Collection<String> sortedHeaderNames = Sets.newTreeSet(uploadedFile.getHeaderNames()); assertEquals( Sets.newLinkedHashSet(Arrays.asList("content-type", "filename", "x-rftest")), sortedHeaderNames); }
@Test public void testResource() throws Exception { EasyMock.expect(uploadResource.getSize()).andStubReturn((long) TEST_DATA.length()); EasyMock.expect(uploadResource.getInputStream()).andStubAnswer(INPUT_STREAM_SUPPLIER); uploadResource.write(EasyMock.eq("output.png")); EasyMock.expectLastCall(); uploadResource.delete(); EasyMock.expectLastCall(); environment.getControl().replay(); assertEquals(TEST_DATA.length(), uploadedFile.getSize()); assertNotNull(uploadedFile.getInputStream()); assertEquals( TEST_DATA, new String(StreamUtils.toByteArray(uploadedFile.getInputStream()), "US-ASCII")); assertEquals(TEST_DATA, new String(uploadedFile.getData(), "US-ASCII")); uploadedFile.write("output.png"); uploadedFile.delete(); }
@Test public void testAttributes() throws Exception { assertEquals("form:fileUpload", uploadedFile.getParameterName()); assertEquals("image/png", uploadedFile.getContentType()); assertEquals("x.png", uploadedFile.getName()); }