You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

VaadinHttpAndPortletRequestTests.java 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. /*
  2. * Copyright 2000-2014 Vaadin Ltd.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  5. * use this file except in compliance with the License. You may obtain a copy of
  6. * the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  12. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  13. * License for the specific language governing permissions and limitations under
  14. * the License.
  15. */
  16. package com.vaadin.server;
  17. import static org.hamcrest.MatcherAssert.assertThat;
  18. import static org.hamcrest.core.Is.is;
  19. import static org.mockito.Mockito.mock;
  20. import static org.mockito.Mockito.when;
  21. import java.util.Enumeration;
  22. import java.util.Map;
  23. import javax.portlet.PortletRequest;
  24. import javax.servlet.http.HttpServletRequest;
  25. import org.junit.Before;
  26. import org.junit.Ignore;
  27. import org.junit.Test;
  28. import com.vaadin.server.VaadinPortlet.VaadinHttpAndPortletRequest;
  29. import com.vaadin.server.VaadinPortletService;
  30. //Have to ignore this class - otherwise JUnit tries to instantiate it...
  31. @Ignore
  32. public abstract class VaadinHttpAndPortletRequestTests<T extends VaadinHttpAndPortletRequest> {
  33. protected VaadinHttpAndPortletRequest sut;
  34. protected HttpServletRequest servletRequest;
  35. protected PortletRequest portletRequest;
  36. protected VaadinPortletService vaadinPortletService;
  37. protected abstract T createSut();
  38. @Before
  39. public void setup() {
  40. portletRequest = mock(PortletRequest.class);
  41. vaadinPortletService = mock(VaadinPortletService.class);
  42. servletRequest = mock(HttpServletRequest.class);
  43. sut = createSut();
  44. }
  45. @Test
  46. public void parameterIsFetchedFromServletRequest() {
  47. when(servletRequest.getParameter("foo")).thenReturn("bar");
  48. String parameter = sut.getParameter("foo");
  49. assertThat(parameter, is("bar"));
  50. }
  51. @Test
  52. public void originalParameterIsOverridden() {
  53. when(servletRequest.getParameter("foo")).thenReturn("braa");
  54. when(portletRequest.getParameter("foo")).thenReturn("bar");
  55. String parameter = sut.getParameter("foo");
  56. assertThat(parameter, is("bar"));
  57. }
  58. @Test
  59. public void remoteAddressIsFetchedFromServletRequest() {
  60. when(servletRequest.getRemoteAddr()).thenReturn("foo");
  61. String remoteAddr = sut.getRemoteAddr();
  62. assertThat(remoteAddr, is("foo"));
  63. }
  64. @Test
  65. public void remoteHostIsFetchedFromServletRequest() {
  66. when(servletRequest.getRemoteHost()).thenReturn("foo");
  67. String remoteHost = sut.getRemoteHost();
  68. assertThat(remoteHost, is("foo"));
  69. }
  70. @Test
  71. public void remotePortIsFetchedFromServletRequest() {
  72. when(servletRequest.getRemotePort()).thenReturn(12345);
  73. int remotePort = sut.getRemotePort();
  74. assertThat(remotePort, is(12345));
  75. }
  76. @Test
  77. public void headerIsFetchedFromServletRequest() {
  78. when(servletRequest.getHeader("foo")).thenReturn("bar");
  79. String header = sut.getHeader("foo");
  80. assertThat(header, is("bar"));
  81. }
  82. @Test
  83. public void headerNamesAreFetchedFromServletRequest() {
  84. Enumeration expectedHeaderNames = mock(Enumeration.class);
  85. when(servletRequest.getHeaderNames()).thenReturn(expectedHeaderNames);
  86. Enumeration<String> actualHeaderNames = sut.getHeaderNames();
  87. assertThat(actualHeaderNames, is(expectedHeaderNames));
  88. }
  89. @Test
  90. public void headersAreFetchedFromServletRequest() {
  91. Enumeration expectedHeaders = mock(Enumeration.class);
  92. when(servletRequest.getHeaders("foo")).thenReturn(expectedHeaders);
  93. Enumeration<String> actualHeaders = sut.getHeaders("foo");
  94. assertThat(actualHeaders, is(expectedHeaders));
  95. }
  96. @Test
  97. public void parameterMapIsFetchedFromServletRequest() {
  98. Map expectedParameterMap = mock(Map.class);
  99. when(servletRequest.getParameterMap()).thenReturn(expectedParameterMap);
  100. Map<String, String[]> actualParameterMap = sut.getParameterMap();
  101. assertThat(actualParameterMap, is(expectedParameterMap));
  102. }
  103. }