You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bval.apache.org by ro...@apache.org on 2010/05/31 10:17:55 UTC
svn commit: r949685 - in
/incubator/bval/trunk/bval-jsr303/src/test/java/org/apache/bval/jsr303/extensions:
ExampleMethodService.java MethodValidatorImplTest.java
Author: romanstumm
Date: Mon May 31 08:17:55 2010
New Revision: 949685
URL: http://svn.apache.org/viewvc?rev=949685&view=rev
Log:
BVAL-66 committing 2 new tests from Carlos Vara for point 1 and 2
Modified:
incubator/bval/trunk/bval-jsr303/src/test/java/org/apache/bval/jsr303/extensions/ExampleMethodService.java
incubator/bval/trunk/bval-jsr303/src/test/java/org/apache/bval/jsr303/extensions/MethodValidatorImplTest.java
Modified: incubator/bval/trunk/bval-jsr303/src/test/java/org/apache/bval/jsr303/extensions/ExampleMethodService.java
URL: http://svn.apache.org/viewvc/incubator/bval/trunk/bval-jsr303/src/test/java/org/apache/bval/jsr303/extensions/ExampleMethodService.java?rev=949685&r1=949684&r2=949685&view=diff
==============================================================================
--- incubator/bval/trunk/bval-jsr303/src/test/java/org/apache/bval/jsr303/extensions/ExampleMethodService.java (original)
+++ incubator/bval/trunk/bval-jsr303/src/test/java/org/apache/bval/jsr303/extensions/ExampleMethodService.java Mon May 31 08:17:55 2010
@@ -21,6 +21,7 @@ package org.apache.bval.jsr303.extension
import org.apache.bval.constraints.NotEmpty;
+import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
@@ -51,4 +52,18 @@ public class ExampleMethodService {
public String echo(@NotNull @Size(min=3,max=10) String str) {
return str;
}
+
+ public void personOp1(@Valid Person p) {
+ return;
+ }
+
+ public void personOp2(@NotNull @Valid Person p) {
+ return;
+ }
+
+ public static class Person {
+ @NotNull
+ String name;
+ }
+
}
Modified: incubator/bval/trunk/bval-jsr303/src/test/java/org/apache/bval/jsr303/extensions/MethodValidatorImplTest.java
URL: http://svn.apache.org/viewvc/incubator/bval/trunk/bval-jsr303/src/test/java/org/apache/bval/jsr303/extensions/MethodValidatorImplTest.java?rev=949685&r1=949684&r2=949685&view=diff
==============================================================================
--- incubator/bval/trunk/bval-jsr303/src/test/java/org/apache/bval/jsr303/extensions/MethodValidatorImplTest.java (original)
+++ incubator/bval/trunk/bval-jsr303/src/test/java/org/apache/bval/jsr303/extensions/MethodValidatorImplTest.java Mon May 31 08:17:55 2010
@@ -21,6 +21,7 @@ import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.apache.bval.jsr303.ApacheValidatorFactory;
import org.apache.bval.jsr303.ClassValidator;
+import org.apache.bval.jsr303.extensions.ExampleMethodService.Person;
import javax.validation.Validator;
import java.lang.reflect.Constructor;
@@ -156,7 +157,6 @@ public class MethodValidatorImplTest ext
}
public void testValidateMoreReturnValue() throws NoSuchMethodException {
-
ExampleMethodService service = new ExampleMethodService();
MethodValidator mv = getValidator().unwrap(MethodValidator.class);
Method echoMethod = service.getClass().getMethod("echo", new Class[]{String.class});
@@ -172,8 +172,48 @@ public class MethodValidatorImplTest ext
returnedValue = "valid";
results = mv.validateReturnedValue(service.getClass(), echoMethod, returnedValue);
assertTrue(results.isEmpty());
-
-
+ }
+
+ public void testValidateValidParam() throws NoSuchMethodException {
+ ExampleMethodService service = new ExampleMethodService();
+ MethodValidator mv = getValidator().unwrap(MethodValidator.class);
+
+ Method personOp1 = service.getClass().getMethod("personOp1", new Class[]{Person.class});
+
+ // Validate with invalid person
+ Person p = new ExampleMethodService.Person();
+ Set<?> results = mv.validateParameters(service.getClass(), personOp1, new Object[]{p});
+ assertEquals("Expected 1 violation", 1, results.size());
+
+ // validate with valid person
+ p.name = "valid name";
+ results = mv.validateParameters(service.getClass(), personOp1, new Object[]{p});
+ assertTrue("No violations expected", results.isEmpty());
+
+ // validate with null person
+ results = mv.validateParameters(service.getClass(), personOp1, new Object[]{null});
+ assertTrue("No violations expected", results.isEmpty());
+ }
+
+ public void testValidateNotNullValidParam() throws NoSuchMethodException {
+ ExampleMethodService service = new ExampleMethodService();
+ MethodValidator mv = getValidator().unwrap(MethodValidator.class);
+
+ Method personOp2 = service.getClass().getMethod("personOp2", new Class[]{Person.class});
+
+ // Validate with null person
+ Set<?> results = mv.validateParameters(service.getClass(), personOp2, new Object[]{null});
+ assertEquals("Expected 1 violation", 1, results.size());
+
+ // Validate with invalid person
+ Person p = new ExampleMethodService.Person();
+ results = mv.validateParameters(service.getClass(), personOp2, new Object[]{p});
+ assertEquals("Expected 1 violation", 1, results.size());
+
+ // validate with valid person
+ p.name = "valid name";
+ results = mv.validateParameters(service.getClass(), personOp2, new Object[]{p});
+ assertTrue("No violations expected", results.isEmpty());
}
private Validator getValidator() {