/** * Licensed to Apereo under one or more contributor license agreements. See the NOTICE file * distributed with this work for additional information regarding copyright ownership. Apereo * licenses this file to you 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 the * following location: * * <p>http://www.apache.org/licenses/LICENSE-2.0 * * <p>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.apereo.portal.portlet.container.properties; import com.google.common.collect.ImmutableMap; import java.util.Collections; import java.util.List; import java.util.Map; import junit.framework.TestCase; import org.apereo.portal.portlet.om.IPortletWindow; import org.apereo.portal.url.IPortalRequestUtils; import org.apereo.portal.utils.MultivaluedMapPopulator; import org.easymock.EasyMock; import org.springframework.mock.web.MockHttpServletRequest; /** */ public class HttpRequestPropertiesManagerTest extends TestCase { private HttpRequestPropertiesManager httpRequestPropertiesManager; /* (non-Javadoc) * @see junit.framework.TestCase#setUp() */ @Override protected void setUp() throws Exception { this.httpRequestPropertiesManager = new HttpRequestPropertiesManager(); } /* (non-Javadoc) * @see junit.framework.TestCase#tearDown() */ @Override protected void tearDown() throws Exception { this.httpRequestPropertiesManager = null; } public void testGetRequestProperties() { final MockHttpServletRequest request = new MockHttpServletRequest(); request.setRemoteAddr("1.2.3.4"); request.setMethod("POST"); final IPortletWindow portletWindow = EasyMock.createMock(IPortletWindow.class); final IPortalRequestUtils portalRequestUtils = EasyMock.createMock(IPortalRequestUtils.class); EasyMock.expect(portalRequestUtils.getOriginalPortalRequest(request)).andReturn(request); EasyMock.replay(portletWindow, portalRequestUtils); this.httpRequestPropertiesManager.setPortalRequestUtils(portalRequestUtils); final MultivaluedMapPopulator<String, String> populator = new MultivaluedMapPopulator<String, String>(); this.httpRequestPropertiesManager.populateRequestProperties( request, portletWindow, populator); final Map<String, List<String>> properties = populator.getMap(); assertNotNull("properties Map should not be null", properties); final Map<String, List<String>> expected = ImmutableMap.of( "REMOTE_ADDR", Collections.singletonList("1.2.3.4"), "REQUEST_METHOD", Collections.singletonList("POST"), "REMOTE_HOST", Collections.singletonList("localhost")); assertEquals(expected, properties); EasyMock.verify(portletWindow, portalRequestUtils); } }