package org.springmodules.validation.bean.context.web;
/**
*
* @author Uri Boness
*/
import junit.framework.*;
import org.springmodules.validation.bean.context.web.ValidationContextHandlerInterceptor;
import org.springmodules.validation.bean.context.DefaultValidationContext;
import org.springmodules.validation.bean.context.ValidationContextHolder;
import org.springmodules.validation.bean.context.ValidationContextUtils;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
public class ValidationContextHandlerInterceptorTests extends TestCase {
private ValidationContextHandlerInterceptor interceptor;
protected void setUp() throws Exception {
ValidationContextUrlMapping[] mappings = new ValidationContextUrlMapping[2];
mappings[0] = new ValidationContextUrlMapping("/user/*", new String[] { "ctx1", "ctx2" });
mappings[1] = new ValidationContextUrlMapping("/admin/*", new String[] { "ctx3" });
interceptor = new ValidationContextHandlerInterceptor();
interceptor.setValidationContextUrlMappings(mappings);
}
public void testPreHandle() throws Exception {
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/user/test.html");
MockHttpServletResponse response = new MockHttpServletResponse();
assertTrue(interceptor.preHandle(request, response, null));
assertNotNull(ValidationContextHolder.getValidationContext());
assertTrue(DefaultValidationContext.class.isInstance(ValidationContextHolder.getValidationContext()));
DefaultValidationContext context = (DefaultValidationContext) ValidationContextHolder.getValidationContext();
assertEquals(2, context.getTokens().length);
assertEquals("ctx1", context.getTokens()[0]);
assertEquals("ctx2", context.getTokens()[1]);
}
public void testPostHandle() throws Exception {
ValidationContextUtils.setContext(new String[] { "ctx1", "ctx2" });
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/user/test.html");
MockHttpServletResponse response = new MockHttpServletResponse();
interceptor.postHandle(request, response, null, null);
assertNull(ValidationContextHolder.getValidationContext());
}
}