Resource validation

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/resource-validation/
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=NameAddResourceTest

NameAddResourceTest

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, NameAddResource.class, Name.class, Email.class, EmailValidator.class);
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void shouldPassNameValidation() throws Exception {
    JsonObject name = startValidName()
            .build();

    Response response = postName(name);

    assertStatus(response, OK);
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void shouldFailAtFirstNameSizeValidation() throws Exception {
    JsonObject name = startValidName()
            .add("firstName", "")
            .build();

    Response response = postName(name);

    assertFailedValidation(response);
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void shouldFailAtFirstNameNullValidation() throws Exception {
    JsonObject name = startValidName()
            .addNull("firstName")
            .build();

    Response response = postName(name);

    assertFailedValidation(response);
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void shouldFailAtLastNameSizeValidation() throws Exception {
    JsonObject name = startValidName()
            .add("lastName", "")
            .build();

    Response response = postName(name);

    assertFailedValidation(response);
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void shouldFailAtLastNameNullValidation() throws Exception {
    JsonObject name = startValidName()
            .addNull("lastName")
            .build();

    Response response = postName(name);

    assertFailedValidation(response);
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void shouldFailAtEmailAtSymbolValidation() throws Exception {
    JsonObject name = startValidName()
            .add("email", "missing-at-symbol.com")
            .build();

    Response response = postName(name);

    assertFailedValidation(response);
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void shouldFailAtEmailComDomainValidation() throws Exception {
    JsonObject name = startValidName()
            .add("email", "other-than-com@domain.pl")
            .build();

    Response response = postName(name);

    assertFailedValidation(response);
}

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 header license. the licensing is now referenced in the license file in the root of the project by Roberto Cortez
  • Dec 03, 2013: Added test cases for null lastname, null firstname, email domain name by dagguh
  • Dec 03, 2013: Removed resteasy vendor lock by dagguh
  • Dec 02, 2013: Reduced duplication in test code by dagguh
  • Dec 02, 2013: Test case for successful name valdiation by dagguh
  • Dec 02, 2013: Trying to shrinkwrap the used messagebodywriter by dagguh
  • Sep 17, 2013: Removing netbeans configuration file by Arun Gupta
  • Aug 27, 2013: Added different types of validation with jax-rs (field, property, @valid) by Arun Gupta
  • Aug 27, 2013: Removing a redundant import by Arun Gupta
  • Aug 27, 2013: Iterating over both the targets 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/resource-validation/

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

Good Luck!