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

commit a281c70fa2e6f3b661a7e4b741494695633d85c6
Author: Andy Seaborne <[email protected]>
AuthorDate: Tue Dec 17 20:23:33 2024 +0000

    Convert Fuseki-main tests to JUnit5
---
 jena-fuseki2/jena-fuseki-core/pom.xml              |   6 +
 .../java/org/apache/jena/fuseki/TS_FusekiCore.java |  14 +-
 .../UtilsTests.java => TestPrefixesCore.java}      |  21 +-
 .../jena/fuseki/servlets/prefixes/RegexTests.java  |  44 ----
 .../apache/jena/fuseki/mod/admin/FMod_Admin.java   |   8 +
 .../org/apache/jena/fuseki/TC_FusekiServer.java    |  12 +-
 .../jena/fuseki/main/AbstractFusekiTest.java       |   9 +-
 .../jena/fuseki/main/AbstractTestAuth_JDK.java     |   9 +-
 .../org/apache/jena/fuseki/main/FusekiTestLib.java |   2 +-
 .../org/apache/jena/fuseki/main/TC_FusekiMain.java |  40 ----
 .../org/apache/jena/fuseki/main/TS_FusekiMain.java |   5 +-
 .../apache/jena/fuseki/main/TestAuthQuery_JDK.java |   2 +-
 .../jena/fuseki/main/TestAuthUpdate_JDK.java       |   2 +-
 .../apache/jena/fuseki/main/TestConfigFile.java    |  13 +-
 .../jena/fuseki/main/TestCrossOriginFilter.java    |  32 +--
 .../apache/jena/fuseki/main/TestFileUpload.java    |   4 +-
 .../fuseki/main/TestFusekiCustomOperation.java     |  28 ++-
 .../fuseki/main/TestFusekiCustomScriptFunc.java    |  15 +-
 .../jena/fuseki/main/TestFusekiDatasetSharing.java |  25 +-
 .../apache/jena/fuseki/main/TestFusekiMainCmd.java |   8 +-
 .../fuseki/main/TestFusekiMainCmdArguments.java    |  47 ++--
 .../main/TestFusekiMainCmdCustomArguments.java     |  14 +-
 .../jena/fuseki/main/TestFusekiServerBuild.java    |   4 +-
 .../fuseki/main/TestFusekiShaclValidation.java     |  15 +-
 .../fuseki/main/TestFusekiStdReadOnlySetup.java    |  10 +-
 .../jena/fuseki/main/TestFusekiStdSetup.java       |  10 +-
 .../jena/fuseki/main/TestHttpOperations.java       |  41 ++--
 .../apache/jena/fuseki/main/TestHttpOptions.java   |   2 +-
 .../org/apache/jena/fuseki/main/TestMetrics.java   |   4 +-
 .../jena/fuseki/main/TestMultipleEmbedded.java     |  16 +-
 .../apache/jena/fuseki/main/TestPatchFuseki.java   |   8 +-
 .../apache/jena/fuseki/main/TestPlainServer.java   |  20 +-
 .../org/apache/jena/fuseki/main/TestQuery.java     |  35 ++-
 .../jena/fuseki/main/TestSPARQLProtocol.java       |  11 +-
 .../fuseki/main/TestSPARQLProtocolTimeout.java     |  21 +-
 .../AbstractTestFusekiSecurityAssembler.java       |  16 +-
 .../access/AbstractTestServiceDatasetAuth.java     |   2 +-
 .../jena/fuseki/main/access/AccessTestLib.java     |   3 +-
 .../jena/fuseki/main/access/TS_SecurityFuseki.java |   8 +-
 .../jena/fuseki/main/access/TestAuthorized.java    |  10 +-
 .../jena/fuseki/main/access/TestPasswdOnly.java    |  23 +-
 .../main/access/TestSecurityBuilderSetup.java      |  21 +-
 .../fuseki/main/access/TestSecurityConfig.java     |   7 +-
 .../main/access/TestSecurityFilterFuseki.java      | 256 +++++++++++++--------
 .../main/access/TestServiceDataAuthBuild.java      |  10 +-
 .../main/access/TestServiceDataAuthConfig.java     |  11 +-
 .../jena/fuseki/main/access/TestSimpleBearer.java  |   7 +-
 ...esServiceTests.java => TS_PrefixesService.java} |   2 +-
 .../jena/fuseki/main/sys/TestFusekiModules.java    |  43 ++--
 .../mod/{TC_FusekiMods.java => TS_FusekiMods.java} |   4 +-
 .../jena/fuseki/mod/admin/TestFusekiReload.java    |  16 +-
 .../src/test/resources/log4j2-test.properties      |   3 +-
 52 files changed, 505 insertions(+), 494 deletions(-)

diff --git a/jena-fuseki2/jena-fuseki-core/pom.xml 
b/jena-fuseki2/jena-fuseki-core/pom.xml
index 62913c924a..6a947e75c4 100644
--- a/jena-fuseki2/jena-fuseki-core/pom.xml
+++ b/jena-fuseki2/jena-fuseki-core/pom.xml
@@ -110,6 +110,12 @@
       <scope>test</scope>
     </dependency>
 
+    <dependency>
+      <groupId>org.junit.platform</groupId>
+      <artifactId>junit-platform-suite</artifactId>
+      <scope>test</scope>
+    </dependency>
+
     <!-- micrometer -->
     <dependency>
       <groupId>io.micrometer</groupId>
diff --git 
a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TS_FusekiCore.java
 
b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TS_FusekiCore.java
index b67669aa9f..4a4600f53d 100644
--- 
a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TS_FusekiCore.java
+++ 
b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TS_FusekiCore.java
@@ -18,21 +18,21 @@
 
 package org.apache.jena.fuseki;
 
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-import org.junit.runners.Suite.SuiteClasses;
+import org.junit.platform.suite.api.SelectClasses;
+import org.junit.platform.suite.api.Suite;
 
 import org.apache.jena.fuseki.server.TestDatasetDescriptionMap;
 import org.apache.jena.fuseki.server.TestDispatchOnURI;
 import org.apache.jena.fuseki.servlets.TestCrossOriginFilterMock;
+import org.apache.jena.fuseki.servlets.TestPrefixesCore;
 
-// Most testing needs a server.
-@RunWith(Suite.class)
-@SuiteClasses({
+@Suite
+@SelectClasses({
     TestValidators.class,
     TestDispatchOnURI.class,
     TestCrossOriginFilterMock.class,
-    TestDatasetDescriptionMap.class
+    TestDatasetDescriptionMap.class,
+    TestPrefixesCore.class
 })
 public class TS_FusekiCore {}
 
diff --git 
a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/servlets/prefixes/UtilsTests.java
 
b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/servlets/TestPrefixesCore.java
similarity index 89%
rename from 
jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/servlets/prefixes/UtilsTests.java
rename to 
jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/servlets/TestPrefixesCore.java
index f2810811af..56e82c1de4 100644
--- 
a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/servlets/prefixes/UtilsTests.java
+++ 
b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/servlets/TestPrefixesCore.java
@@ -16,14 +16,16 @@
  * limitations under the License.
  */
 
-package org.apache.jena.fuseki.servlets.prefixes;
+package org.apache.jena.fuseki.servlets;
 
 import org.junit.jupiter.api.Test;
 
+import org.apache.jena.fuseki.servlets.prefixes.PrefixUtils;
+
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class UtilsTests {
+public class TestPrefixesCore {
     @Test
     public void prefixIsValidTrue0() {
         assertTrue(PrefixUtils.prefixIsValid("prefix1"));
@@ -48,10 +50,17 @@ public class UtilsTests {
     public void prefixIsValidTrue4() {
         assertTrue(PrefixUtils.prefixIsValid("ca7--t"));
     }
+
     @Test
     public void prefixIsValidTrue5() {
         assertTrue(PrefixUtils.prefixIsValid("a__b"));
     }
+
+    @Test
+    public void prefixIsValidTrue6() {
+        assertTrue(PrefixUtils.prefixIsValid(""));
+    }
+
     @Test
     public void prefixIsValidFalse0() {
         assertFalse(PrefixUtils.prefixIsValid("-prefix1"));
@@ -64,16 +73,11 @@ public class UtilsTests {
 
     @Test
     public void prefixIsValidFalse2() {
-        assertFalse(PrefixUtils.prefixIsValid(""));
-    }
-
-    @Test
-    public void prefixIsValidFalse4() {
         assertFalse(PrefixUtils.prefixIsValid("c-b--"));
     }
 
     @Test
-    public void prefixIsValidFalse5() {
+    public void prefixIsValidFalse3() {
         assertFalse(PrefixUtils.prefixIsValid("pre/fix"));
     }
 
@@ -86,5 +90,4 @@ public class UtilsTests {
     public void uriIsValidFalse0() {
         assertFalse(PrefixUtils.uriIsValid("..."));
     }
-
 }
diff --git 
a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/servlets/prefixes/RegexTests.java
 
b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/servlets/prefixes/RegexTests.java
deleted file mode 100644
index 3340e95c80..0000000000
--- 
a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/servlets/prefixes/RegexTests.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jena.fuseki.servlets.prefixes;
-
-import org.junit.jupiter.params.ParameterizedTest;
-import org.junit.jupiter.params.provider.ValueSource;
-
-import java.util.regex.Pattern;
-
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class RegexTests {
-    String serviceName = "prefixes";
-    public final Pattern regex = Pattern.compile("^/" + serviceName + 
"(?:/.*)?$");
-
-    @ParameterizedTest
-    @ValueSource(strings = {"abc", "pre_fix/abc", "abcde", "prefix"})
-    public void patternMatchFalse(String name) {
-        assertFalse(regex.matcher(name).matches());
-    }
-
-    @ParameterizedTest
-    @ValueSource(strings = {"/prefixes", "/prefixes/abc", "/prefixes/"})
-    public void patternMatchTrue(String name) {
-        assertTrue(regex.matcher(name).matches());
-    }
-}
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/mod/admin/FMod_Admin.java
 
b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/mod/admin/FMod_Admin.java
index 09b0fcffc6..c48bd290bb 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/mod/admin/FMod_Admin.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/mod/admin/FMod_Admin.java
@@ -125,6 +125,14 @@ public class FMod_Admin implements FusekiModule {
     @Override
     public void prepare(FusekiServer.Builder builder, Set<String> 
datasetNames, Model configModel) {
         // Unpack
+
+        // XXX Do better!
+        FusekiApp.FUSEKI_BASE = null;
+
+//        FusekiApp fusekiApp = new FusekiApp();
+//        //fusekiApp.init();
+//        String fusekiApp.FUSEKI_BASE
+
         Path path = FusekiApp.setup();
 
         FmtLog.info(LOG, "Fuseki Admin: %s", path);
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/TC_FusekiServer.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/TC_FusekiServer.java
index fd30ecb946..6b4d86c8fb 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/TC_FusekiServer.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/TC_FusekiServer.java
@@ -21,12 +21,16 @@ package org.apache.jena.fuseki;
 import org.junit.platform.suite.api.SelectClasses;
 import org.junit.platform.suite.api.Suite;
 
-import org.apache.jena.fuseki.main.TC_FusekiMain;
-import org.apache.jena.fuseki.mod.TC_FusekiMods;
+import org.apache.jena.fuseki.main.TS_FusekiMain;
+import org.apache.jena.fuseki.main.access.TS_SecurityFuseki;
+import org.apache.jena.fuseki.main.prefixes.TS_PrefixesService;
+import org.apache.jena.fuseki.mod.TS_FusekiMods;
 
 @Suite
 @SelectClasses({
-    TC_FusekiMain.class,
-    TC_FusekiMods.class
+    TS_FusekiMain.class,
+    TS_SecurityFuseki.class,
+    TS_FusekiMods.class,
+    TS_PrefixesService.class
 })
 public class TC_FusekiServer {}
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/AbstractFusekiTest.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/AbstractFusekiTest.java
index 7904221478..826ad1529a 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/AbstractFusekiTest.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/AbstractFusekiTest.java
@@ -18,10 +18,11 @@
 
 package org.apache.jena.fuseki.main;
 
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+
 import org.apache.jena.sparql.core.DatasetGraph;
 import org.apache.jena.sparql.core.DatasetGraphFactory;
-import org.junit.After;
-import org.junit.Before;
 
 /**
  * Common setup for running a server with services and an initially empty 
database.
@@ -39,7 +40,7 @@ public class AbstractFusekiTest {
     protected String serviceGSP_R()   { return databaseURL()+"/get"; }
     protected String serviceGSP()     { return databaseURL()+"/data"; }
 
-    @Before public void startServer() {
+    @BeforeEach public void startServer() {
         DatasetGraph dsgTesting = DatasetGraphFactory.createTxnMem();
         server = FusekiServer.create()
                 .port(0)
@@ -50,7 +51,7 @@ public class AbstractFusekiTest {
                 .start();
     }
 
-    @After public void stopServer() {
+    @AfterEach public void stopServer() {
         if ( server != null )
             server.stop();
     }
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/AbstractTestAuth_JDK.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/AbstractTestAuth_JDK.java
index b897f07446..956701b845 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/AbstractTestAuth_JDK.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/AbstractTestAuth_JDK.java
@@ -21,6 +21,9 @@ package org.apache.jena.fuseki.main;
 import java.net.Authenticator;
 import java.net.http.HttpClient;
 
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+
 import org.apache.jena.http.auth.AuthLib;
 import org.apache.jena.sparql.core.DatasetGraph;
 import org.apache.jena.sparql.core.DatasetGraphFactory;
@@ -28,8 +31,6 @@ import org.apache.jena.sparql.exec.http.QueryExecutionHTTP;
 import org.apache.jena.sparql.exec.http.QueryExecutionHTTPBuilder;
 import org.apache.jena.sparql.exec.http.UpdateExecutionHTTP;
 import org.apache.jena.sparql.exec.http.UpdateExecutionHTTPBuilder;
-import org.junit.After;
-import org.junit.Before;
 
 /**
  * Common setup for running a server with an initially empty database with 
authentication by password file.
@@ -44,7 +45,7 @@ public class AbstractTestAuth_JDK {
     protected String databaseURL()    { return 
server.datasetURL(datasetPath()); }
     protected String serverURL()      { return server.serverURL(); }
 
-    @Before public void startServer() {
+    @BeforeEach public void startServer() {
         String passwordFile = "testing/Access/auth-jdk-passwd";
         DatasetGraph dsgTesting = DatasetGraphFactory.createTxnMem();
         server = FusekiServer.create()
@@ -57,7 +58,7 @@ public class AbstractTestAuth_JDK {
         server.start();
     }
 
-    @After public void stopServer() {
+    @AfterEach public void stopServer() {
         if ( server != null )
             server.stop();
     }
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/FusekiTestLib.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/FusekiTestLib.java
index 7c539314fa..c57f85fa27 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/FusekiTestLib.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/FusekiTestLib.java
@@ -18,7 +18,7 @@
 
 package org.apache.jena.fuseki.main;
 
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import org.apache.jena.atlas.web.HttpException;
 import org.apache.jena.sparql.engine.http.QueryExceptionHTTP;
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TC_FusekiMain.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TC_FusekiMain.java
deleted file mode 100644
index d79a974fbc..0000000000
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TC_FusekiMain.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jena.fuseki.main;
-
-import org.apache.jena.fuseki.main.access.TS_SecurityFuseki;
-import org.junit.BeforeClass;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-@RunWith(Suite.class)
[email protected]( {
-  TS_FusekiMain.class,
-  TS_SecurityFuseki.class
-})
-public class TC_FusekiMain {
-    @BeforeClass public static void setupForFusekiServer() {
-        // controlled by src/test/resources/log4j.properties.
-//        LogCtl.setLevel(Fuseki.serverLogName,        "WARN");
-//        LogCtl.setLevel(Fuseki.actionLogName,        "WARN");
-//        LogCtl.setLevel(Fuseki.requestLogName,       "WARN");
-//        LogCtl.setLevel(Fuseki.adminLogName,         "WARN");
-//        LogCtl.setLevel("org.eclipse.jetty",         "WARN");
-    }
-}
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 92348e10d1..f2ba8dda13 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
@@ -21,12 +21,11 @@ package org.apache.jena.fuseki.main;
 import org.junit.platform.suite.api.SelectClasses;
 import org.junit.platform.suite.api.Suite;
 
-import org.apache.jena.fuseki.main.prefixes.PrefixesServiceTests;
+import org.apache.jena.fuseki.main.prefixes.TS_PrefixesService;
 import org.apache.jena.fuseki.main.sys.TestFusekiModules;
 
 @Suite
 @SelectClasses({
-
   TestPlainServer.class
 
   // This tests modules and modifies the system state.
@@ -55,7 +54,7 @@ import org.apache.jena.fuseki.main.sys.TestFusekiModules;
   , TestPatchFuseki.class
   , TestFusekiCustomScriptFunc.class
 
-  , PrefixesServiceTests.class
+  , TS_PrefixesService.class
   , TestMetrics.class
   , TestFusekiShaclValidation.class
 
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestAuthQuery_JDK.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestAuthQuery_JDK.java
index 996bacc440..8c29bff30a 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestAuthQuery_JDK.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestAuthQuery_JDK.java
@@ -26,7 +26,7 @@ import org.apache.jena.http.auth.AuthEnv;
 import org.apache.jena.sparql.exec.http.QueryExecutionHTTP;
 import org.junit.Assert;
 import org.junit.FixMethodOrder;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.junit.runners.MethodSorters;
 
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestAuthUpdate_JDK.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestAuthUpdate_JDK.java
index fe2becd3ca..d125091df9 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestAuthUpdate_JDK.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestAuthUpdate_JDK.java
@@ -28,7 +28,7 @@ import org.apache.jena.update.UpdateFactory;
 import org.apache.jena.update.UpdateExecution;
 import org.apache.jena.update.UpdateRequest;
 import org.junit.FixMethodOrder;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.junit.runners.MethodSorters;
 
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestConfigFile.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestConfigFile.java
index bb891b7916..a0e8c17634 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestConfigFile.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestConfigFile.java
@@ -20,10 +20,12 @@ package org.apache.jena.fuseki.main;
 
 import static org.apache.jena.fuseki.test.HttpTest.expect400;
 import static org.apache.jena.fuseki.test.HttpTest.expect404;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
 
 import java.io.IOException;
 
+import org.junit.jupiter.api.Test;
+
 import org.apache.jena.atlas.io.IO;
 import org.apache.jena.atlas.web.TypedInputStream;
 import org.apache.jena.base.Sys;
@@ -34,7 +36,6 @@ import org.apache.jena.rdfconnection.RDFConnection;
 import org.apache.jena.rdfconnection.RDFConnectionRemote;
 import org.apache.jena.rdfconnection.RDFConnectionRemoteBuilder;
 import org.apache.jena.sparql.core.Var;
-import org.junit.Test;
 
 /** Test server configuration by configuration file */
 public class TestConfigFile {
@@ -371,21 +372,21 @@ public class TestConfigFile {
 
     private static void assertCxtValueNotNull(RDFConnection conn, String 
contextSymbol) {
         boolean b = conn.queryAsk(PREFIXES+"ASK { FILTER 
(afn:context('"+contextSymbol+"') != '' ) }");
-        assertTrue(contextSymbol, b);
+        assertTrue(b, contextSymbol);
     }
 
     private static void assertCxtValueNull(RDFConnection conn, String 
contextSymbol) {
         boolean b = conn.queryAsk(PREFIXES+"ASK { FILTER 
(afn:context('"+contextSymbol+"') = '' ) }");
-        assertTrue("Not null: "+contextSymbol, b);
+        assertTrue(b, "Not null: "+contextSymbol);
     }
     private static void assertQueryTrue(RDFConnection conn, String qs) {
         boolean b = conn.queryAsk(PREFIXES+qs);
-        assertTrue(qs, b);
+        assertTrue(b, qs);
     }
 
     private static void assertQueryFalse(RDFConnection conn, String qs) {
         boolean b = conn.queryAsk(PREFIXES+qs);
-        assertFalse(qs, b);
+        assertFalse(b, qs);
     }
 
     private FusekiServer server(int port, String configFile) {
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 34bc5303b3..624eca49cc 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
@@ -20,10 +20,10 @@ package org.apache.jena.fuseki.main;
 import static org.apache.jena.fuseki.servlets.CrossOriginFilter.*;
 import static org.apache.jena.http.HttpLib.handleResponseNoBody;
 import static org.apache.jena.riot.web.HttpNames.*;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -39,14 +39,15 @@ import java.util.Optional;
 import java.util.Set;
 import java.util.function.Consumer;
 
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+
 import org.apache.jena.atlas.lib.Lib;
 import org.apache.jena.atlas.web.WebLib;
 import org.apache.jena.fuseki.system.FusekiLogging;
 import org.apache.jena.http.HttpLib;
 import org.apache.jena.riot.web.HttpNames;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
 
 /**
  * Integration tests for CORS handling.
@@ -62,13 +63,13 @@ public class TestCrossOriginFilter {
 //    private static String URL = null;
     private static Optional<String> systemValue = null;
 
-    @BeforeClass
+    @BeforeAll
     public static void beforeClass() {
         // Allow pretending to be another host
         systemValue = 
Optional.ofNullable(System.setProperty(jdkAllowRestrictedHeaders, "host"));
     }
 
-    @AfterClass
+    @AfterAll
     public static void afterClass() {
         if ( systemValue != null ) {
             
systemValue.ifPresentOrElse((x)->System.setProperty(jdkAllowRestrictedHeaders, 
x),
@@ -172,8 +173,9 @@ public class TestCrossOriginFilter {
     }
 
     private static void assertEqualsIgnoreCase(String allowCreds, String 
string) {
-        assertEquals("Not equals (ignoring case)",
-                     Lib.lowercase(allowCreds), Lib.lowercase(string));
+        assertEquals(Lib.lowercase(allowCreds),
+                     Lib.lowercase(string),
+                     "Not equals (ignoring case)");
     }
 
     // Assumes no repeated but different case.
@@ -215,7 +217,7 @@ public class TestCrossOriginFilter {
             assertNotNull(response);
             assertEquals(response.statusCode(), 200);
             String actualAllowedHeaders = HttpLib.responseHeader(response, 
HttpNames.hAccessControlAllowHeaders);
-            assertNotNull("Expecting valid headers", actualAllowedHeaders);
+            assertNotNull(actualAllowedHeaders, "Expecting valid headers");
             assertEquals(expectedAllowedHeaders, actualAllowedHeaders);
             handleResponseNoBody(response);
         });
@@ -234,7 +236,7 @@ public class TestCrossOriginFilter {
             assertNotNull(response);
             assertEquals(response.statusCode(), 200);
             String actualAllowedHeaders = HttpLib.responseHeader(response, 
HttpNames.hAccessControlAllowHeaders);
-            assertNull("No headers expected given invalid request", 
actualAllowedHeaders);
+            assertNull(actualAllowedHeaders, "No headers expected given 
invalid request");
             handleResponseNoBody(response);
         });
     }
@@ -254,7 +256,7 @@ public class TestCrossOriginFilter {
             assertNotNull(response);
             assertEquals(response.statusCode(), 200);
             String actualAllowedHeaders = HttpLib.responseHeader(response, 
HttpNames.hAccessControlAllowHeaders);
-            assertNotNull("Expecting valid headers", actualAllowedHeaders);
+            assertNotNull(actualAllowedHeaders, "Expecting valid headers");
             assertEquals(expectedAllowedHeaders, actualAllowedHeaders);
             handleResponseNoBody(response);
         });
@@ -273,7 +275,7 @@ public class TestCrossOriginFilter {
             assertNotNull(response);
             assertEquals(response.statusCode(), 200);
             String actualAllowedHeaders = HttpLib.responseHeader(response, 
HttpNames.hAccessControlAllowHeaders);
-            assertNull("No headers expected given invalid request", 
actualAllowedHeaders);
+            assertNull(actualAllowedHeaders, "No headers expected given 
invalid request");
             handleResponseNoBody(response);
         });
     }
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFileUpload.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFileUpload.java
index 965f54a9da..957460c3fd 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFileUpload.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFileUpload.java
@@ -18,7 +18,7 @@
 
 package org.apache.jena.fuseki.main;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import org.apache.jena.atlas.iterator.Iter;
 import org.apache.jena.atlas.web.TypedInputStream;
@@ -35,7 +35,7 @@ import org.apache.jena.sparql.exec.http.GSP;
 import org.apache.jena.sparql.graph.GraphFactory;
 import org.apache.jena.web.FileSender;
 import org.apache.jena.web.HttpSC;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Tests for multi-part file upload.
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiCustomOperation.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiCustomOperation.java
index c7dba503ff..fa19be5eb4 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiCustomOperation.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiCustomOperation.java
@@ -19,7 +19,7 @@
 package org.apache.jena.fuseki.main;
 
 import static org.apache.jena.fuseki.main.FusekiTestLib.expectFail;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
 
 import java.io.IOException;
 import java.net.http.HttpRequest.BodyPublishers;
@@ -45,7 +45,7 @@ import org.apache.jena.riot.WebContent;
 import org.apache.jena.sparql.core.DatasetGraph;
 import org.apache.jena.sparql.core.DatasetGraphFactory;
 import org.apache.jena.web.HttpSC;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /** Test for adding a new operation */
 public class TestFusekiCustomOperation {
@@ -166,20 +166,24 @@ public class TestFusekiCustomOperation {
         testServer(server, url, "", false, true);
     }
 
-    @Test(expected = FusekiConfigException.class)
+    @Test
     public void cfg_bad_01() {
-        FusekiServer.create().port(port).registerOperation(newOp, null, 
customHandler).addEndpoint("/UNKNOWN", endpointName, newOp);
-        // .build();
+        assertThrows(FusekiConfigException.class, ()->
+            FusekiServer.create().port(port).registerOperation(newOp, null, 
customHandler).addEndpoint("/UNKNOWN", endpointName, newOp)
+            // .build();
+        );
     }
 
-    @Test(expected = FusekiConfigException.class)
+    @Test
     public void cfg_bad_02() {
-        FusekiServer.create().port(port)
-            // .registerOperation(newOp, null, customHandler)
-            .add("/ds", DatasetGraphFactory.createTxnMem(), true)
-            // Unregistered.
-            .addEndpoint("/ds", endpointName, newOp);
-        // .build();
+        assertThrows(FusekiConfigException.class, ()->
+            FusekiServer.create().port(port)
+                // .registerOperation(newOp, null, customHandler)
+                .add("/ds", DatasetGraphFactory.createTxnMem(), true)
+                // Unregistered.
+                .addEndpoint("/ds", endpointName, newOp)
+            // .build();
+            );
     }
 
     // Bad test: MIME type must match.
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiCustomScriptFunc.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiCustomScriptFunc.java
index d6b0a82f2d..f3f0d3dc46 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiCustomScriptFunc.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiCustomScriptFunc.java
@@ -18,8 +18,12 @@
 
 package org.apache.jena.fuseki.main;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 
 import org.apache.jena.atlas.lib.StrUtils;
 import org.apache.jena.fuseki.server.DataService;
@@ -36,9 +40,6 @@ import 
org.apache.jena.sparql.function.scripting.ScriptLangSymbols;
 import org.apache.jena.sparql.util.Context;
 import org.apache.jena.sparql.util.Symbol;
 import org.apache.jena.sys.JenaSystem;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
 
 public class TestFusekiCustomScriptFunc {
 
@@ -56,7 +57,7 @@ public class TestFusekiCustomScriptFunc {
     private static String dsName = "/ds" ;
     private static FusekiServer server = null;
 
-    @BeforeClass public static void enableScripting() {
+    @BeforeAll public static void enableScripting() {
         systemPropertyScriptingOldValue = 
System.getProperty(ARQ.systemPropertyScripting);
         scriptFunctionsOldValue = ARQ.getContext().get(symFunctions);
         // Enable
@@ -79,7 +80,7 @@ public class TestFusekiCustomScriptFunc {
                 .build().start();
     }
 
-    @AfterClass public static void disableScripting() {
+    @AfterAll public static void disableScripting() {
         if ( server != null )
             server.stop();
         if ( systemPropertyScriptingOldValue != null )
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiDatasetSharing.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiDatasetSharing.java
index 3e075954ad..f89465d831 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiDatasetSharing.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiDatasetSharing.java
@@ -18,14 +18,18 @@
 
 package org.apache.jena.fuseki.main;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+
 import org.apache.jena.graph.Graph;
 import org.apache.jena.riot.Lang;
 import org.apache.jena.riot.RDFParser;
@@ -33,16 +37,10 @@ import 
org.apache.jena.sparql.core.assembler.NamedDatasetAssembler;
 import org.apache.jena.sparql.exec.http.GSP;
 import org.apache.jena.sparql.sse.SSE;
 import org.apache.jena.sys.JenaSystem;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
 /**
  * Testing configurations involving shared datasets
  */
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
 public class TestFusekiDatasetSharing {
     static {
         JenaSystem.init();
@@ -63,7 +61,7 @@ public class TestFusekiDatasetSharing {
     private static String URL_ds_view_unnamed_1;
     private static String URL_ds_view_unnamed_2;
 
-    @BeforeClass public static void beforeClass() {
+    @BeforeAll public static void beforeClass() {
         NamedDatasetAssembler.sharedDatasetPool.clear();
         Graph g = 
RDFParser.source(DIR+"ds-sharing.ttl").lang(Lang.TTL).toGraph();
 
@@ -103,7 +101,7 @@ public class TestFusekiDatasetSharing {
         assertEquals(all1.size(), all2.size());
     }
 
-    @AfterClass public static void afterClass() {
+    @AfterAll public static void afterClass() {
         if ( server != null )
             server.stop();
         NamedDatasetAssembler.sharedDatasetPool.clear();
@@ -162,9 +160,8 @@ public class TestFusekiDatasetSharing {
         Graph data2 = GSP.service(URL2).defaultGraph().GET();
 
         if ( canSee )
-            assertFalse(msg, data2.isEmpty());
+            assertFalse(data2.isEmpty(),msg);
         else
-            assertTrue(msg,data2.isEmpty());
+            assertTrue(data2.isEmpty(), msg);
     }
-
 }
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiMainCmd.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiMainCmd.java
index c32fcda6d0..27133a93de 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiMainCmd.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiMainCmd.java
@@ -18,9 +18,9 @@
 
 package org.apache.jena.fuseki.main;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 import java.io.IOException;
 import java.util.Arrays;
@@ -35,7 +35,7 @@ import org.apache.jena.http.HttpOp;
 import org.apache.jena.query.ResultSetFormatter;
 import org.apache.jena.rdfconnection.RDFConnection;
 import org.junit.After;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test Fuseki Main command line.
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 f8afce0dc1..d38b2d1b3a 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
@@ -18,13 +18,18 @@
 package org.apache.jena.fuseki.main;
 
 import static java.util.Collections.emptyList;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
 
 import java.io.File;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.util.List;
 
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+
 import org.apache.jena.atlas.logging.LogCtl;
 import org.apache.jena.atlas.web.WebLib;
 import org.apache.jena.cmd.CmdException;
@@ -34,11 +39,6 @@ import org.apache.jena.fuseki.main.cmds.ServerArgs;
 import org.apache.jena.fuseki.system.FusekiLogging;
 import org.apache.jena.riot.SysRIOT;
 
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
 /**
  * NOTE: we will randomise the port (--port=0) on all happy paths in order to 
avoid conflict with existing runs.
  */
@@ -48,7 +48,7 @@ public class TestFusekiMainCmdArguments {
     private static File jettyConfigFile;
     private static String jettyConfigFilename;
 
-    @BeforeClass public static void beforeClass() throws IOException {
+    @BeforeAll public static void beforeClass() throws IOException {
         // This is not reset by each running server.
         FusekiLogging.setLogging();
         level = LogCtl.getLevel(Fuseki.serverLog);
@@ -59,14 +59,14 @@ public class TestFusekiMainCmdArguments {
         jettyConfigFilename = jettyConfigFile.getAbsolutePath();
     }
 
-    @AfterClass public static void afterClass() {
+    @AfterAll public static void afterClass() {
         if ( level != null )
             LogCtl.setLevel(Fuseki.serverLog, level);
         jettyConfigFile.delete();
     }
 
     private FusekiServer server = null;
-    @After public void after() {
+    @AfterEach public void after() {
         if ( server != null )
             server.stop();
     }
@@ -76,8 +76,8 @@ public class TestFusekiMainCmdArguments {
     @Test
     public void argDefaults() {
         ServerArgs serverArgs = new ServerArgs();
-        assertFalse("Wrong default setting: allowEmpty", 
serverArgs.allowEmpty);
-        assertFalse("Wrong default setting: bypassStdArgs", 
serverArgs.bypassStdArgs);
+        assertFalse(serverArgs.allowEmpty, "Wrong default setting: 
allowEmpty");
+        assertFalse(serverArgs.bypassStdArgs, "Wrong default setting: 
bypassStdArgs");
     }
 
     @Test
@@ -165,16 +165,10 @@ public class TestFusekiMainCmdArguments {
         String emptyString = "";
         String expectedMessage = "No dataset or configuration specified on the 
command line";
         // when
-        Throwable actual = null;
-        try {
-            buildServer(emptyString);
-        } catch (Exception e) {
-            actual = e;
-        }
+        CmdException actual = assertThrows(CmdException.class, ()-> 
buildServer(emptyString));
+
         // then
-        assertNotNull(actual);
-        assertTrue("Expecting correct exception", (actual instanceof 
CmdException));
-        assertEquals("Expecting correct message", expectedMessage, 
actual.getMessage());
+        assertEquals(expectedMessage, actual.getMessage(), "Expecting correct 
message");
     }
 
     @Test
@@ -183,16 +177,9 @@ public class TestFusekiMainCmdArguments {
         String nullString = null;
         String expectedMessage = "No dataset or configuration specified on the 
command line";
         // when
-        Throwable actual = null;
-        try {
-            buildServer(nullString);
-        } catch (Exception e) {
-            actual = e;
-        }
+        CmdException actual = assertThrows(CmdException.class, ()-> 
buildServer(nullString));
         // then
-        assertNotNull(actual);
-        assertTrue("Expecting correct exception", (actual instanceof 
CmdException));
-        assertEquals("Expecting correct message", expectedMessage, 
actual.getMessage());
+        assertEquals(expectedMessage, actual.getMessage(), "Expecting correct 
message");
     }
 
     @Test
@@ -447,7 +434,7 @@ public class TestFusekiMainCmdArguments {
         // when
         CmdException actual = assertThrows(CmdException.class, 
()->buildServer(buildCmdLineArguments(arguments)));
         // then
-        assertEquals("Expecting correct message", expectedMessage, 
actual.getMessage());
+        assertEquals(expectedMessage, actual.getMessage(), "Expecting correct 
message");
     }
 
     private static String[] buildCmdLineArguments(List<String> listArgs) {
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiMainCmdCustomArguments.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiMainCmdCustomArguments.java
index e2708b153d..aa64bc5f77 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiMainCmdCustomArguments.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiMainCmdCustomArguments.java
@@ -23,9 +23,9 @@ import static org.junit.jupiter.api.Assertions.*;
 import java.util.function.Consumer;
 
 import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 
 import org.apache.jena.atlas.logging.LogCtl;
 import org.apache.jena.cmd.ArgDecl;
@@ -61,13 +61,13 @@ public class TestFusekiMainCmdCustomArguments {
 
     private static String level = null;
 
-    @BeforeClass public static void beforeClass() {
+    @BeforeAll public static void beforeClass() {
         FusekiLogging.setLogging();
         level = LogCtl.getLevel(Fuseki.serverLog);
         LogCtl.setLevel(Fuseki.serverLog, "WARN");
     }
 
-    @AfterClass public static void afterClass() {
+    @AfterAll public static void afterClass() {
         if ( level != null )
             LogCtl.setLevel(Fuseki.serverLog, level);
     }
@@ -85,10 +85,10 @@ public class TestFusekiMainCmdCustomArguments {
         test(new ArgDecl(false, "special"), arguments, false, null);
     }
 
-    @Test(expected = CmdException.class)
+    @Test
     public void test_custom_no_custom_args_decl() {
         String[] arguments = {"--port=0", "--special", "--mem","/ds"};
-        FusekiServer server = FusekiMain.build(arguments);
+        assertThrows(CmdException.class, ()->FusekiMain.build(arguments));
     }
 
     @Test
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiServerBuild.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiServerBuild.java
index 611ca3a80e..6cd6786195 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiServerBuild.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiServerBuild.java
@@ -22,7 +22,7 @@ import static 
org.apache.jena.fuseki.main.FusekiTestLib.expect400;
 import static org.apache.jena.fuseki.main.FusekiTestLib.expect404;
 import static org.apache.jena.fuseki.main.FusekiTestLib.expectQuery400;
 import static org.apache.jena.fuseki.main.FusekiTestLib.expectQuery404;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
 
 import java.io.IOException;
 import java.util.function.Consumer;
@@ -53,7 +53,7 @@ import org.apache.jena.sparql.exec.http.QueryExecHTTP;
 import org.apache.jena.sparql.sse.SSE;
 import org.apache.jena.system.Txn;
 import org.apache.jena.update.UpdateExecution;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 
 public class TestFusekiServerBuild {
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiShaclValidation.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiShaclValidation.java
index a4d09747aa..4a62dc73f3 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiShaclValidation.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiShaclValidation.java
@@ -18,17 +18,18 @@
 
 package org.apache.jena.fuseki.main;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 
 import org.apache.jena.graph.Graph;
 import org.apache.jena.http.HttpRDF;
 import org.apache.jena.rdfconnection.RDFConnection;
 import org.apache.jena.riot.RDFDataMgr;
 import org.apache.jena.shacl.ValidationReport;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
 
 public class TestFusekiShaclValidation {
     // Fuseki Main server
@@ -36,7 +37,7 @@ public class TestFusekiShaclValidation {
     private static String serverURL = null;
     private static final String DIR = "testing/ShaclValidation/";
 
-    @BeforeClass
+    @BeforeAll
     public static void beforeClass() {
         FusekiServer server = FusekiServer.create()
             .port(0)
@@ -46,7 +47,7 @@ public class TestFusekiShaclValidation {
         serverURL = "http://localhost:"+server.getPort();
     }
 
-    @AfterClass
+    @AfterAll
     public static void afterClass() {
         if ( server != null )
             server.stop();
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiStdReadOnlySetup.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiStdReadOnlySetup.java
index fe16e1d569..6c38f43138 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiStdReadOnlySetup.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiStdReadOnlySetup.java
@@ -20,9 +20,9 @@ package org.apache.jena.fuseki.main;
 
 import java.util.function.Consumer;
 
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 
 import org.apache.jena.atlas.lib.StrUtils;
 import org.apache.jena.atlas.web.HttpException;
@@ -48,7 +48,7 @@ public class TestFusekiStdReadOnlySetup {
 
     private static String URL;
 
-    @BeforeClass
+    @BeforeAll
     public static void beforeClass() {
         data = SSE.parseGraph(StrUtils.strjoinNL
             ("(graph"
@@ -68,7 +68,7 @@ public class TestFusekiStdReadOnlySetup {
         URL = server.datasetURL("/ds");
     }
 
-    @AfterClass
+    @AfterAll
     public static void afterClass() {
         if ( server != null )
             server.stop();
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiStdSetup.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiStdSetup.java
index ecd71d6b50..17d8c0f8e1 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiStdSetup.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiStdSetup.java
@@ -20,9 +20,9 @@ package org.apache.jena.fuseki.main;
 
 import java.util.function.Consumer;
 
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 
 import org.apache.jena.atlas.lib.StrUtils;
 import org.apache.jena.atlas.web.HttpException;
@@ -47,7 +47,7 @@ public class TestFusekiStdSetup {
 
     private static String URL;
 
-    @BeforeClass
+    @BeforeAll
     public static void beforeClass() {
         data = SSE.parseGraph(StrUtils.strjoinNL
             ("(graph"
@@ -67,7 +67,7 @@ public class TestFusekiStdSetup {
         URL = server.datasetURL("/ds");
     }
 
-    @AfterClass
+    @AfterAll
     public static void afterClass() {
         if ( server != null )
             server.stop();
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestHttpOperations.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestHttpOperations.java
index 478a10c737..bfb6dd4341 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestHttpOperations.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestHttpOperations.java
@@ -18,8 +18,8 @@
 
 package org.apache.jena.fuseki.main;
 
-
 import static java.net.http.HttpRequest.BodyPublishers.ofString;
+import static org.junit.jupiter.api.Assertions.*;
 
 import org.apache.jena.atlas.web.HttpException;
 import org.apache.jena.atlas.web.TypedInputStream;
@@ -27,8 +27,7 @@ import org.apache.jena.http.HttpOp;
 import org.apache.jena.riot.WebContent;
 import org.apache.jena.sparql.exec.http.Params;
 import org.apache.jena.sparql.util.Convert;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /** Operation by HTTP - test dispatch - lower level than TestSPARQLProtocol */
 public class TestHttpOperations extends AbstractFusekiTest {
@@ -38,7 +37,7 @@ public class TestHttpOperations extends AbstractFusekiTest {
         String qs = Convert.encWWWForm("ASK{}");
         String u = serviceQuery()+"?query=" + qs;
         try (TypedInputStream in = HttpOp.httpGet(u)) {
-            Assert.assertNotNull(in);
+            assertNotNull(in);
         }
     }
 
@@ -48,7 +47,7 @@ public class TestHttpOperations extends AbstractFusekiTest {
         try (TypedInputStream in = HttpOp.httpPostStream(serviceQuery(),
                                                           
WebContent.contentTypeSPARQLQuery, ofString("ASK{}"),
                                                           "*")) {
-            Assert.assertNotNull(in);
+            assertNotNull(in);
         }
     }
 
@@ -57,7 +56,7 @@ public class TestHttpOperations extends AbstractFusekiTest {
         String qs = Convert.encWWWForm("ASK{}");
         String u = serviceQuery()+"?query=" + qs;
         try (TypedInputStream in = HttpOp.httpPostStream(u)) {
-            Assert.assertNotNull(in);
+            assertNotNull(in);
         }
     }
 
@@ -65,16 +64,18 @@ public class TestHttpOperations extends AbstractFusekiTest {
     public void query_by_form_1() {
         Params params = Params.create().add("query", "ASK{}");
         try (TypedInputStream in = HttpOp.httpPostForm(serviceQuery(), params, 
"*") ) {
-            Assert.assertNotNull(in);
+            assertNotNull(in);
         }
     }
 
-    @Test(expected=HttpException.class)
+    @Test
     public void query_by_form_2() {
         Params params = Params.create().add("foobar", "ASK{}");    // Wrong.
-        try (TypedInputStream in = HttpOp.httpPostForm(serviceQuery(), params, 
"*") ) {
-            Assert.assertNotNull(in);
-        }
+        assertThrows(HttpException.class, ()->{
+            try (TypedInputStream in = HttpOp.httpPostForm(serviceQuery(), 
params, "*") ) {
+                assertNotNull(in);
+            };
+        });
     }
 
     @Test
@@ -88,7 +89,7 @@ public class TestHttpOperations extends AbstractFusekiTest {
 //        String us = Convert.encWWWForm("INSERT DATA {}");
 //        String u = serviceUpdate+"?update=" + us;
 //        try (TypedInputStream in = HttpOp.execHttpPostStream(u, null, null)) 
{
-//            Assert.assertNotNull(in);
+//            assertNotNull(in);
 //        }
 //    }
 
@@ -96,16 +97,18 @@ public class TestHttpOperations extends AbstractFusekiTest {
     public void update_by_form_1() {
         Params params = Params.create().add("update", "INSERT DATA{}");
         try (TypedInputStream in = HttpOp.httpPostForm(serviceUpdate(), 
params, "*") ) {
-            Assert.assertNotNull(in);
+            assertNotNull(in);
         }
     }
 
-    @Test(expected=HttpException.class)
+    @Test
     public void update_by_form_2() {
         Params params = Params.create().add("query", "INSERT DATA{}");  // 
Wrong paramater
-        try (TypedInputStream in = HttpOp.httpPostForm(serviceUpdate(), 
params, "*") ) {
-            Assert.assertNotNull(in);
-        }
+            assertThrows(HttpException.class, ()->{
+                try (TypedInputStream in = 
HttpOp.httpPostForm(serviceUpdate(), params, "*") ) {
+                    assertNotNull(in);
+                }
+            });
     }
 
     // ---- Dataset direct, with content type.
@@ -114,7 +117,7 @@ public class TestHttpOperations extends AbstractFusekiTest {
     public void ds_fetch_by_get_1() {
         String u = databaseURL();
         try (TypedInputStream in = HttpOp.httpGet(u)) {
-            Assert.assertNotNull(in);
+            assertNotNull(in);
         }
     }
 
@@ -122,7 +125,7 @@ public class TestHttpOperations extends AbstractFusekiTest {
     public void ds_query_by_post_1() {
         String u = databaseURL();
         try (TypedInputStream in = HttpOp.httpPostStream(u, 
WebContent.contentTypeSPARQLQuery, ofString("ASK{}"), "*")) {
-            Assert.assertNotNull(in);
+            assertNotNull(in);
         }
     }
 
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestHttpOptions.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestHttpOptions.java
index 69af53e601..cc0d1e4a87 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestHttpOptions.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestHttpOptions.java
@@ -20,7 +20,7 @@ package org.apache.jena.fuseki.main;
 
 import org.apache.jena.fuseki.test.FusekiTest;
 import org.apache.jena.http.HttpOp;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class TestHttpOptions extends AbstractFusekiTest
 {
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestMetrics.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestMetrics.java
index 841626938b..c473c18aaa 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestMetrics.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestMetrics.java
@@ -18,7 +18,7 @@
 package org.apache.jena.fuseki.main;
 
 import static org.apache.jena.http.HttpLib.handleResponseRtnString;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.InputStream;
 import java.net.http.HttpRequest;
@@ -29,7 +29,7 @@ import org.apache.jena.http.HttpEnv;
 import org.apache.jena.http.HttpLib;
 import org.apache.jena.riot.WebContent;
 import org.apache.jena.riot.web.HttpNames;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class TestMetrics extends AbstractFusekiTest {
 
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestMultipleEmbedded.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestMultipleEmbedded.java
index d056a3c3c9..92559b38ae 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestMultipleEmbedded.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestMultipleEmbedded.java
@@ -18,8 +18,9 @@
 
 package org.apache.jena.fuseki.main;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.function.Consumer;
 
@@ -35,7 +36,7 @@ import org.apache.jena.sparql.exec.http.QueryExecHTTP;
 import org.apache.jena.sparql.sse.SSE;
 import org.apache.jena.sys.JenaSystem;
 import org.apache.jena.system.Txn;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class TestMultipleEmbedded {
 
@@ -45,7 +46,7 @@ public class TestMultipleEmbedded {
     static Quad q2 = SSE.parseQuad("(_ :s :p 2)");
 
     // Two servers, same port -> bad.
-    @Test(expected=FusekiException.class)
+    @Test
     public void multiple_01() {
         DatasetGraph dsg = dataset();
 
@@ -54,18 +55,15 @@ public class TestMultipleEmbedded {
         // Same port - Bad.
         FusekiServer server2 = FusekiServer.create().port(port).add("/ds2", 
dsg).build();
 
-        server1.start();
-
         try {
-            server2.start();
-        } catch (FusekiException ex) {
+            server1.start();
+            FusekiException ex = assertThrows(FusekiException.class, 
()->server2.start());
             // Jetty 9.4.12 throws BindException
             // Jetty 9.4.26 throws IOException cause BindException
             Throwable cause = ex.getCause();
             if ( cause instanceof java.io.IOException )
                 cause = cause.getCause();
             assertTrue(cause instanceof java.net.BindException);
-            throw ex;
         } finally {
             try { server1.stop(); } catch (Exception ex) {}
             try { server2.stop(); } catch (Exception ex) {}
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestPatchFuseki.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestPatchFuseki.java
index 503fecc157..1bccb04f49 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestPatchFuseki.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestPatchFuseki.java
@@ -17,9 +17,9 @@
 
 package org.apache.jena.fuseki.main;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.net.http.HttpRequest.BodyPublishers;
 import java.util.function.BiConsumer;
@@ -39,7 +39,7 @@ import org.apache.jena.sparql.exec.RowSet;
 import org.apache.jena.sparql.exec.RowSetOps;
 import org.apache.jena.sparql.exec.http.QueryExecHTTP;
 import org.apache.jena.sparql.sse.SSE;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class TestPatchFuseki {
 
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestPlainServer.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestPlainServer.java
index 424cda1007..3831aca619 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestPlainServer.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestPlainServer.java
@@ -18,22 +18,22 @@
 
 package org.apache.jena.fuseki.main;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
 
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+
 import jakarta.servlet.http.HttpServlet;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
-
 import org.apache.jena.http.HttpOp;
 import org.apache.jena.sparql.core.DatasetGraphFactory;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
 
 /** Test Fuseki with plain servlet and handling a file area */
 public class TestPlainServer {
@@ -43,7 +43,7 @@ public class TestPlainServer {
 
     private static String serverURL;
 
-    @BeforeClass
+    @BeforeAll
     public static void beforeClass() {
         FusekiServer server = FusekiServer.create()
             .port(0)
@@ -76,7 +76,7 @@ public class TestPlainServer {
         }
     }
 
-    @AfterClass
+    @AfterAll
     public static void afterClass() {
         if ( server != null )
             server.stop();
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestQuery.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestQuery.java
index fe13606695..60d4c392e3 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestQuery.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestQuery.java
@@ -18,9 +18,9 @@
 
 package org.apache.jena.fuseki.main;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.*;
 import java.net.HttpURLConnection;
@@ -28,9 +28,8 @@ import java.net.URL;
 import java.net.http.HttpClient;
 import java.util.Iterator;
 
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import org.apache.jena.atlas.json.JsonArray;
 import org.apache.jena.atlas.web.AcceptList;
@@ -62,7 +61,7 @@ public class TestQuery extends AbstractFusekiTest {
     private static final Graph   graph1        = SSE.parseGraph("(base 
<http://example/> (graph (<x> <p> 1)))");
     private static final Graph   graph2        = SSE.parseGraph("(base 
<http://example/> (graph (<x> <p> 2)))");
 
-    @Before
+    @BeforeEach
     public void before() {
         GSP.service(serviceGSP()).defaultGraph().PUT(graph1);
         GSP.service(serviceGSP()).graphName(gn1).PUT(graph2);
@@ -89,7 +88,7 @@ public class TestQuery extends AbstractFusekiTest {
             Var x = Var.alloc("x");
             while (rs.hasNext()) {
                 Binding b = rs.nextBinding();
-                Assert.assertNotNull(b.get(x));
+                assertNotNull(b.get(x));
             }
         } finally {
             Fuseki.getContext().set(Service.httpServiceAllowed, serverSetting);
@@ -101,7 +100,7 @@ public class TestQuery extends AbstractFusekiTest {
         String query = "ASK { }";
         try (QueryExecution qExec = QueryExecution.service(serviceQuery() + 
"?output=json", query)) {
             boolean result = qExec.execAsk();
-            Assert.assertTrue(result);
+            assertTrue(result);
         }
     }
 
@@ -110,7 +109,7 @@ public class TestQuery extends AbstractFusekiTest {
         String qs = Convert.encWWWForm("ASK{}");
         URL u = new URL(serviceQuery() + "?query=" + qs);
         HttpURLConnection conn = (HttpURLConnection)u.openConnection();
-        Assert.assertTrue(conn.getHeaderField(Fuseki.FusekiRequestIdHeader) != 
null);
+        assertTrue(conn.getHeaderField(Fuseki.FusekiRequestIdHeader) != null);
     }
 
     @Test
@@ -155,8 +154,8 @@ public class TestQuery extends AbstractFusekiTest {
 
         try ( QueryExecutionHTTP qExec = 
QueryExecutionHTTP.service(serviceQuery(), query) ) {
             Iterator<Quad> result = qExec.execConstructQuads();
-            Assert.assertTrue(result.hasNext());
-            Assert.assertEquals( "http://eg/g";, 
result.next().getGraph().getURI());
+            assertTrue(result.hasNext());
+            assertEquals( "http://eg/g";, result.next().getGraph().getURI());
 
         }
     }
@@ -169,8 +168,8 @@ public class TestQuery extends AbstractFusekiTest {
 
         try ( QueryExecution qExec = QueryExecution.service(serviceQuery(), 
query) ) {
             Dataset result = qExec.execConstructDataset();
-            Assert.assertTrue(result.asDatasetGraph().find().hasNext());
-            Assert.assertEquals( "http://eg/g";, 
result.asDatasetGraph().find().next().getGraph().getURI());
+            assertTrue(result.asDatasetGraph().find().hasNext());
+            assertEquals( "http://eg/g";, 
result.asDatasetGraph().find().next().getGraph().getURI());
         }
     }
 
@@ -180,7 +179,7 @@ public class TestQuery extends AbstractFusekiTest {
         String query = " CONSTRUCT {?s ?p ?o} WHERE {?s ?p ?o}";
         try ( QueryExecution qExec = QueryExecution.service(serviceQuery(), 
query) ) {
             Iterator<Triple> result = qExec.execConstructTriples();
-            Assert.assertTrue(result.hasNext());
+            assertTrue(result.hasNext());
         }
     }
 
@@ -302,8 +301,8 @@ public class TestQuery extends AbstractFusekiTest {
             }
             result = sb.toString();
         }
-        Assert.assertNotNull(result);
-        Assert.assertTrue(result.contains("http://example/x";));
+        assertNotNull(result);
+        assertTrue(result.contains("http://example/x";));
     }
 
     private void execQuery(String queryString, int exceptedRowCount) {
@@ -318,7 +317,7 @@ public class TestQuery extends AbstractFusekiTest {
         try ( QueryExecution qExec = QueryExecution.service(serviceQuery(), 
queryString) ) {
             ResultSet rs = qExec.execSelect();
             boolean b = ResultSetCompare.equalsByTerm(rs, expectedResultSet);
-            assertTrue("Result sets different", b);
+            assertTrue(b, "Result sets different");
         }
     }
 
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestSPARQLProtocol.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestSPARQLProtocol.java
index 109cc2fc1d..fd27f70e1c 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestSPARQLProtocol.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestSPARQLProtocol.java
@@ -18,15 +18,16 @@
 
 package org.apache.jena.fuseki.main;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import org.apache.jena.graph.Graph;
 import org.apache.jena.graph.Node;
 import org.apache.jena.graph.NodeFactory;
-import org.apache.jena.query.*;
+import org.apache.jena.query.Query;
+import org.apache.jena.query.QueryFactory;
 import org.apache.jena.riot.WebContent;
 import org.apache.jena.sparql.exec.QueryExec;
 import org.apache.jena.sparql.exec.RowSet;
@@ -50,7 +51,7 @@ public class TestSPARQLProtocol extends AbstractFusekiTest
     private static final Graph   graph1        = SSE.parseGraph("(base 
<http://example/> (graph (<x> <p> 1)))");
     private static final Graph   graph2        = SSE.parseGraph("(base 
<http://example/> (graph (<x> <p> 2)))");
 
-    @Before
+    @BeforeEach
     public void before() {
         GSP.service(serviceGSP()).defaultGraph().PUT(graph1);
         GSP.service(serviceGSP()).graphName(gn1).PUT(graph2);
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestSPARQLProtocolTimeout.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestSPARQLProtocolTimeout.java
index ee80f16159..5a89f8ea9b 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestSPARQLProtocolTimeout.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestSPARQLProtocolTimeout.java
@@ -18,9 +18,14 @@
 
 package org.apache.jena.fuseki.main;
 
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
 import java.util.concurrent.TimeUnit;
 import java.util.stream.IntStream;
 
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
 import org.apache.jena.atlas.web.HttpException;
 import org.apache.jena.graph.Graph;
 import org.apache.jena.graph.NodeFactory;
@@ -28,12 +33,10 @@ import org.apache.jena.sparql.exec.http.GSP;
 import org.apache.jena.sparql.graph.GraphFactory;
 import org.apache.jena.sparql.util.Convert;
 import org.apache.jena.update.UpdateExecution;
-import org.junit.Before;
-import org.junit.Test;
 
 public class TestSPARQLProtocolTimeout extends AbstractFusekiTest
 {
-    @Before
+    @BeforeEach
     public void before() {
         Graph graph = createTestGraph();
         GSP.service(serviceGSP()).defaultGraph().PUT(graph);
@@ -54,11 +57,13 @@ public class TestSPARQLProtocolTimeout extends 
AbstractFusekiTest
 
     /** If the HTTP client reaches its timeout and disconnects from the server 
then it is up
      *  to the server whether it will cancel or complete the started SPARQL 
update execution. */
-    @Test(expected = HttpException.class)
+    @Test
     public void update_timeout_01() {
-        UpdateExecution.service(serviceUpdate())
-            .update("INSERT { } WHERE { ?a ?b ?c . ?d ?e ?f . ?g ?h ?i . }")
-            .timeout(500, TimeUnit.MILLISECONDS)
-            .execute();
+        assertThrows(HttpException.class, ()->
+            UpdateExecution.service(serviceUpdate())
+                .update("INSERT { } WHERE { ?a ?b ?c . ?d ?e ?f . ?g ?h ?i . 
}")
+                .timeout(500, TimeUnit.MILLISECONDS)
+                .execute()
+                );
     }
 }
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/AbstractTestFusekiSecurityAssembler.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/AbstractTestFusekiSecurityAssembler.java
index ade33038b7..9d00a6f742 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/AbstractTestFusekiSecurityAssembler.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/AbstractTestFusekiSecurityAssembler.java
@@ -19,8 +19,8 @@
 package org.apache.jena.fuseki.main.access;
 
 import static org.apache.jena.fuseki.main.access.AccessTestLib.assertSeen;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.util.HashSet;
 import java.util.List;
@@ -28,6 +28,10 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicReference;
 
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
 import org.apache.jena.atlas.iterator.Iter;
 import org.apache.jena.atlas.lib.SetUtils;
 import org.apache.jena.atlas.lib.StrUtils;
@@ -48,9 +52,6 @@ import org.apache.jena.sparql.core.DatasetGraph;
 import org.apache.jena.sparql.core.Quad;
 import org.apache.jena.sparql.sse.SSE;
 import org.apache.jena.system.Txn;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.Test;
 
 /**
  * Tests on the assembler for data access control.
@@ -78,13 +79,14 @@ public abstract class AbstractTestFusekiSecurityAssembler {
         return server;
     }
 
-    @AfterClass public static void afterClass() {
+    @AfterAll
+    public static void afterClass() {
         server.stop();
         server = null;
         user.set(null);
     }
 
-    @Before
+    @BeforeEach
     public void before() {
         user.set(null);
     }
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/AbstractTestServiceDatasetAuth.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/AbstractTestServiceDatasetAuth.java
index 4f03c952e6..ac5d0fd3f7 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/AbstractTestServiceDatasetAuth.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/AbstractTestServiceDatasetAuth.java
@@ -23,7 +23,7 @@ import static 
org.apache.jena.fuseki.main.FusekiTestLib.expectOK;
 import static org.apache.jena.fuseki.main.FusekiTestLib.expectQuery401;
 import static org.apache.jena.fuseki.main.FusekiTestLib.expectQuery403;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import org.apache.jena.atlas.web.WebLib;
 import org.apache.jena.fuseki.main.FusekiServer;
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/AccessTestLib.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/AccessTestLib.java
index 4b32c450e2..91b65ce01a 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/AccessTestLib.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/AccessTestLib.java
@@ -18,7 +18,7 @@
 
 package org.apache.jena.fuseki.main.access;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.util.Arrays;
 import java.util.Set;
@@ -31,7 +31,6 @@ import org.apache.jena.sparql.core.DatasetGraph;
 import org.apache.jena.sparql.sse.SSE;
 import org.apache.jena.system.Txn;
 
-
 /** Some data and functions common to access control tests. */
 public class AccessTestLib {
     private static String dataStr = StrUtils.strjoinNL
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TS_SecurityFuseki.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TS_SecurityFuseki.java
index 0852f23f94..af2bf7f68c 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TS_SecurityFuseki.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TS_SecurityFuseki.java
@@ -18,11 +18,11 @@
 
 package org.apache.jena.fuseki.main.access;
 
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
+import org.junit.platform.suite.api.SelectClasses;
+import org.junit.platform.suite.api.Suite;
 
-@RunWith(Suite.class)
[email protected]( {
+@Suite
+@SelectClasses({
     TestAuthorized.class
     , TestSimpleBearer.class
 
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestAuthorized.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestAuthorized.java
index 752e4a08c4..43b93510ac 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestAuthorized.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestAuthorized.java
@@ -18,12 +18,12 @@
 
 package org.apache.jena.fuseki.main.access;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import org.apache.jena.atlas.logging.LogCtl;
 import org.apache.jena.fuseki.Fuseki;
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestPasswdOnly.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestPasswdOnly.java
index 32436580ab..c7db6978b9 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestPasswdOnly.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestPasswdOnly.java
@@ -20,10 +20,11 @@ package org.apache.jena.fuseki.main.access;
 
 import static org.apache.jena.fuseki.main.FusekiTestLib.expectOK;
 import static org.apache.jena.fuseki.main.FusekiTestLib.expectQuery401;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 
 import org.apache.jena.atlas.web.WebLib;
 import org.apache.jena.fuseki.main.FusekiServer;
@@ -44,7 +45,7 @@ public class TestPasswdOnly {
     protected static int port;
     private static AuthSetup auth1;
 
-    @BeforeClass public static void beforeClass () {
+    @BeforeAll public static void beforeClass () {
         port = WebLib.choosePort();
         server = FusekiServer.create()
             //.verbose(true)
@@ -59,18 +60,20 @@ public class TestPasswdOnly {
         auth1 = new AuthSetup("localhost", port, "user1", "pw1", null);
     }
 
-    @AfterClass public static void afterClass () {
+    @AfterAll public static void afterClass () {
         server.stop();
     }
 
     // Bounced by Jetty.
-    @Test(expected=QueryExceptionHTTP.class)
+    @Test
     public void passwd_no_user_A() {
-        try (RDFLink conn = RDFLink.queryConnect("http://localhost:"; + port + 
"/db")) {
-            try ( QueryExec qExec = conn.query("ASK{}") ) {
-                qExec.ask();
+        assertThrows(QueryExceptionHTTP.class, () -> {
+            try (RDFLink conn = RDFLink.queryConnect("http://localhost:"; + 
port + "/db")) {
+                try (QueryExec qExec = conn.query("ASK{}")) {
+                    qExec.ask();
+                }
             }
-        }
+        });
     }
 
     @Test
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSecurityBuilderSetup.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSecurityBuilderSetup.java
index ff7a425f73..4f806681e5 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSecurityBuilderSetup.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSecurityBuilderSetup.java
@@ -18,12 +18,17 @@
 
 package org.apache.jena.fuseki.main.access;
 
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.net.http.HttpClient;
 
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
 import org.apache.jena.atlas.web.HttpException;
 import org.apache.jena.atlas.web.TypedInputStream;
 import org.apache.jena.atlas.web.WebLib;
@@ -40,10 +45,6 @@ import org.apache.jena.web.AuthSetup;
 import org.apache.jena.web.HttpSC;
 import org.eclipse.jetty.ee10.servlet.security.ConstraintSecurityHandler;
 import org.eclipse.jetty.security.UserStore;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
 
 /**
  * Tests for access to services using programmatic setup.
@@ -62,7 +63,7 @@ public class TestSecurityBuilderSetup {
     // Not in the user store.
     private static AuthSetup authSetupX;
 
-    @BeforeClass
+    @BeforeAll
     public static void beforeClass() {
         int port = WebLib.choosePort();
 
@@ -109,14 +110,14 @@ public class TestSecurityBuilderSetup {
 
     }
 
-    @Before
+    @BeforeEach
     public void before() {
 //        // Reset before every test and after the suite.
 //        HttpClient hc = HttpOp.createDefaultHttpClient();
 //        HttpOp.setDefaultHttpClient(hc);
     }
 
-    @AfterClass
+    @AfterAll
     public static void afterClass() {
         fusekiServer.stop();
 //        HttpClient hc = HttpOp.createDefaultHttpClient();
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSecurityConfig.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSecurityConfig.java
index b68f9c00a1..02377d44f2 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSecurityConfig.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSecurityConfig.java
@@ -20,14 +20,16 @@ package org.apache.jena.fuseki.main.access;
 
 import static org.apache.jena.fuseki.test.HttpTest.expectQuery401;
 import static org.apache.jena.fuseki.test.HttpTest.expectQuery403;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.http.HttpClient;
 import java.util.function.Consumer;
 
+import org.junit.jupiter.api.Test;
+
 import org.apache.jena.atlas.io.IO;
 import org.apache.jena.atlas.web.HttpException;
 import org.apache.jena.atlas.web.TypedInputStream;
@@ -39,7 +41,6 @@ import org.apache.jena.rdfconnection.RDFConnectionRemote;
 import org.apache.jena.sparql.exec.http.QueryExecHTTP;
 import org.apache.jena.web.AuthSetup;
 import org.apache.jena.web.HttpSC;
-import org.junit.Test;
 
 /**
  * Tests for security of the server, services and endpoints using 
configuration file setup.
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSecurityFilterFuseki.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSecurityFilterFuseki.java
index 5bb7f2ae4f..315e80c15e 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSecurityFilterFuseki.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSecurityFilterFuseki.java
@@ -19,17 +19,20 @@
 package org.apache.jena.fuseki.main.access;
 
 import static org.apache.jena.fuseki.main.access.AccessTestLib.*;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
 
-import java.util.*;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Stream;
 
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 
 import org.apache.jena.atlas.iterator.Iter;
 import org.apache.jena.atlas.web.HttpException;
@@ -57,18 +60,20 @@ import org.eclipse.jetty.security.UserStore;
 import org.eclipse.jetty.util.security.Credential;
 import org.eclipse.jetty.util.security.Password;
 
-@RunWith(Parameterized.class)
 public class TestSecurityFilterFuseki {
 
-    @Parameters(name = "{index}: {0}")
-    public static Iterable<Object[]> data() {
-        Object[] obj1 = { "TDB",  "data1" };
-        Object[] obj2 = { "TDB2", "data2" };
-        Object[] obj3 = { "TIM",  "data3" };
-        return Arrays.asList(obj1, obj2, obj3);
+    private static Stream<Arguments> provideTestArgs() {
+        return Stream.of(
+//          Arguments.of("TDB",  "data1"),
+//          Arguments.of("TDB2", "data2"),
+          Arguments.of("TIM",  "data3")
+        );
+    }
+
+    private String baseUrl(String dsName) {
+        return fusekiServer.datasetURL(dsName);
     }
 
-    private final String baseUrl;
     private static DatasetGraph testdsg1 =  TDB1Factory.createDatasetGraph();
     private static DatasetGraph testdsg2 =  DatabaseMgr.createDatasetGraph();
     private static DatasetGraph testdsg3 =  DatasetGraphFactory.createTxnMem();
@@ -76,7 +81,7 @@ public class TestSecurityFilterFuseki {
     private static FusekiServer fusekiServer;
 
     // Set up Fuseki with two datasets, "data1" backed by TDB and "data2" 
backed by TDB2.
-    @BeforeClass public static void beforeClass() {
+    @BeforeAll public static void beforeClass() {
         addTestData(testdsg1);
         addTestData(testdsg2);
         addTestData(testdsg3);
@@ -110,7 +115,7 @@ public class TestSecurityFilterFuseki {
         fusekiServer.start();
     }
 
-    @AfterClass public static void afterClass() {
+    @AfterAll public static void afterClass() {
         fusekiServer.stop();
     }
 
@@ -131,9 +136,7 @@ public class TestSecurityFilterFuseki {
         propertyUserStore.addUser(user, cred, roles);
     }
 
-    public TestSecurityFilterFuseki(String label, String dsName) {
-        baseUrl = fusekiServer.datasetURL(dsName);
-    }
+    public TestSecurityFilterFuseki() {}
 
     private static String queryAll        = "SELECT * { { ?s ?p ?o } UNION { 
GRAPH ?g { ?s ?p ?o } } }";
     private static String queryDft        = "SELECT * { ?s ?p ?o }";
@@ -142,9 +145,9 @@ public class TestSecurityFilterFuseki {
     private static String queryG2         = "SELECT * { GRAPH 
<http://test/graph2> { ?s ?p ?o } }";
     private static String queryGraphNames = "SELECT * { GRAPH ?g { } }";
 
-    private Set<Node> query(String user, String password, String queryString) {
+    private Set<Node> query(String user, String password, String dsName, 
String queryString) {
         Set<Node> results = new HashSet<>();
-        try (RDFConnection conn = RDFConnection.connectPW(baseUrl, user, 
password)) {
+        try (RDFConnection conn = RDFConnection.connectPW(baseUrl(dsName), 
user, password)) {
             conn.queryResultSet(queryString, rs->{
                 List<QuerySolution> list = Iter.toList(rs);
                 list.stream()
@@ -157,17 +160,17 @@ public class TestSecurityFilterFuseki {
         return results;
     }
 
-    private void query401(String user, String password, String queryString) {
-        queryHttp(401, user, password, queryString);
+    private void query401(String user, String password, String dsName, String 
queryString) {
+        queryHttp(401, user, password, dsName, queryString);
     }
 
-    private void query403(String user, String password, String queryString) {
-        queryHttp(403, user, password, queryString);
+    private void query403(String user, String password, String dsName, String 
queryString) {
+        queryHttp(403, user, password, dsName, queryString);
     }
 
-    private void queryHttp(int statusCode, String user, String password, 
String queryString) {
+    private void queryHttp(int statusCode, String user, String password, 
String dsName, String queryString) {
         try {
-            query(user, password, queryString);
+            query(user, password, dsName, queryString);
             if ( statusCode < 200 && statusCode > 299 )
                 fail("Should have responded with "+statusCode);
         } catch (QueryExceptionHTTP ex) {
@@ -175,68 +178,91 @@ public class TestSecurityFilterFuseki {
         }
     }
 
-    @Test public void query_userDft() {
-        Set<Node> results = query("userDft", "pwDft", queryAll);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void query_userDft(String label, String dsName) {
+        Set<Node> results = query("userDft", "pwDft", dsName, queryAll);
         assertSeen(results, s0);
     }
 
-    @Test public void query_userNone() {
-        Set<Node> results = query("userNone", "pwNone", queryAll);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void query_userNone(String label, String dsName) {
+        Set<Node> results = query("userNone", "pwNone", dsName, queryAll);
         assertSeen(results);
     }
 
-    @Test public void query_user0() {
-        Set<Node> results = query("user0", "pw0", queryAll);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void query_user0(String label, String dsName) {
+        Set<Node> results = query("user0", "pw0", dsName, queryAll);
         assertSeen(results, s0);
     }
 
-    @Test public void query_user1() {
-        Set<Node> results = query("user1", "pw1", queryAll);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void query_user1(String label, String dsName) {
+        Set<Node> results = query("user1", "pw1", dsName, queryAll);
         assertSeen(results, s0, s1);
     }
 
-    @Test public void query_bad_user() {
-        query401("userX", "pwX", queryAll);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void query_bad_user(String label, String dsName) {
+        query401("userX", "pwX", dsName, queryAll);
     }
 
-    @Test public void query_bad_password() {
-        query401("user0", "not-the-password", queryAll);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void query_bad_password(String label, String dsName) {
+        query401("user0", "not-the-password", dsName, queryAll);
     }
 
     // Visibility of data.
 
-    @Test public void query_dyn_1() {
-        Set<Node> results = query("user1", "pw1", "SELECT * FROM 
<http://test/g1> { ?s ?p ?o }");
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void query_dyn_1(String label, String dsName) {
+        Set<Node> results = query("user1", "pw1", dsName, "SELECT * FROM 
<http://test/g1> { ?s ?p ?o }");
         assertSeen(results, s1);
     }
 
-    @Test public void query_dyn_2() {
-        Set<Node> results = query("user1", "pw1", "SELECT * FROM 
<http://test/g2> { ?s ?p ?o }");
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void query_dyn_2(String label, String dsName) {
+        Set<Node> results = query("user1", "pw1", dsName, "SELECT * FROM 
<http://test/g2> { ?s ?p ?o }");
         assertSeen(results);
     }
 
-    @Test public void query_dyn_3() {
-        Set<Node> results = query("user1", "pw1", "SELECT * FROM 
<http://test/g1> FROM <http://test/g2> { ?s ?p ?o }");
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void query_dyn_3(String label, String dsName) {
+        Set<Node> results = query("user1", "pw1", dsName, "SELECT * FROM 
<http://test/g1> FROM <http://test/g2> { ?s ?p ?o }");
         assertSeen(results,s1);
     }
 
-    @Test public void query_dyn_4() {
-        Set<Node> results = query("user3", "pw3", "SELECT * FROM 
<"+Quad.unionGraph.getURI()+"> { ?s ?p ?o }");
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void query_dyn_4(String label, String dsName) {
+        Set<Node> results = query("user3", "pw3", dsName, "SELECT * FROM 
<"+Quad.unionGraph.getURI()+"> { ?s ?p ?o }");
         assertSeen(results, s2, s3);
-        Set<Node> results2 = query("user3", "pw3", "SELECT * { GRAPH 
<"+Quad.unionGraph.getURI()+"> { ?s ?p ?o } }");
+        Set<Node> results2 = query("user3", "pw3", dsName, "SELECT * { GRAPH 
<"+Quad.unionGraph.getURI()+"> { ?s ?p ?o } }");
         assertEquals(results, results2);
     }
 
-    @Test public void query_dyn_5() {
-        Set<Node> results = query("user3", "pw3", "SELECT * FROM NAMED 
<http://test/g1> { ?s ?p ?o }");
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void query_dyn_5(String label, String dsName) {
+        Set<Node> results = query("user3", "pw3", dsName, "SELECT * FROM NAMED 
<http://test/g1> { ?s ?p ?o }");
         assertSeen(results);
-        Set<Node> results2 = query("user3", "pw3", "SELECT * { GRAPH 
<http://test/g1> { ?s ?p ?o } }");
+        Set<Node> results2 = query("user3", "pw3", dsName, "SELECT * { GRAPH 
<http://test/g1> { ?s ?p ?o } }");
         assertEquals(results, results2);
     }
 
-    private Set<Node> gsp(String user, String password, String graphName) {
+    private Set<Node> gsp(String user, String password, String dsName, String 
graphName) {
         Set<Node> results = new HashSet<>();
-        try (RDFLink conn = RDFLink.connectPW(baseUrl, user, password)) {
+        String baseURL = baseUrl(dsName);
+        try (RDFLink conn = RDFLink.connectPW(baseUrl(dsName), user, 
password)) {
             Graph graph = (graphName == null) ? conn.get() : 
conn.get(graphName);
             // Extract subjects.
             Set<Node> seen = Iter.toSet(G.iterSubjects(graph));
@@ -244,21 +270,21 @@ public class TestSecurityFilterFuseki {
         }
     }
 
-    private void gsp401(String user, String password, String graphName) {
-        gspHttp(401, user, password, graphName);
+    private void gsp401(String user, String password, String dsName, String 
graphName) {
+        gspHttp(401, user, password, dsName, graphName);
     }
 
-    private void gsp403(String user, String password, String graphName) {
-        gspHttp(403, user, password, graphName);
+    private void gsp403(String user, String password, String dsName, String 
graphName) {
+        gspHttp(403, user, password, dsName, graphName);
     }
 
-    private void gsp404(String user, String password, String graphName) {
-        gspHttp(404, user, password, graphName);
+    private void gsp404(String user, String password, String dsName, String 
graphName) {
+        gspHttp(404, user, password, dsName, graphName);
     }
 
-    private void gspHttp(int statusCode, String user, String password, String 
queryString) {
+    private void gspHttp(int statusCode, String user, String password, String 
dsName, String graphName) {
         try {
-            gsp(user, password, queryString);
+            gsp(user, password, dsName, graphName);
             if ( statusCode < 200 && statusCode > 299 )
                 fail("Should have responded with "+statusCode);
         } catch (HttpException ex) {
@@ -269,78 +295,112 @@ public class TestSecurityFilterFuseki {
     // When a graph is not visible, it should return 404 except
     // for the default graph which should be empty.
 
-    @Test public void gsp_dft_userDft() {
-        Set<Node> results = gsp("userDft", "pwDft", null);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_dft_userDft(String label, String dsName) {
+        Set<Node> results = gsp("userDft", "pwDft", dsName, null);
         assertSeen(results, s0);
     }
 
-    @Test public void gsp_dft_userNone() {
-        Set<Node> results = gsp("userNone", "pwNone", null);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_dft_userNone(String label, String dsName) {
+        Set<Node> results = gsp("userNone", "pwNone", dsName, null);
         assertSeen(results);
     }
 
-    @Test public void gsp_dft_user0() {
-        Set<Node> results = gsp("user0", "pw0", null);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_dft_user0(String label, String dsName) {
+        Set<Node> results = gsp("user0", "pw0", dsName, null);
         assertSeen(results, s0);
     }
 
-    @Test public void gsp_dft_user1() {
-        Set<Node> results = gsp("user1", "pw1", null);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_dft_user1(String label, String dsName) {
+        Set<Node> results = gsp("user1", "pw1", dsName, null);
         assertSeen(results, s0);
     }
 
-    @Test public void gsp_dft_user2() {
-        Set<Node> results = gsp("user2", "pw2", null);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_dft_user2(String label, String dsName) {
+        Set<Node> results = gsp("user2", "pw2", dsName, null);
         assertSeen(results);
     }
 
-    @Test public void gsp_graph1_userDft() {
-        gsp404("userDft", "pwDft", "http://test/g1";);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_graph1_userDft(String label, String dsName) {
+        gsp404("userDft", "pwDft", dsName, "http://test/g1";);
     }
 
-    @Test public void gsp_graph1_userNone() {
-        gsp404("userNone", "pwNone", "http://test/g1";);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_graph1_userNone(String label, String dsName) {
+        gsp404("userNone", "pwNone", dsName, "http://test/g1";);
     }
 
-    @Test public void gsp_graph1_user0() {
-        gsp404("user0", "pw0", "http://test/g1";);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_graph1_user0(String label, String dsName) {
+        gsp404("user0", "pw0", dsName, "http://test/g1";);
     }
 
-    @Test public void gsp_graph1_user1() {
-        Set<Node> results = gsp("user1", "pw1", "http://test/g1";);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_graph1_user1(String label, String dsName) {
+        Set<Node> results = gsp("user1", "pw1", dsName, "http://test/g1";);
         assertSeen(results, s1);
     }
 
-    @Test public void gsp_graph1_user2() {
-        gsp404("user2", "pw2", "http://test/g1";);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_graph1_user2(String label, String dsName) {
+        gsp404("user2", "pw2", dsName, "http://test/g1";);
     }
 
     // No such graph.
-    @Test public void gsp_graphX_userDft() {
-        gsp404("userDft", "pwDft", "http://test/gX";);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_graphX_userDft(String label, String dsName) {
+        gsp404("userDft", "pwDft", dsName, "http://test/gX";);
     }
 
-    @Test public void gsp_graphX_userNone() {
-        gsp404("userNone", "pwNone", "http://test/gX";);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_graphX_userNone(String label, String dsName) {
+        gsp404("userNone", "pwNone", dsName, "http://test/gX";);
     }
 
-    @Test public void gsp_graphX_user0() {
-        gsp404("user0", "pw0", "http://test/gX";);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_graphX_user0(String label, String dsName) {
+        gsp404("user0", "pw0", dsName, "http://test/gX";);
     }
 
-    @Test public void gsp_graphX_user1() {
-        gsp404("user1", "pw1", "http://test/g1X";);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_graphX_user1(String label, String dsName) {
+        gsp404("user1", "pw1", dsName, "http://test/g1X";);
     }
 
-    @Test public void gsp_graphX_user2() {
-        gsp404("user2", "pw2", "http://test/gX";);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_graphX_user2(String label, String dsName) {
+        gsp404("user2", "pw2", dsName, "http://test/gX";);
     }
 
-    @Test public void gsp_bad_user() {
-        gsp401("userX", "pwX", null);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_bad_user(String label, String dsName) {
+        gsp401("userX", "pwX", dsName, null);
     }
 
-    @Test public void gsp_bad_password() {
-        gsp401("user0", "not-the-password", null);
+    @ParameterizedTest(name = "{index} {0}")
+    @MethodSource("provideTestArgs")
+    public void gsp_bad_password(String label, String dsName) {
+        gsp401("user0", "not-the-password", dsName, null);
     }
 }
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestServiceDataAuthBuild.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestServiceDataAuthBuild.java
index 33c109e56a..58a4be56db 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestServiceDataAuthBuild.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestServiceDataAuthBuild.java
@@ -18,9 +18,11 @@
 
 package org.apache.jena.fuseki.main.access;
 
+
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+
 import org.apache.jena.fuseki.main.FusekiServer;
-import org.junit.After;
-import org.junit.Before;
 
 /**
  * AbstractTestServiceDatasetAuth with a configuration file.
@@ -29,7 +31,7 @@ public class TestServiceDataAuthBuild extends 
AbstractTestServiceDatasetAuth {
 
     private FusekiServer server;
 
-    @Before public void before() {
+    @BeforeEach public void before() {
         server = FusekiServer.create()
             //.verbose(true)
             .port(port)
@@ -38,7 +40,7 @@ public class TestServiceDataAuthBuild extends 
AbstractTestServiceDatasetAuth {
         server.start();
     }
 
-    @After public void after () {
+    @AfterEach public void after () {
         server.stop();
     }
 
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestServiceDataAuthConfig.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestServiceDataAuthConfig.java
index 0a1768dbb1..b54b8743b5 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestServiceDataAuthConfig.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestServiceDataAuthConfig.java
@@ -18,6 +18,9 @@
 
 package org.apache.jena.fuseki.main.access;
 
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+
 import org.apache.jena.fuseki.auth.Auth;
 import org.apache.jena.fuseki.auth.AuthPolicy;
 import org.apache.jena.fuseki.main.FusekiServer;
@@ -26,8 +29,6 @@ import org.apache.jena.fuseki.server.Endpoint;
 import org.apache.jena.fuseki.server.Operation;
 import org.apache.jena.sparql.core.DatasetGraph;
 import org.apache.jena.sparql.core.DatasetGraphFactory;
-import org.junit.After;
-import org.junit.Before;
 
 /**
  * AbstractTestServiceDatasetAuth with a programmatically built server which 
should be
@@ -36,12 +37,14 @@ import org.junit.Before;
 public class TestServiceDataAuthConfig extends AbstractTestServiceDatasetAuth {
     private FusekiServer server;
 
-    @Before public void before() {
+    @BeforeEach
+    public void before() {
         server = build(port, null);
         server.start();
     }
 
-    @After public void after () {
+    @AfterEach
+    public void after () {
         server.stop();
     }
 
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSimpleBearer.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSimpleBearer.java
index 87735ac5a2..d179095fd9 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSimpleBearer.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/access/TestSimpleBearer.java
@@ -18,10 +18,13 @@
 
 package org.apache.jena.fuseki.main.access;
 
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import org.junit.jupiter.api.Test;
 
 import org.apache.jena.fuseki.main.auth.SimpleBearer;
-import org.junit.Test;
 
 public class TestSimpleBearer {
 
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/prefixes/PrefixesServiceTests.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/prefixes/TS_PrefixesService.java
similarity index 96%
rename from 
jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/prefixes/PrefixesServiceTests.java
rename to 
jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/prefixes/TS_PrefixesService.java
index 20c45c9479..5ad83830a0 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/prefixes/PrefixesServiceTests.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/prefixes/TS_PrefixesService.java
@@ -30,4 +30,4 @@ import org.junit.platform.suite.api.Suite;
     , TestPrefixesActionResponse.class
 
 })
-public class PrefixesServiceTests {}
+public class TS_PrefixesService {}
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/sys/TestFusekiModules.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/sys/TestFusekiModules.java
index 75e48612cc..fda3ebbd6c 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/sys/TestFusekiModules.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/sys/TestFusekiModules.java
@@ -18,26 +18,25 @@
 
 package org.apache.jena.fuseki.main.sys;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.*;
 
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 
 import org.apache.jena.fuseki.main.FusekiServer;
 import org.apache.jena.rdf.model.Model;
 import org.apache.jena.sys.JenaSystem;
 
-/** Same packege for access */
+/** Same package for access */
 public class TestFusekiModules {
 
     private static FusekiModules system = null;
 
-    @BeforeClass public static void beforeClass() { JenaSystem.init(); }
+    @BeforeAll
+    public static void beforeClass() { JenaSystem.init(); }
 
     @Test public void modules_0() {
         ModuleForTest module = new ModuleForTest();
@@ -77,28 +76,28 @@ public class TestFusekiModules {
     }
 
     private void lifecycle(FusekiServer.Builder builder, ModuleForTest module) 
{
-        assertEquals("prepare:",       0, module.countPrepared.get());
-        assertEquals("configured:",    0, module.countConfiguration.get());
-        assertEquals("server: ",       0, module.countServer.get());
-        assertEquals("serverBefore: ", 0, 
module.countServerBeforeStarting.get());
-        assertEquals("serverAfter: ",  0, 
module.countServerAfterStarting.get());
+        assertEquals(0, module.countPrepared.get(), "prepare:");
+        assertEquals(0, module.countConfiguration.get(), "configured:");
+        assertEquals(0, module.countServer.get(), "server:");
+        assertEquals(0, module.countServerBeforeStarting.get(), 
"serverBefore:");
+        assertEquals(0, module.countServerAfterStarting.get(), "serverAfter:");
 
         FusekiServer server = builder.build();
         assertFalse(server.getModules().asList().isEmpty());
 
-        assertEquals("prepare:",       1, module.countPrepared.getPlain());
-        assertEquals("configured:",    1, module.countConfiguration.get());
-        assertEquals("server: ",       1, module.countServer.get());
-        assertEquals("serverBefore: ", 0, 
module.countServerBeforeStarting.get());
-        assertEquals("serverAfter: ",  0, 
module.countServerAfterStarting.get());
+        assertEquals(1, module.countPrepared.get(), "prepare:");
+        assertEquals(1, module.countConfiguration.get(), "configured:");
+        assertEquals(1, module.countServer.get(), "server:");
+        assertEquals(0, module.countServerBeforeStarting.get(), 
"serverBefore:");
+        assertEquals(0, module.countServerAfterStarting.get(), "serverAfter:");
 
         server.start();
 
-        assertEquals("prepare:",       1, module.countPrepared.get());
-        assertEquals("configured:",    1, module.countConfiguration.get());
-        assertEquals("server: ",       1, module.countServer.get());
-        assertEquals("serverBefore: ", 1, 
module.countServerBeforeStarting.get());
-        assertEquals("serverAfter: ",  1, 
module.countServerAfterStarting.get());
+        assertEquals(1, module.countPrepared.get(), "prepare:");
+        assertEquals(1, module.countConfiguration.get(), "configured:");
+        assertEquals(1, module.countServer.get(), "server:");
+        assertEquals(1, module.countServerBeforeStarting.get(), 
"serverBefore:");
+        assertEquals(1, module.countServerAfterStarting.get(), "serverAfter:");
 
         server.stop();
     }
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/mod/TC_FusekiMods.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/mod/TS_FusekiMods.java
similarity index 95%
rename from 
jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/mod/TC_FusekiMods.java
rename to 
jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/mod/TS_FusekiMods.java
index d2fafda62f..6771fa2f90 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/mod/TC_FusekiMods.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/mod/TS_FusekiMods.java
@@ -35,6 +35,6 @@ import org.apache.jena.fuseki.mod.shiro.TestModShiro;
     // Apache Shiro
     TestModShiro.class
 })
-public class TC_FusekiMods {
-    public TC_FusekiMods() {}
+public class TS_FusekiMods {
+    public TS_FusekiMods() {}
 }
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/mod/admin/TestFusekiReload.java
 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/mod/admin/TestFusekiReload.java
index ee68e96df1..079a30e149 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/mod/admin/TestFusekiReload.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/mod/admin/TestFusekiReload.java
@@ -18,7 +18,7 @@
 
 package org.apache.jena.fuseki.mod.admin;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.io.IOException;
 import java.io.UncheckedIOException;
@@ -26,9 +26,9 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.StandardCopyOption;
 
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import org.apache.jena.atlas.io.IOX;
 import org.apache.jena.atlas.logging.LogCtl;
@@ -53,12 +53,12 @@ public class TestFusekiReload {
     private static Path fConfig1       = DIR.resolve("reload-config1.ttl");
     private static Path fConfig2       = DIR.resolve("reload-config2.ttl");
 
-    @Before public void before() {
+    @BeforeEach public void before() {
         // Initial state
         copyFile(fConfig1, fConfigServer);
     }
 
-    @AfterClass public static void after() {
+    @AfterAll public static void after() {
         try {
             Files.delete(fConfigServer);
         } catch (IOException ex) {
@@ -138,9 +138,9 @@ public class TestFusekiReload {
         QueryExec qExec = 
QueryExecHTTP.service(server.datasetURL(datasetName)).query(queryString).build();
         try {
             RowSetOps.consume(qExec.select());
-            assertEquals(datasetName, expectedStatusCode, 200);
+            assertEquals(expectedStatusCode, 200, datasetName);
         } catch (QueryExceptionHTTP ex) {
-            assertEquals(datasetName, expectedStatusCode, ex.getStatusCode());
+            assertEquals(expectedStatusCode, ex.getStatusCode(), datasetName);
         }
     }
 
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/test/resources/log4j2-test.properties 
b/jena-fuseki2/jena-fuseki-main/src/test/resources/log4j2-test.properties
index 26b8c4b2e2..fb3efdb6de 100644
--- a/jena-fuseki2/jena-fuseki-main/src/test/resources/log4j2-test.properties
+++ b/jena-fuseki2/jena-fuseki-main/src/test/resources/log4j2-test.properties
@@ -25,8 +25,9 @@ logger.arq-exec.level = INFO
 logger.fuseki.name  = org.apache.jena.fuseki
 logger.fuseki.level = WARN
 
+## Some tests correctly log warnings. TS_PrefixesService
 logger.fuseki-fuseki.name  = org.apache.jena.fuseki.Fuseki
-logger.fuseki-fuseki.level = WARN
+logger.fuseki-fuseki.level = ERROR
  
 logger.fuseki-autoload.name  = 
org.apache.jena.fuseki.main.sys.FusekiAutoModules
 logger.fuseki-autoload.level = ERROR

Reply via email to