This is an automated email from the ASF dual-hosted git repository.
andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git
The following commit(s) were added to refs/heads/main by this push:
new f0da095dce Ensure tests stop any FusekiServer
f0da095dce is described below
commit f0da095dced2d73e163ff55ccb0936ae5473640e
Author: Andy Seaborne <[email protected]>
AuthorDate: Mon May 13 14:18:34 2024 +0100
Ensure tests stop any FusekiServer
---
.../org/apache/jena/fuseki/main/TS_FusekiMain.java | 1 +
.../jena/fuseki/main/TestCrossOriginFilter.java | 6 ++--
.../fuseki/main/TestFusekiMainCmdArguments.java | 38 ++++++++++++++--------
3 files changed, 29 insertions(+), 16 deletions(-)
diff --git
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TS_FusekiMain.java
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TS_FusekiMain.java
index 9c32503025..6c60f82cfa 100644
---
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TS_FusekiMain.java
+++
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TS_FusekiMain.java
@@ -30,6 +30,7 @@ import org.junit.runners.Suite.SuiteClasses;
// This tests modules and modifies the system state.
, TestFusekiModules.class
+
, TestMultipleEmbedded.class
, TestFusekiCustomOperation.class
, TestFusekiMainCmd.class
diff --git
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestCrossOriginFilter.java
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestCrossOriginFilter.java
index 0a5019cc27..252a4e42f6 100644
---
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestCrossOriginFilter.java
+++
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestCrossOriginFilter.java
@@ -224,7 +224,7 @@ public class TestCrossOriginFilter {
String unrecognisedHeader = "Content-Type, unknown-header";
String[] headersToPass = {"Access-Control-Request-Method", "POST",
"Access-Control-Request-Headers",
unrecognisedHeader};
- FusekiServer server = server("--mem", "/ds");
+ FusekiServer server = server("--port=0", "--mem", "/ds");
executeWithServer(server, "/ds", URL->{
// when
HttpResponse<InputStream> response = httpOptions(URL,
headersToPass);
@@ -244,7 +244,7 @@ public class TestCrossOriginFilter {
"Origin", "http://localhost:5173",
"Access-Control-Request-Headers",
nonDefaultAllowedHeader};
String expectedAllowedHeaders =
"X-Requested-With,Content-Type,Accept,Origin,Last-Modified,Authorization,Custom-Header";
- FusekiServer server = server("--mem",
"--CORS=testing/Config/cors.properties","/ds");
+ FusekiServer server = server("--port=0", "--mem",
"--CORS=testing/Config/cors.properties","/ds");
executeWithServer(server, "/ds", URL->{
// when
HttpResponse<InputStream> response = httpOptions(URL,
headersToPass);
@@ -263,7 +263,7 @@ public class TestCrossOriginFilter {
String defaultHeader = "Content-Type";
String[] headersToPass = {"Access-Control-Request-Method", "POST",
"Access-Control-Request-Headers",
defaultHeader};
- FusekiServer server = server("--mem", "--noCORS", "/ds");
+ FusekiServer server = server("--port=0", "--mem", "--noCORS", "/ds");
executeWithServer(server, "/ds", URL->{
// when
HttpResponse<InputStream> response = httpOptions(URL,
headersToPass);
diff --git
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiMainCmdArguments.java
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiMainCmdArguments.java
index bca54ecb46..ca3faf6d6c 100644
---
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiMainCmdArguments.java
+++
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiMainCmdArguments.java
@@ -17,26 +17,36 @@
*/
package org.apache.jena.fuseki.main;
-import org.apache.jena.cmd.CmdException;
-import org.apache.jena.fuseki.main.cmds.FusekiMain;
-import org.junit.Test;
+import static java.util.Collections.emptyList;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.util.List;
-import static java.util.Collections.emptyList;
-import static org.junit.Assert.*;
+import org.apache.jena.cmd.CmdException;
+import org.apache.jena.fuseki.main.cmds.FusekiMain;
+import org.junit.After;
+import org.junit.Test;
/**
* NOTE: we will randomise the port (--port=0) on all happy paths in order to
avoid conflict with existing runs.
*/
public class TestFusekiMainCmdArguments {
+ private FusekiServer server = null;
+ @After public void after() {
+ if ( server != null )
+ server.stop();
+ }
+
@Test
public void test_happy_empty() {
// given
List<String> arguments = List.of("--port=0", "--empty", "/dataset");
// when
- FusekiServer server = buildServer(buildCmdLineArguments(arguments));
+ buildServer(buildCmdLineArguments(arguments));
// then
assertNotNull(server);
}
@@ -46,7 +56,7 @@ public class TestFusekiMainCmdArguments {
// given
List<String> arguments = List.of("--port=0", "--localhost", "--mem",
"/dataset");
// when
- FusekiServer server = buildServer(buildCmdLineArguments(arguments));
+ buildServer(buildCmdLineArguments(arguments));
// then
assertNotNull(server);
}
@@ -338,14 +348,14 @@ public class TestFusekiMainCmdArguments {
@Test
public void test_happy_corsConfig() {
// given
- List<String> arguments = List.of("--mem",
"--CORS=testing/Config/cors.properties", "--localhost", "/path");
+ List<String> arguments = List.of("--port=0", "--mem",
"--CORS=testing/Config/cors.properties", "--localhost", "/path");
// when
- FusekiServer server = buildServer(buildCmdLineArguments(arguments));
+ buildServer(buildCmdLineArguments(arguments));
// then
assertNotNull(server);
}
- private static void testForCmdException(List<String> arguments, String
expectedMessage) {
+ private void testForCmdException(List<String> arguments, String
expectedMessage) {
// when
Throwable actual = null;
try {
@@ -364,10 +374,12 @@ public class TestFusekiMainCmdArguments {
return listArgs.toArray(new String[0]);
}
- private static FusekiServer buildServer(String... cmdline) {
- FusekiServer server = FusekiMain.build(cmdline);
+ // Build and set the server
+ private void buildServer(String... cmdline) {
+ if ( server != null )
+ fail("Bad test - a server has aleardy been created");
+ server = FusekiMain.build(cmdline);
server.start();
- return server;
}
}