aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language-web/src/test/java
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2022-10-02 15:45:49 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2022-10-03 20:06:53 +0200
commit70ac4438b05136c54017d98a883bf6bf0f938d47 (patch)
tree2418f8670bf8ff2d7e6f6be2768c112e56de2a79 /subprojects/language-web/src/test/java
parentfeat(frontend): animate GenerateButton (diff)
downloadrefinery-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.java32
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 @@
1package tools.refinery.language.web; 1package tools.refinery.language.web;
2 2
3import static org.hamcrest.MatcherAssert.assertThat;
4import static org.hamcrest.Matchers.equalTo;
5import static org.hamcrest.Matchers.hasSize;
6import static org.hamcrest.Matchers.instanceOf;
7import static org.hamcrest.Matchers.startsWith;
8import static org.junit.jupiter.api.Assertions.assertThrows;
9
10import java.io.IOException;
11import java.net.InetSocketAddress;
12import java.net.URI;
13import java.util.concurrent.CompletableFuture;
14import java.util.concurrent.CompletionException;
15
16import org.eclipse.jetty.http.HttpHeader; 3import org.eclipse.jetty.http.HttpHeader;
17import org.eclipse.jetty.http.HttpStatus; 4import org.eclipse.jetty.http.HttpStatus;
18import org.eclipse.jetty.server.Server; 5import org.eclipse.jetty.server.Server;
@@ -32,15 +19,24 @@ import org.junit.jupiter.api.BeforeEach;
32import org.junit.jupiter.api.Test; 19import org.junit.jupiter.api.Test;
33import org.junit.jupiter.params.ParameterizedTest; 20import org.junit.jupiter.params.ParameterizedTest;
34import org.junit.jupiter.params.provider.ValueSource; 21import org.junit.jupiter.params.provider.ValueSource;
35
36import tools.refinery.language.web.tests.WebSocketIntegrationTestClient; 22import tools.refinery.language.web.tests.WebSocketIntegrationTestClient;
37import tools.refinery.language.web.xtext.servlet.XtextStatusCode; 23import tools.refinery.language.web.xtext.servlet.XtextStatusCode;
38import tools.refinery.language.web.xtext.servlet.XtextWebSocketServlet; 24import tools.refinery.language.web.xtext.servlet.XtextWebSocketServlet;
39 25
26import java.io.IOException;
27import java.net.InetSocketAddress;
28import java.net.URI;
29import java.util.concurrent.CompletableFuture;
30import java.util.concurrent.CompletionException;
31
32import static org.hamcrest.MatcherAssert.assertThat;
33import static org.hamcrest.Matchers.*;
34import static org.junit.jupiter.api.Assertions.assertThrows;
35
40class ProblemWebSocketServletIntegrationTest { 36class 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));