Fileupload

Run
How to run the sample
The source code for this sample can be found in the javaee7-samples GitHub repository. The first thing we need to do is to get the source by downloading the repository and then go into the samples folder:
git clone git://github.com/javaee-samples/javaee7-samples.git
cd javaee7-samples/jaxrs/fileupload/
Now we are ready to start testing. You can run all the tests in this sample by executing:
mvn test
Or you can run individual tests by executing one of the following:
mvn test -Dtest=MyResourceTest

  • Specifications in use:
    • JAXRS

    MyResourceTest

    Missing a description for the story. Add some javadoc to the TestClass. Show me how!
    Missing a description for the deployment. Add some javadoc to the @Deployment method. Show me how!
    @Deployment(testable = false)
    public static WebArchive createDeployment() {
    	return ShrinkWrap.create(WebArchive.class).addClasses(MyApplication.class, MyResource.class);
    }
    Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
    @Test
    public void shouldPostOctetStreamContentAsInputStream() {
    	// when
    	Long uploadedFileSize = target.path("/upload").request()
    			.post(Entity.entity(tempFile, MediaType.APPLICATION_OCTET_STREAM), Long.class);
    	// then
    	assertThat(uploadedFileSize).isEqualTo(1000);
    }
    Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
    @Test
    public void shouldNotPostImagePngContentAsInputStream() {
    	// when
    	final Response response = target.path("/upload").request().post(Entity.entity(tempFile, "image/png"));
    	// then
    	assertThat(response.getStatus()).isEqualTo(Status.UNSUPPORTED_MEDIA_TYPE.getStatusCode());
    }
    Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
    @Test
    public void shouldPostOctetStreamContentAsFile() {
    	// when
    	Long uploadedFileSize = target.path("/upload2").request()
    			.post(Entity.entity(tempFile, MediaType.APPLICATION_OCTET_STREAM), Long.class);
    	// then
    	assertThat(uploadedFileSize).isEqualTo(1000);
    }
    Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
    @Test
    public void shouldPostImagePngContentAsFile() {
    	// when
    	Long uploadedFileSize = target.path("/upload2").request()
    			.post(Entity.entity(tempFile, "image/png"), Long.class);
    	// then
    	assertThat(uploadedFileSize).isEqualTo(1000);
    }

    Share the Knowledge

    Find this sample useful? Share on

    There's a lot more about JavaEE to cover. If you're ready to learn more, check out the other available samples.

    Help Improve

    Find a bug in the sample? Something missing? You can fix it by editing the source, making the correction and sending a pull request. Or report the problem to the issue tracker

    Recent Changelog

    • May 28, 2014: Jax-rs fileupload sample project by Xavier Coulon
    How to help improve this sample
    The source code for this sample can be found in the javaee7-samples GitHub repository. The first thing you need to do is to get the source by downloading the repository and then go into the samples folder:
    git clone git://github.com/javaee-samples/javaee7-samples.git
    cd javaee7-samples/jaxrs/fileupload/

    Do the changes as you see fit and send a pull request!

    Good Luck!