@Test // SPR-14882 public void shouldNotReadInputStreamResource() throws IOException { ResourceHttpMessageConverter noStreamConverter = new ResourceHttpMessageConverter(false); try (InputStream body = getClass().getResourceAsStream("logo.jpg") ) { this.thrown.expect(HttpMessageNotReadableException.class); MockHttpInputMessage inputMessage = new MockHttpInputMessage(body); inputMessage.getHeaders().setContentType(MediaType.IMAGE_JPEG); noStreamConverter.read(InputStreamResource.class, inputMessage); } }
@Test public void shouldReadImageResource() throws IOException { byte[] body = FileCopyUtils.copyToByteArray(getClass().getResourceAsStream("logo.jpg")); MockHttpInputMessage inputMessage = new MockHttpInputMessage(body); inputMessage.getHeaders().setContentType(MediaType.IMAGE_JPEG); inputMessage.getHeaders().setContentDisposition( ContentDisposition.builder("attachment").filename("yourlogo.jpg").build()); Resource actualResource = converter.read(Resource.class, inputMessage); assertThat(FileCopyUtils.copyToByteArray(actualResource.getInputStream()), is(body)); assertEquals("yourlogo.jpg", actualResource.getFilename()); }
@Test // SPR-13443 public void shouldReadInputStreamResource() throws IOException { try (InputStream body = getClass().getResourceAsStream("logo.jpg") ) { MockHttpInputMessage inputMessage = new MockHttpInputMessage(body); inputMessage.getHeaders().setContentType(MediaType.IMAGE_JPEG); inputMessage.getHeaders().setContentDisposition( ContentDisposition.builder("attachment").filename("yourlogo.jpg").build()); Resource actualResource = converter.read(InputStreamResource.class, inputMessage); assertThat(actualResource, instanceOf(InputStreamResource.class)); assertThat(actualResource.getInputStream(), is(body)); assertEquals("yourlogo.jpg", actualResource.getFilename()); } }