Bean 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/jsf/bean-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=MyBeanTest

MyBeanTest

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).
            addClass(MyBean.class)
            .addAsWebResource(new File(WEBAPP_SRC, "index.xhtml"))
            .addAsWebInfResource(new File(WEBAPP_SRC + "/WEB-INF", "web.xml"));
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void testNameLessCharacters() throws IOException {
    nameInputText.setText("ab");
    ageInputText.setText("20");
    zipInputText.setText("12345");
    HtmlPage result = button.click();
    HtmlSpan span = (HtmlSpan)result.getElementById("nameMessage");
    assertEquals("At least 3 characters", span.asText());
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void testNameBoundary() throws IOException {
    nameInputText.setText("abc");
    ageInputText.setText("20");
    zipInputText.setText("12345");
    HtmlPage result = button.click();
    HtmlSpan span = (HtmlSpan)result.getElementById("nameMessage");
    assertEquals("", span.asText());
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void testAgeLessThan() throws IOException {
    nameInputText.setText("abc");
    ageInputText.setText("16");
    zipInputText.setText("12345");
    HtmlPage result = button.click();
    HtmlSpan span = (HtmlSpan)result.getElementById("ageMessage");
    assertEquals("must be greater than or equal to 18", span.asText());
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void testAgeLowBoundary() throws IOException {
    nameInputText.setText("abc");
    ageInputText.setText("18");
    zipInputText.setText("12345");
    HtmlPage result = button.click();
    HtmlSpan span = (HtmlSpan)result.getElementById("ageMessage");
    assertEquals("", span.asText());
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void testAgeHighBoundary() throws IOException {
    nameInputText.setText("abc");
    ageInputText.setText("25");
    zipInputText.setText("12345");
    HtmlPage result = button.click();
    HtmlSpan span = (HtmlSpan)result.getElementById("ageMessage");
    assertEquals("", span.asText());
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void testAgeGreaterThan() throws IOException {
    nameInputText.setText("abc");
    ageInputText.setText("26");
    zipInputText.setText("12345");
    HtmlPage result = button.click();
    HtmlSpan span = (HtmlSpan)result.getElementById("ageMessage");
    assertEquals("must be less than or equal to 25", span.asText());
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void testZipAlphabets() throws IOException {
    nameInputText.setText("abc");
    ageInputText.setText("20");
    zipInputText.setText("abcde");
    HtmlPage result = button.click();
    HtmlSpan span = (HtmlSpan)result.getElementById("zipMessage");
    assertEquals("must match \"[0-9]{5}\"", span.asText());
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void testZipLessNumbers() throws IOException {
    nameInputText.setText("abc");
    ageInputText.setText("20");
    zipInputText.setText("1234");
    HtmlPage result = button.click();
    HtmlSpan span = (HtmlSpan)result.getElementById("zipMessage");
    assertEquals("must match \"[0-9]{5}\"", span.asText());
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void testZipMoreNumbers() throws IOException {
    nameInputText.setText("abc");
    ageInputText.setText("20");
    zipInputText.setText("123456");
    HtmlPage result = button.click();
    HtmlSpan span = (HtmlSpan)result.getElementById("zipMessage");
    assertEquals("must match \"[0-9]{5}\"", span.asText());
}
Missing a description for the test scenario. Add some javadoc to the @Test method. Show me how!
@Test
public void testZipBoundary() throws IOException {
    nameInputText.setText("abc");
    ageInputText.setText("20");
    zipInputText.setText("12345");
    HtmlPage result = button.click();
    HtmlSpan span = (HtmlSpan)result.getElementById("zipMessage");
    assertEquals("", span.asText());
}

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 20, 2013: Added new tests by arun-gupta
  • Oct 27, 2013: Adding prompts on what needs to be entered by Arun Gupta
  • Sep 17, 2013: Removing netbeans configuration file by Arun Gupta
  • Aug 27, 2013: Moving the source code from http://svn.java.net/svn/glassfish~svn/branches/arun/javaee7-samples/samples/ 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/jsf/bean-validation/

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

Good Luck!