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 <a...@apache.org> 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; } }