diff --git a/core/src/test/java/org/springframework/security/config/FilterInvocationDefinitionSourceParserTests.java b/core/src/test/java/org/springframework/security/config/FilterInvocationDefinitionSourceParserTests.java new file mode 100644 index 0000000000..d97725281e --- /dev/null +++ b/core/src/test/java/org/springframework/security/config/FilterInvocationDefinitionSourceParserTests.java @@ -0,0 +1,75 @@ +package org.springframework.security.config; + +import static org.junit.Assert.*; + +import org.junit.After; +import org.junit.Test; +import org.springframework.context.support.AbstractXmlApplicationContext; +import org.springframework.mock.web.MockFilterChain; +import org.springframework.mock.web.MockHttpServletRequest; +import org.springframework.mock.web.MockHttpServletResponse; +import org.springframework.security.ConfigAttributeDefinition; +import org.springframework.security.SecurityConfig; +import org.springframework.security.intercept.web.DefaultFilterInvocationDefinitionSource; +import org.springframework.security.intercept.web.FilterInvocation; +import org.springframework.security.util.InMemoryXmlApplicationContext; + +/** + * + * @author Luke Taylor + * @version $Id$ + */ +public class FilterInvocationDefinitionSourceParserTests { + private AbstractXmlApplicationContext appContext; + + @After + public void closeAppContext() { + if (appContext != null) { + appContext.close(); + appContext = null; + } + } + + private void setContext(String context) { + appContext = new InMemoryXmlApplicationContext(context); + } + + @Test + public void parsingMinimalConfigurationIsSuccessful() { + setContext( + "" + + " " + + ""); + DefaultFilterInvocationDefinitionSource fids = (DefaultFilterInvocationDefinitionSource) appContext.getBean("fids"); + ConfigAttributeDefinition cad = fids.getAttributes(createFilterInvocation("/anything", "GET")); + assertTrue(cad.contains(new SecurityConfig("ROLE_A"))); + } + + @Test + public void parsingWithinFilterSecurityInterceptorIsSuccessful() { + setContext( + "" + + "" + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + "" + HttpSecurityBeanDefinitionParserTests.AUTH_PROVIDER_XML); + + + } + + + private FilterInvocation createFilterInvocation(String path, String method) { + MockHttpServletRequest request = new MockHttpServletRequest(); + request.setRequestURI(null); + request.setMethod(method); + + request.setServletPath(path); + + return new FilterInvocation(request, new MockHttpServletResponse(), new MockFilterChain()); + } +}