diff options
author | Artur Signell <artur@vaadin.com> | 2016-10-26 22:35:23 +0300 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2016-10-29 07:34:54 +0000 |
commit | 1e978a6ba0924c240803543a31d024b7c649f4ce (patch) | |
tree | 4ebe5a576e2b4c05417b0822c8becb91bd091130 /server/src/test | |
parent | 334b3f0a4b393f274d171dddc359be605c2cd1b1 (diff) | |
download | vaadin-framework-1e978a6ba0924c240803543a31d024b7c649f4ce.tar.gz vaadin-framework-1e978a6ba0924c240803543a31d024b7c649f4ce.zip |
Serve static files also in servletPath/VAADIN (#14398)
Change-Id: I6891827a1fb99216d4e286c761d1384a88000604
Diffstat (limited to 'server/src/test')
-rw-r--r-- | server/src/test/java/com/vaadin/server/VaadinServletTest.java | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/server/src/test/java/com/vaadin/server/VaadinServletTest.java b/server/src/test/java/com/vaadin/server/VaadinServletTest.java index 5d43d315ff..296d4e8c40 100644 --- a/server/src/test/java/com/vaadin/server/VaadinServletTest.java +++ b/server/src/test/java/com/vaadin/server/VaadinServletTest.java @@ -15,8 +15,11 @@ */ package com.vaadin.server; +import javax.servlet.http.HttpServletRequest; + import org.junit.Assert; import org.junit.Test; +import org.mockito.Mockito; public class VaadinServletTest { @@ -57,4 +60,77 @@ public class VaadinServletTest { Assert.assertEquals("", VaadinServlet .getLastPathParameter("http://myhost.com/a;hello/;b=1,c=2/")); } + + @Test + public void getStaticFilePath() { + VaadinServlet servlet = new VaadinServlet(); + + // Mapping: /VAADIN/* + // /VAADIN + Assert.assertNull(servlet + .getStaticFilePath(createServletRequest("/VAADIN", null))); + // /VAADIN/ - not really sensible but still interpreted as a resource + // request + Assert.assertEquals("/VAADIN/", servlet + .getStaticFilePath(createServletRequest("/VAADIN", "/"))); + // /VAADIN/vaadinBootstrap.js + Assert.assertEquals("/VAADIN/vaadinBootstrap.js", + servlet.getStaticFilePath(createServletRequest("/VAADIN", + "/vaadinBootstrap.js"))); + // /VAADIN/foo bar.js + Assert.assertEquals("/VAADIN/foo bar.js", servlet.getStaticFilePath( + createServletRequest("/VAADIN", "/foo bar.js"))); + // /VAADIN/.. - not normalized and disallowed in this method + Assert.assertEquals("/VAADIN/..", servlet + .getStaticFilePath(createServletRequest("/VAADIN", "/.."))); + + // Mapping: /* + // / + Assert.assertNull( + servlet.getStaticFilePath(createServletRequest("", null))); + // /VAADIN + Assert.assertNull( + servlet.getStaticFilePath(createServletRequest("", "/VAADIN"))); + // /VAADIN/ + Assert.assertEquals("/VAADIN/", servlet + .getStaticFilePath(createServletRequest("", "/VAADIN/"))); + // /VAADIN/foo bar.js + Assert.assertEquals("/VAADIN/foo bar.js", servlet.getStaticFilePath( + createServletRequest("", "/VAADIN/foo bar.js"))); + // /VAADIN/.. - not normalized and disallowed in this method + Assert.assertEquals("/VAADIN/..", servlet + .getStaticFilePath(createServletRequest("", "/VAADIN/.."))); + // /BAADIN/foo.js + Assert.assertNull(servlet + .getStaticFilePath(createServletRequest("", "/BAADIN/foo.js"))); + + // Mapping: /myservlet/* + // /myservlet + Assert.assertNull(servlet + .getStaticFilePath(createServletRequest("/myservlet", null))); + // /myservlet/VAADIN + Assert.assertNull(servlet.getStaticFilePath( + createServletRequest("/myservlet", "/VAADIN"))); + // /myservlet/VAADIN/ + Assert.assertEquals("/VAADIN/", servlet.getStaticFilePath( + createServletRequest("/myservlet", "/VAADIN/"))); + // /myservlet/VAADIN/foo bar.js + Assert.assertEquals("/VAADIN/foo bar.js", servlet.getStaticFilePath( + createServletRequest("/myservlet", "/VAADIN/foo bar.js"))); + // /myservlet/VAADIN/.. - not normalized and disallowed in this method + Assert.assertEquals("/VAADIN/..", servlet.getStaticFilePath( + createServletRequest("/myservlet", "/VAADIN/.."))); + // /myservlet/BAADIN/foo.js + Assert.assertNull(servlet.getStaticFilePath( + createServletRequest("/myservlet", "/BAADIN/foo.js"))); + + } + + private HttpServletRequest createServletRequest(String servletPath, + String pathInfo) { + HttpServletRequest request = Mockito.mock(HttpServletRequest.class); + Mockito.when(request.getServletPath()).thenReturn(servletPath); + Mockito.when(request.getPathInfo()).thenReturn(pathInfo); + return request; + } } |