Author: kwin
Date: Tue Feb 24 13:58:14 2015
New Revision: 1661954

URL: http://svn.apache.org/r1661954
Log:
add test for arguments parameter of the validate to never be null

Modified:
    
sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/ValidationServiceImplTest.java

Modified: 
sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/ValidationServiceImplTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/ValidationServiceImplTest.java?rev=1661954&r1=1661953&r2=1661954&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/ValidationServiceImplTest.java
 (original)
+++ 
sling/trunk/contrib/extensions/validation/core/src/test/java/org/apache/sling/validation/impl/ValidationServiceImplTest.java
 Tue Feb 24 13:58:14 2015
@@ -44,6 +44,7 @@ import org.apache.sling.jcr.resource.Jcr
 import org.apache.sling.validation.api.ValidationModel;
 import org.apache.sling.validation.api.ValidationResult;
 import org.apache.sling.validation.api.Validator;
+import org.apache.sling.validation.api.exceptions.SlingValidationException;
 import org.apache.sling.validation.impl.setup.MockedResourceResolver;
 import org.apache.sling.validation.impl.util.examplevalidators.DateValidator;
 import org.apache.sling.validation.impl.validators.RegexValidator;
@@ -54,6 +55,7 @@ import org.junit.Assert;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
+import org.mockito.Mockito;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 import org.powermock.reflect.Whitebox;
@@ -258,6 +260,46 @@ public class ValidationServiceImplTest {
         } finally {
             if (model1 != null) {
                 rr.delete(model1);
+            }
+        }
+    }
+    
+    @Test
+    public void testValidateNeverCalledWithNullValues() throws Exception {
+        
+        Validator<String> myValidator = new Validator<String>() {
+            @Override
+            public String validate(String data, ValueMap valueMap, ValueMap 
arguments)
+                    throws SlingValidationException {
+                Assert.assertNotNull("ValueMap parameter for validate should 
never be null", valueMap);
+                Assert.assertNotNull("arguments parameter for validate should 
never be null", arguments);
+                return null;
+            }
+            
+        };
+        
+        validationService.validators.put("testvalidator",
+                myValidator);
+
+        TestProperty property = new TestProperty("field1");
+        property.addValidator("testvalidator");
+        Resource model1 = null;
+        try {
+            model1 = createValidationModelResource(rr, 
libsValidatorsRoot.getPath(), "testValidationModel1",
+                    "sling/validation/test", new String[] { "/apps/validation" 
}, property);
+
+            ValidationModel vm = 
validationService.getValidationModel("sling/validation/test",
+                    "/apps/validation/1/resource");
+            HashMap<String, Object> hashMap = new HashMap<String, Object>() {
+                {
+                    put("field1", "1");
+                }
+            };
+            ValueMap map = new ValueMapDecorator(hashMap);
+            validationService.validate(map, vm);
+        } finally {
+            if (model1 != null) {
+                rr.delete(model1);
             }
         }
     }


Reply via email to