diff --git a/core/src/test/java/org/apache/struts2/interceptor/parameter/ParametersInterceptorTest.java b/core/src/test/java/org/apache/struts2/interceptor/parameter/ParametersInterceptorTest.java index 232bd0451d..2e13010715 100644 --- a/core/src/test/java/org/apache/struts2/interceptor/parameter/ParametersInterceptorTest.java +++ b/core/src/test/java/org/apache/struts2/interceptor/parameter/ParametersInterceptorTest.java @@ -100,6 +100,21 @@ public void testParameterNameAware() { assertEquals(expected, actual); } + public void testParameterNameAwareCannotAcceptExcludedName() { + ParametersInterceptor pi = createParametersInterceptor(); + pi.setExcludeParams("blockedKey"); + final Map actual = injectValueStackFactory(pi); + ValueStack stack = createStubValueStack(actual); + ParameterNameAware acceptsEverything = name -> true; + final Map parameters = new HashMap<>(); + parameters.put("allowedKey", "allowedValue"); + parameters.put("blockedKey", "blockedValue"); + + pi.applyParameters(acceptsEverything, stack, HttpParameters.create(parameters).build()); + + assertEquals(Map.of("allowedKey", "allowedValue"), actual); + } + public void testInsecureParameters() throws Exception { // given loadConfigurationProviders(new StrutsDefaultConfigurationProvider(), new StrutsXmlConfigurationProvider("xwork-param-test.xml"));