diff options
author | 2022-10-02 15:45:49 +0200 | |
---|---|---|
committer | 2022-10-03 20:06:53 +0200 | |
commit | 70ac4438b05136c54017d98a883bf6bf0f938d47 (patch) | |
tree | 2418f8670bf8ff2d7e6f6be2768c112e56de2a79 /subprojects/language-web/src/test/java | |
parent | feat(frontend): animate GenerateButton (diff) | |
download | refinery-70ac4438b05136c54017d98a883bf6bf0f938d47.tar.gz refinery-70ac4438b05136c54017d98a883bf6bf0f938d47.tar.zst refinery-70ac4438b05136c54017d98a883bf6bf0f938d47.zip |
feat(frontend): enable cross-origin isolation
Diffstat (limited to 'subprojects/language-web/src/test/java')
-rw-r--r-- | subprojects/language-web/src/test/java/tools/refinery/language/web/ProblemWebSocketServletIntegrationTest.java | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/subprojects/language-web/src/test/java/tools/refinery/language/web/ProblemWebSocketServletIntegrationTest.java b/subprojects/language-web/src/test/java/tools/refinery/language/web/ProblemWebSocketServletIntegrationTest.java index a26ce040..e6b4b940 100644 --- a/subprojects/language-web/src/test/java/tools/refinery/language/web/ProblemWebSocketServletIntegrationTest.java +++ b/subprojects/language-web/src/test/java/tools/refinery/language/web/ProblemWebSocketServletIntegrationTest.java | |||
@@ -1,18 +1,5 @@ | |||
1 | package tools.refinery.language.web; | 1 | package tools.refinery.language.web; |
2 | 2 | ||
3 | import static org.hamcrest.MatcherAssert.assertThat; | ||
4 | import static org.hamcrest.Matchers.equalTo; | ||
5 | import static org.hamcrest.Matchers.hasSize; | ||
6 | import static org.hamcrest.Matchers.instanceOf; | ||
7 | import static org.hamcrest.Matchers.startsWith; | ||
8 | import static org.junit.jupiter.api.Assertions.assertThrows; | ||
9 | |||
10 | import java.io.IOException; | ||
11 | import java.net.InetSocketAddress; | ||
12 | import java.net.URI; | ||
13 | import java.util.concurrent.CompletableFuture; | ||
14 | import java.util.concurrent.CompletionException; | ||
15 | |||
16 | import org.eclipse.jetty.http.HttpHeader; | 3 | import org.eclipse.jetty.http.HttpHeader; |
17 | import org.eclipse.jetty.http.HttpStatus; | 4 | import org.eclipse.jetty.http.HttpStatus; |
18 | import org.eclipse.jetty.server.Server; | 5 | import org.eclipse.jetty.server.Server; |
@@ -32,15 +19,24 @@ import org.junit.jupiter.api.BeforeEach; | |||
32 | import org.junit.jupiter.api.Test; | 19 | import org.junit.jupiter.api.Test; |
33 | import org.junit.jupiter.params.ParameterizedTest; | 20 | import org.junit.jupiter.params.ParameterizedTest; |
34 | import org.junit.jupiter.params.provider.ValueSource; | 21 | import org.junit.jupiter.params.provider.ValueSource; |
35 | |||
36 | import tools.refinery.language.web.tests.WebSocketIntegrationTestClient; | 22 | import tools.refinery.language.web.tests.WebSocketIntegrationTestClient; |
37 | import tools.refinery.language.web.xtext.servlet.XtextStatusCode; | 23 | import tools.refinery.language.web.xtext.servlet.XtextStatusCode; |
38 | import tools.refinery.language.web.xtext.servlet.XtextWebSocketServlet; | 24 | import tools.refinery.language.web.xtext.servlet.XtextWebSocketServlet; |
39 | 25 | ||
26 | import java.io.IOException; | ||
27 | import java.net.InetSocketAddress; | ||
28 | import java.net.URI; | ||
29 | import java.util.concurrent.CompletableFuture; | ||
30 | import java.util.concurrent.CompletionException; | ||
31 | |||
32 | import static org.hamcrest.MatcherAssert.assertThat; | ||
33 | import static org.hamcrest.Matchers.*; | ||
34 | import static org.junit.jupiter.api.Assertions.assertThrows; | ||
35 | |||
40 | class ProblemWebSocketServletIntegrationTest { | 36 | class ProblemWebSocketServletIntegrationTest { |
41 | private static int SERVER_PORT = 28080; | 37 | private static final int SERVER_PORT = 28080; |
42 | 38 | ||
43 | private static String SERVLET_URI = "/xtext-service"; | 39 | private static final String SERVLET_URI = "/xtext-service"; |
44 | 40 | ||
45 | private GlobalStateMemento stateBeforeInjectorCreation; | 41 | private GlobalStateMemento stateBeforeInjectorCreation; |
46 | 42 | ||
@@ -151,7 +147,7 @@ class ProblemWebSocketServletIntegrationTest { | |||
151 | @ParameterizedTest(name = "Origin: {0}") | 147 | @ParameterizedTest(name = "Origin: {0}") |
152 | @ValueSource(strings = { "https://refinery.example", "https://refinery.example:443", "HTTPS://REFINERY.EXAMPLE" }) | 148 | @ValueSource(strings = { "https://refinery.example", "https://refinery.example:443", "HTTPS://REFINERY.EXAMPLE" }) |
153 | void validOriginTest(String origin) { | 149 | void validOriginTest(String origin) { |
154 | startServer("https://refinery.example;https://refinery.example:443"); | 150 | startServer("https://refinery.example,https://refinery.example:443"); |
155 | var clientSocket = new CloseImmediatelyTestClient(); | 151 | var clientSocket = new CloseImmediatelyTestClient(); |
156 | connect(clientSocket, origin, XtextWebSocketServlet.XTEXT_SUBPROTOCOL_V1); | 152 | connect(clientSocket, origin, XtextWebSocketServlet.XTEXT_SUBPROTOCOL_V1); |
157 | clientSocket.waitForTestResult(); | 153 | clientSocket.waitForTestResult(); |
@@ -160,7 +156,7 @@ class ProblemWebSocketServletIntegrationTest { | |||
160 | 156 | ||
161 | @Test | 157 | @Test |
162 | void invalidOriginTest() { | 158 | void invalidOriginTest() { |
163 | startServer("https://refinery.example;https://refinery.example:443"); | 159 | startServer("https://refinery.example,https://refinery.example:443"); |
164 | var clientSocket = new CloseImmediatelyTestClient(); | 160 | var clientSocket = new CloseImmediatelyTestClient(); |
165 | var exception = assertThrows(CompletionException.class, | 161 | var exception = assertThrows(CompletionException.class, |
166 | () -> connect(clientSocket, "https://invalid.example", XtextWebSocketServlet.XTEXT_SUBPROTOCOL_V1)); | 162 | () -> connect(clientSocket, "https://invalid.example", XtextWebSocketServlet.XTEXT_SUBPROTOCOL_V1)); |