Package org.springmodules.validation.commons

Source Code of org.springmodules.validation.commons.DefaultBeanValidatorTests

package org.springmodules.validation.commons;

import java.util.Locale;

import junit.framework.TestCase;
import org.apache.commons.validator.Validator;
import org.apache.commons.validator.ValidatorResources;
import org.easymock.MockControl;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

/**
* @author robh
*/
public class DefaultBeanValidatorTests extends TestCase {

    public void testSupports() {
        DefaultBeanValidator validator = getValidator();

        assertTrue(validator.supports(FooBean.class));
        assertFalse(validator.supports(String.class));
    }

    public void testSupportsWithFullyQualifiedName() {
        DefaultBeanValidator validator = getValidator();
        validator.setUseFullyQualifiedClassName(true);

        assertTrue(validator.supports(FooBarBean.class));
        assertFalse(validator.supports(String.class));
    }

    public void testGetLocale() {
        DefaultBeanValidator validator = getValidator();
        assertEquals(validator.getLocale(), Locale.getDefault());
    }

    public void testValidate() {
        FooBean bean = new FooBean();

        MockControl ctl = MockControl.createControl(ValidatorFactory.class);
        ValidatorFactory factory = (ValidatorFactory) ctl.getMock();

        // expect call to get validator with args "fooBean", bean and null
        factory.getValidator("fooBean", bean, null);
        ctl.setReturnValue(getCommonsValidator());

        ctl.replay();

        DefaultBeanValidator validator = new DefaultBeanValidator();
        validator.setValidatorFactory(factory);
        validator.validate(bean, null);

        ctl.verify();
    }

    private DefaultBeanValidator getValidator() {
        DefaultBeanValidator validator = new DefaultBeanValidator();
        DefaultValidatorFactory factory = new DefaultValidatorFactory();
        factory.setValidationConfigLocations(new Resource[]{new ClassPathResource("testValidation.xml", getClass())});
        validator.setValidatorFactory(factory);
        return validator;
    }

    private Validator getCommonsValidator() {
        ValidatorResources res = new ValidatorResources();
        res.process();
        return new Validator(res);
    }
}
TOP

Related Classes of org.springmodules.validation.commons.DefaultBeanValidatorTests

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.