aboutsummaryrefslogtreecommitdiffstats
path: root/server/src/test
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2016-10-26 22:35:23 +0300
committerVaadin Code Review <review@vaadin.com>2016-10-29 07:34:54 +0000
commit1e978a6ba0924c240803543a31d024b7c649f4ce (patch)
tree4ebe5a576e2b4c05417b0822c8becb91bd091130 /server/src/test
parent334b3f0a4b393f274d171dddc359be605c2cd1b1 (diff)
downloadvaadin-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.java76
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;
+ }
}