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.

VaadinServletConfigurationTest.java 3.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package com.vaadin.server;
  2. import static org.junit.Assert.assertEquals;
  3. import static org.junit.Assert.assertFalse;
  4. import static org.junit.Assert.assertTrue;
  5. import java.util.Properties;
  6. import javax.servlet.ServletException;
  7. import javax.servlet.http.HttpServletRequest;
  8. import org.easymock.EasyMock;
  9. import org.junit.Test;
  10. import com.vaadin.annotations.VaadinServletConfiguration;
  11. import com.vaadin.server.MockUIContainingServlet.ServletInUI;
  12. import com.vaadin.ui.UI;
  13. public class VaadinServletConfigurationTest {
  14. @Test
  15. public void testEnclosingUIClass() throws Exception {
  16. ServletInUI servlet = new MockUIContainingServlet.ServletInUI();
  17. servlet.init(new MockServletConfig());
  18. Class<? extends UI> uiClass = new DefaultUIProvider()
  19. .getUIClass(new UIClassSelectionEvent(new VaadinServletRequest(
  20. EasyMock.createMock(HttpServletRequest.class),
  21. servlet.getService())));
  22. assertEquals(MockUIContainingServlet.class, uiClass);
  23. }
  24. @Test
  25. public void testValuesFromAnnotation() throws ServletException {
  26. TestServlet servlet = new TestServlet();
  27. servlet.init(new MockServletConfig());
  28. DeploymentConfiguration configuration = servlet.getService()
  29. .getDeploymentConfiguration();
  30. assertTrue(configuration.isProductionMode());
  31. assertTrue(configuration.isCloseIdleSessions());
  32. assertEquals(1234, configuration.getHeartbeatInterval());
  33. assertEquals(4321, configuration.getResourceCacheTime());
  34. Class<? extends UI> uiClass = new DefaultUIProvider()
  35. .getUIClass(new UIClassSelectionEvent(new VaadinServletRequest(
  36. EasyMock.createMock(HttpServletRequest.class),
  37. servlet.getService())));
  38. assertEquals(MockUIContainingServlet.class, uiClass);
  39. }
  40. @Test
  41. public void testValuesOverriddenForServlet() throws ServletException {
  42. Properties servletInitParams = new Properties();
  43. servletInitParams.setProperty("productionMode", "false");
  44. servletInitParams.setProperty("heartbeatInterval", "1111");
  45. TestServlet servlet = new TestServlet();
  46. servlet.init(new MockServletConfig(servletInitParams));
  47. DeploymentConfiguration configuration = servlet.getService()
  48. .getDeploymentConfiguration();
  49. // Values from servlet init params take precedence
  50. assertEquals(1111, configuration.getHeartbeatInterval());
  51. assertFalse(configuration.isProductionMode());
  52. // Other params are as defined in the annotation
  53. assertTrue(configuration.isCloseIdleSessions());
  54. assertEquals(4321, configuration.getResourceCacheTime());
  55. Class<? extends UI> uiClass = new DefaultUIProvider()
  56. .getUIClass(new UIClassSelectionEvent(new VaadinServletRequest(
  57. EasyMock.createMock(HttpServletRequest.class),
  58. servlet.getService())));
  59. assertEquals(MockUIContainingServlet.class, uiClass);
  60. }
  61. }
  62. @VaadinServletConfiguration(productionMode = true, ui = MockUIContainingServlet.class, closeIdleSessions = true, heartbeatInterval = 1234, resourceCacheTime = 4321)
  63. class TestServlet extends VaadinServlet {
  64. }