Beanvalidation

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/beanvalidation/
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

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 testInvalidRequest() {
    try {
        target.request().post(Entity.text("fo"), String.class);
        fail("Request must fail with payload < 3");
    } catch (BadRequestException e) {
        assertNotNull(e);
    }
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void testValidRequest() {
    String r = target.request().post(Entity.text("foo"), String.class);
    assertEquals("foo", r);
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void testValidPostRequest() {
    MultivaluedHashMap<String, String> map = new MultivaluedHashMap<>();
    map.add("name", "Penny");
    map.add("age", "1");
    target.request().post(Entity.form(map));

    map.clear();
    map.add("name", "Leonard");
    map.add("age", "2");
    target.request().post(Entity.form(map));
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void testInvalidPostRequest() {
    try {
        MultivaluedHashMap<String, String> map = new MultivaluedHashMap<>();
        map.add("name", null);
        map.add("age", "1");
        target.request().post(Entity.form(map));
    } catch (BadRequestException e) {
        assertNotNull(e);
    }
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void testInvalidPostRequestLesserAge() {
    try {
        MultivaluedHashMap<String, String> map = new MultivaluedHashMap<>();
        map.add("name", "Penny");
        map.add("age", "0");
        target.request().post(Entity.form(map));
    } catch (BadRequestException e) {
        assertNotNull(e);
    }
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void testInvalidPostRequestGreaterAge() {
    try {
        MultivaluedHashMap<String, String> map = new MultivaluedHashMap<>();
        map.add("name", "Penny");
        map.add("age", "11");
        target.request().post(Entity.form(map));
    } catch (BadRequestException e) {
        assertNotNull(e);
    }
}

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

  • Jul 15, 2014: Removed default header by Roberto Cortez
  • Jul 15, 2014: Removed header license. the licensing is now referenced in the license file in the root of the project by Roberto Cortez
  • Jul 10, 2014: Adding new tests for jaxrs/bean validation by arun-gupta
  • Dec 03, 2013: Change to use client.target(uri) to be compatible with jax-rs 1.0 by Aslak Knutsen
  • Nov 12, 2013: Convert jax-rs samples to arquillian: beanvalidation by Aslak Knutsen
  • Nov 07, 2013: Adding tests by Arun Gupta
  • Nov 07, 2013: Removing redundant attributes on @webservlet by Arun Gupta
  • Oct 27, 2013: Removing redundant dependencies by Arun Gupta
  • Oct 27, 2013: Adding more descriptive output statement by Arun Gupta
  • Sep 17, 2013: Removing netbeans configuration file by Arun Gupta
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/beanvalidation/

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

Good Luck!