package com.globant.katari.core.security; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletRequest; import junit.framework.TestCase; import org.springframework.mock.web.MockHttpServletRequest; /** * Tests the Request Predicates. * @author rcunci */ public class RequestPredicateTest extends TestCase { /** predicate. */ private RequestPredicate predicate; /** * {@inheritDoc}. */ @Override protected void setUp() throws Exception { List<String> list = new ArrayList<String>(); list.add(".*/module/module1/.*"); list.add(".*/module/module2/.*"); predicate = new RequestPredicate(list); } /** * Tests true predicates. */ public void testEvaluate_true() { assertTrue(predicate.evaluate(createRequest("/module/module1/test.do"))); assertTrue(predicate.evaluate(createRequest("/module/module2/test.do"))); } /** * Tests false predicates. */ public void testEvaluate_false() { assertFalse(predicate.evaluate(createRequest("/module/module11/test.do"))); assertFalse(predicate.evaluate(createRequest("/module/module21/test.do"))); } /** * Tests true and false predicates. */ public void testEvaluate_mixed() { assertFalse(predicate.evaluate(createRequest("/module/module11/test.do"))); assertTrue(predicate.evaluate(createRequest("/module/module1/test.do"))); assertFalse(predicate.evaluate(createRequest("/module/module21/test.do"))); assertTrue(predicate.evaluate(createRequest("/module/module2/test.do"))); } /** * Creates a request with the given pathInfo. * * @param string * @return */ private ServletRequest createRequest(final String pathInfo) { MockHttpServletRequest request = new MockHttpServletRequest(); request.setContextPath("/bajocoste"); request.setPathInfo(pathInfo); return request; } }