/* * Copyright 2002-2006 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.springframework.mock.web; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import junit.framework.TestCase; /** * @author Rick Evans * @author Mark Fisher */ public class MockHttpServletRequestTests extends TestCase { public void testHttpHeaderNameCasingIsPreserved() throws Exception { String headerName = "Header1"; MockHttpServletRequest request = new MockHttpServletRequest(); request.addHeader(headerName, "value1"); Enumeration requestHeaders = request.getHeaderNames(); assertNotNull(requestHeaders); assertEquals("HTTP header casing not being preserved", headerName, requestHeaders.nextElement()); } public void testSetMultipleParameters() { MockHttpServletRequest request = new MockHttpServletRequest(); request.setParameter("key1", "value1"); request.setParameter("key2", "value2"); Map params = new HashMap(2); params.put("key1", "newValue1"); params.put("key3", new String[] { "value3A", "value3B" }); request.setParameters(params); String[] values1 = request.getParameterValues("key1"); assertEquals(1, values1.length); assertEquals("newValue1", request.getParameter("key1")); assertEquals("value2", request.getParameter("key2")); String[] values3 = request.getParameterValues("key3"); assertEquals(2, values3.length); assertEquals("value3A", values3[0]); assertEquals("value3B", values3[1]); } public void testAddMultipleParameters() { MockHttpServletRequest request = new MockHttpServletRequest(); request.setParameter("key1", "value1"); request.setParameter("key2", "value2"); Map params = new HashMap(2); params.put("key1", "newValue1"); params.put("key3", new String[] { "value3A", "value3B" }); request.addParameters(params); String[] values1 = request.getParameterValues("key1"); assertEquals(2, values1.length); assertEquals("value1", values1[0]); assertEquals("newValue1", values1[1]); assertEquals("value2", request.getParameter("key2")); String[] values3 = request.getParameterValues("key3"); assertEquals(2, values3.length); assertEquals("value3A", values3[0]); assertEquals("value3B", values3[1]); } public void testRemoveAllParameters() { MockHttpServletRequest request = new MockHttpServletRequest(); request.setParameter("key1", "value1"); Map params = new HashMap(2); params.put("key2", "value2"); params.put("key3", new String[] { "value3A", "value3B" }); request.addParameters(params); assertEquals(3, request.getParameterMap().size()); request.removeAllParameters(); assertEquals(0, request.getParameterMap().size()); } }