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); } } }