SEC-857: Make request wrapper getParameterValues() consistent with getParameterMap() etc.
This commit is contained in:
+25
@@ -38,4 +38,29 @@ public class SavedRequestAwareWrapperTests {
|
||||
|
||||
assertEquals("foo", wrapper.getHeader("Authorization"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getParameterValuesReturnsNullIfParameterIsntSet() {
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
SavedRequestAwareWrapper wrapper = new SavedRequestAwareWrapper(request, new PortResolverImpl(), "ROLE_");
|
||||
assertNull(wrapper.getParameterValues("action"));
|
||||
assertNull(wrapper.getParameterMap().get("action"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getParameterValuesReturnsCombinedValues() {
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.setParameter("action", "foo");
|
||||
SavedRequest savedRequest = new SavedRequest(request, new PortResolverImpl());
|
||||
MockHttpServletRequest request2 = new MockHttpServletRequest();
|
||||
request2.getSession().setAttribute(AbstractProcessingFilter.SPRING_SECURITY_SAVED_REQUEST_KEY, savedRequest);
|
||||
SavedRequestAwareWrapper wrapper = new SavedRequestAwareWrapper(request2, new PortResolverImpl(), "ROLE_");
|
||||
assertArrayEquals(new Object[] {"foo"}, wrapper.getParameterValues("action"));
|
||||
request2.setParameter("action", "bar");
|
||||
assertArrayEquals(new Object[] {"bar","foo"}, wrapper.getParameterValues("action"));
|
||||
// Check map is consistent
|
||||
String[] valuesFromMap = (String[]) wrapper.getParameterMap().get("action");
|
||||
assertEquals(2, valuesFromMap.length);
|
||||
assertEquals("bar", valuesFromMap[0]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user