/* * Copyright 2000-2016 Vaadin Ltd. * * 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 com.vaadin.server; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.Is.is; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.util.Enumeration; import java.util.Map; import javax.portlet.PortletRequest; import javax.servlet.http.HttpServletRequest; import org.junit.Before; import org.junit.Test; import com.vaadin.server.VaadinPortlet.VaadinHttpAndPortletRequest; public abstract class VaadinHttpAndPortletRequestTestBase<T extends VaadinHttpAndPortletRequest> { protected VaadinHttpAndPortletRequest sut; protected HttpServletRequest servletRequest; protected PortletRequest portletRequest; protected VaadinPortletService vaadinPortletService; protected abstract T createSut(); @Before public void setup() { portletRequest = mock(PortletRequest.class); vaadinPortletService = mock(VaadinPortletService.class); servletRequest = mock(HttpServletRequest.class); sut = createSut(); } @Test public void parameterIsFetchedFromServletRequest() { when(servletRequest.getParameter("foo")).thenReturn("bar"); String parameter = sut.getParameter("foo"); assertThat(parameter, is("bar")); } @Test public void originalParameterIsOverridden() { when(servletRequest.getParameter("foo")).thenReturn("braa"); when(portletRequest.getParameter("foo")).thenReturn("bar"); String parameter = sut.getParameter("foo"); assertThat(parameter, is("bar")); } @Test public void remoteAddressIsFetchedFromServletRequest() { when(servletRequest.getRemoteAddr()).thenReturn("foo"); String remoteAddr = sut.getRemoteAddr(); assertThat(remoteAddr, is("foo")); } @Test public void remoteHostIsFetchedFromServletRequest() { when(servletRequest.getRemoteHost()).thenReturn("foo"); String remoteHost = sut.getRemoteHost(); assertThat(remoteHost, is("foo")); } @Test public void remotePortIsFetchedFromServletRequest() { when(servletRequest.getRemotePort()).thenReturn(12345); int remotePort = sut.getRemotePort(); assertThat(remotePort, is(12345)); } @Test public void headerIsFetchedFromServletRequest() { when(servletRequest.getHeader("foo")).thenReturn("bar"); String header = sut.getHeader("foo"); assertThat(header, is("bar")); } @Test public void headerNamesAreFetchedFromServletRequest() { Enumeration expectedHeaderNames = mock(Enumeration.class); when(servletRequest.getHeaderNames()).thenReturn(expectedHeaderNames); Enumeration<String> actualHeaderNames = sut.getHeaderNames(); assertThat(actualHeaderNames, is(expectedHeaderNames)); } @Test public void headersAreFetchedFromServletRequest() { Enumeration expectedHeaders = mock(Enumeration.class); when(servletRequest.getHeaders("foo")).thenReturn(expectedHeaders); Enumeration<String> actualHeaders = sut.getHeaders("foo"); assertThat(actualHeaders, is(expectedHeaders)); } @Test public void parameterMapIsFetchedFromServletRequest() { Map expectedParameterMap = mock(Map.class); when(servletRequest.getParameterMap()).thenReturn(expectedParameterMap); Map<String, String[]> actualParameterMap = sut.getParameterMap(); assertThat(actualParameterMap, is(expectedParameterMap)); } }