You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by en...@apache.org on 2026/04/26 18:09:52 UTC

(sling-org-apache-sling-testing-jcr-mock) branch master updated: SLING-13180 Migrate tests to junit 5 (#45)

This is an automated email from the ASF dual-hosted git repository.

enapps-enorman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-jcr-mock.git


The following commit(s) were added to refs/heads/master by this push:
     new 08e55ec  SLING-13180 Migrate tests to junit 5 (#45)
08e55ec is described below

commit 08e55ec6a84d674bc29383ed9ad5468dd1b21c9b
Author: Eric Norman <en...@apache.org>
AuthorDate: Sun Apr 26 11:09:47 2026 -0700

    SLING-13180 Migrate tests to junit 5 (#45)
---
 pom.xml                                            |   9 +-
 .../sling/testing/mock/jcr/AbstractItemTest.java   |  18 ++--
 .../testing/mock/jcr/AbstractMockNodeTypeTest.java |  17 ++-
 .../apache/sling/testing/mock/jcr/LogCapture.java  |   2 +-
 .../testing/mock/jcr/MockAuthorizableTest.java     |  19 ++--
 .../sling/testing/mock/jcr/MockGroupTest.java      |  34 +++---
 .../mock/jcr/MockNodeOnlyRegisteredTypesTest.java  |  24 ++---
 .../sling/testing/mock/jcr/MockNodeTest.java       | 114 ++++++++++----------
 .../testing/mock/jcr/MockNodeTypeAllModeTest.java  |  34 +++---
 .../mock/jcr/MockNodeTypeManagerAllModeTest.java   |  45 ++++----
 .../testing/mock/jcr/MockNodeTypeManagerTest.java  |  46 ++++----
 .../sling/testing/mock/jcr/MockNodeTypeTest.java   |  10 +-
 .../testing/mock/jcr/MockPrincipalManagerTest.java |  45 ++++----
 .../sling/testing/mock/jcr/MockPropertyTest.java   |  98 ++++++++---------
 .../testing/mock/jcr/MockQueryManagerTest.java     |  53 ++++-----
 .../sling/testing/mock/jcr/MockRepositoryTest.java |  26 ++---
 .../sling/testing/mock/jcr/MockSessionTest.java    | 118 ++++++++++-----------
 .../testing/mock/jcr/MockUserManagerTest.java      |  84 +++++++--------
 .../sling/testing/mock/jcr/MockUserTest.java       |  45 ++++----
 .../sling/testing/mock/jcr/MockWorkspaceTest.java  |  26 ++---
 .../sling/testing/mock/jcr/ResourceUtilTest.java   |  20 ++--
 21 files changed, 437 insertions(+), 450 deletions(-)

diff --git a/pom.xml b/pom.xml
index 316903c..cc818d7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -130,8 +130,13 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-api</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-engine</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/AbstractItemTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/AbstractItemTest.java
index 253615f..d3c93a7 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/AbstractItemTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/AbstractItemTest.java
@@ -24,13 +24,13 @@ import javax.jcr.Property;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThrows;
-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.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public abstract class AbstractItemTest {
 
@@ -40,7 +40,7 @@ public abstract class AbstractItemTest {
     protected Property prop1;
     protected Node node11;
 
-    @Before
+    @BeforeEach
     public void setUp() throws RepositoryException {
         this.session = MockJcr.newSession();
         this.rootNode = this.session.getRootNode();
@@ -70,12 +70,12 @@ public abstract class AbstractItemTest {
     }
 
     @Test
-    public void testGetAncestorNegative() throws RepositoryException {
+    public void testGetAncestorNegative() {
         assertThrows(ItemNotFoundException.class, () -> this.node11.getAncestor(-1));
     }
 
     @Test
-    public void testGetAncestorTooDeep() throws RepositoryException {
+    public void testGetAncestorTooDeep() {
         assertThrows(ItemNotFoundException.class, () -> this.node11.getAncestor(3));
     }
 
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/AbstractMockNodeTypeTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/AbstractMockNodeTypeTest.java
index fea5db4..48b5a26 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/AbstractMockNodeTypeTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/AbstractMockNodeTypeTest.java
@@ -30,15 +30,15 @@ import java.io.IOException;
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.commons.cnd.ParseException;
 import org.apache.jackrabbit.value.ValueFactoryImpl;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThrows;
-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.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  *
@@ -47,7 +47,7 @@ public abstract class AbstractMockNodeTypeTest {
     protected Session session;
     protected NodeTypeManager nodeTypeManager;
 
-    @Before
+    @BeforeEach
     public void setUp() throws RepositoryException, ParseException, IOException {
         this.session = MockJcr.newSession();
         loadNodeTypes();
@@ -134,7 +134,6 @@ public abstract class AbstractMockNodeTypeTest {
     /**
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeType#canRemoveItem(java.lang.String)}.
      */
-    @SuppressWarnings("deprecation")
     @Deprecated
     @Test
     public void testCanRemoveItem() throws RepositoryException {
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/LogCapture.java b/src/test/java/org/apache/sling/testing/mock/jcr/LogCapture.java
index 3e32102..7ec384e 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/LogCapture.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/LogCapture.java
@@ -28,7 +28,7 @@ import ch.qos.logback.classic.spi.ILoggingEvent;
 import ch.qos.logback.core.read.ListAppender;
 import org.slf4j.LoggerFactory;
 
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.fail;
 
 /**
  * Capture logs for testing
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockAuthorizableTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockAuthorizableTest.java
index b8ba370..c6008b6 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockAuthorizableTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockAuthorizableTest.java
@@ -20,7 +20,6 @@ package org.apache.sling.testing.mock.jcr;
 
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
-import javax.jcr.UnsupportedRepositoryOperationException;
 import javax.jcr.Value;
 import javax.jcr.ValueFactory;
 
@@ -35,14 +34,14 @@ import org.apache.jackrabbit.api.security.user.UserManager;
 import org.apache.jackrabbit.value.ValueFactoryImpl;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-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.assertEquals;
+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;
 
 /**
  *
@@ -53,7 +52,7 @@ public abstract class MockAuthorizableTest<T extends Authorizable> {
     protected T authorizable;
     protected ValueFactory vf = ValueFactoryImpl.getInstance();
 
-    @Before
+    @BeforeEach
     public void before() throws RepositoryException {
         session = MockJcr.newSession();
         userManager = new MockUserManager(session);
@@ -267,7 +266,7 @@ public abstract class MockAuthorizableTest<T extends Authorizable> {
     /**
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockAuthorizable#getPath()}.
      */
-    public abstract void testGetPath() throws UnsupportedRepositoryOperationException, RepositoryException;
+    public abstract void testGetPath() throws RepositoryException;
 
     @Test
     public void testToString() {
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockGroupTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockGroupTest.java
index 30d7be8..0d1124f 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockGroupTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockGroupTest.java
@@ -20,28 +20,26 @@ package org.apache.sling.testing.mock.jcr;
 
 import javax.jcr.Node;
 import javax.jcr.RepositoryException;
-import javax.jcr.UnsupportedRepositoryOperationException;
 
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Set;
 
 import org.apache.jackrabbit.api.security.user.Authorizable;
-import org.apache.jackrabbit.api.security.user.AuthorizableExistsException;
 import org.apache.jackrabbit.api.security.user.Group;
 import org.apache.jackrabbit.api.security.user.User;
 import org.apache.jackrabbit.oak.spi.security.user.UserConstants;
 import org.jetbrains.annotations.NotNull;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-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;
 
 /**
  *
  */
-public class MockGroupTest extends MockAuthorizableTest<Group> {
+class MockGroupTest extends MockAuthorizableTest<Group> {
 
     @Override
     protected Group createAuthorizable() throws RepositoryException {
@@ -61,7 +59,7 @@ public class MockGroupTest extends MockAuthorizableTest<Group> {
     }
 
     @Test
-    public void testGetMemberOfWithNestedGroups() throws RepositoryException {
+    void testGetMemberOfWithNestedGroups() throws RepositoryException {
         @NotNull Group member1 = userManager.createGroup("member1");
         @NotNull Group submember1 = userManager.createGroup("submember1");
         member1.addMember(submember1);
@@ -82,7 +80,7 @@ public class MockGroupTest extends MockAuthorizableTest<Group> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockGroup#getDeclaredMembers()}.
      */
     @Test
-    public void testGetDeclaredMembers() throws AuthorizableExistsException, RepositoryException {
+    void testGetDeclaredMembers() throws RepositoryException {
         @NotNull Group member1 = userManager.createGroup("member1");
         @NotNull User member2 = userManager.createUser("member2", "pwd");
         member1.addMember(member2);
@@ -100,7 +98,7 @@ public class MockGroupTest extends MockAuthorizableTest<Group> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockGroup#getMembers()}.
      */
     @Test
-    public void testGetMembers() throws RepositoryException {
+    void testGetMembers() throws RepositoryException {
         @NotNull Group member1 = userManager.createGroup("member1");
         @NotNull User member2 = userManager.createUser("member2", "pwd");
         member1.addMember(member2);
@@ -115,7 +113,7 @@ public class MockGroupTest extends MockAuthorizableTest<Group> {
     }
 
     @Test
-    public void testGetMembersWithNestedGroups() throws RepositoryException {
+    void testGetMembersWithNestedGroups() throws RepositoryException {
         @NotNull Group member1 = userManager.createGroup("member1");
         @NotNull Group submember1 = userManager.createGroup("submember1");
         member1.addMember(submember1);
@@ -137,7 +135,7 @@ public class MockGroupTest extends MockAuthorizableTest<Group> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockGroup#isDeclaredMember(org.apache.jackrabbit.api.security.user.Authorizable)}.
      */
     @Test
-    public void testIsDeclaredMember() throws AuthorizableExistsException, RepositoryException {
+    void testIsDeclaredMember() throws RepositoryException {
         @NotNull Group member1 = userManager.createGroup("member1");
         @NotNull User member2 = userManager.createUser("member2", "pwd");
         member1.addMember(member2);
@@ -154,7 +152,7 @@ public class MockGroupTest extends MockAuthorizableTest<Group> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockGroup#isMember(org.apache.jackrabbit.api.security.user.Authorizable)}.
      */
     @Test
-    public void testIsMember() throws AuthorizableExistsException, RepositoryException {
+    void testIsMember() throws RepositoryException {
         @NotNull Group member1 = userManager.createGroup("member1");
         @NotNull User member2 = userManager.createUser("member2", "pwd");
         @NotNull User member3 = userManager.createUser("member3", "pwd");
@@ -182,7 +180,7 @@ public class MockGroupTest extends MockAuthorizableTest<Group> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockGroup#addMember(org.apache.jackrabbit.api.security.user.Authorizable)}.
      */
     @Test
-    public void testAddMember() throws AuthorizableExistsException, RepositoryException {
+    void testAddMember() throws RepositoryException {
         @NotNull Group member1 = userManager.createGroup("member1");
         @NotNull User member2 = userManager.createUser("member2", "pwd");
         assertTrue(authorizable.addMember(member1));
@@ -202,7 +200,7 @@ public class MockGroupTest extends MockAuthorizableTest<Group> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockGroup#addMembers(java.lang.String[])}.
      */
     @Test
-    public void testAddMembers() throws AuthorizableExistsException, RepositoryException {
+    void testAddMembers() throws RepositoryException {
         @NotNull Group member1 = userManager.createGroup("member1");
         @NotNull User member2 = userManager.createUser("member2", "pwd");
         @NotNull
@@ -221,7 +219,7 @@ public class MockGroupTest extends MockAuthorizableTest<Group> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockGroup#removeMember(org.apache.jackrabbit.api.security.user.Authorizable)}.
      */
     @Test
-    public void testRemoveMember() throws AuthorizableExistsException, RepositoryException {
+    void testRemoveMember() throws RepositoryException {
         @NotNull Group member1 = userManager.createGroup("member1");
         @NotNull User member2 = userManager.createUser("member2", "pwd");
         authorizable.addMember(member1);
@@ -240,7 +238,7 @@ public class MockGroupTest extends MockAuthorizableTest<Group> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockGroup#removeMembers(java.lang.String[])}.
      */
     @Test
-    public void testRemoveMembers() throws AuthorizableExistsException, RepositoryException {
+    void testRemoveMembers() throws RepositoryException {
         @NotNull Group member1 = userManager.createGroup("member1");
         @NotNull User member2 = userManager.createUser("member2", "pwd");
         authorizable.addMember(member1);
@@ -254,7 +252,7 @@ public class MockGroupTest extends MockAuthorizableTest<Group> {
 
     @Test
     @Override
-    public void testGetPath() throws UnsupportedRepositoryOperationException, RepositoryException {
+    public void testGetPath() throws RepositoryException {
         assertEquals("/home/groups/group1", authorizable.getPath());
         assertTrue(session.nodeExists(authorizable.getPath()));
         Node node = session.getNode(authorizable.getPath());
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeOnlyRegisteredTypesTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeOnlyRegisteredTypesTest.java
index 9016c59..64e0ad6 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeOnlyRegisteredTypesTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeOnlyRegisteredTypesTest.java
@@ -30,21 +30,21 @@ import java.io.Reader;
 
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.commons.cnd.ParseException;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-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.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class MockNodeOnlyRegisteredTypesTest {
+class MockNodeOnlyRegisteredTypesTest {
     protected Session session;
     protected Node rootNode;
     protected Node node1;
 
-    @Before
-    public void setUp() throws RepositoryException, IOException, ParseException {
+    @BeforeEach
+    void setUp() throws RepositoryException, IOException, ParseException {
         this.session = MockJcr.newSession();
         // load the node types and switch the nodetypemanager to ONLY_REGISTERED mode
         try (Reader reader = new InputStreamReader(getClass().getResourceAsStream("test_nodetypes.cnd"))) {
@@ -56,7 +56,7 @@ public class MockNodeOnlyRegisteredTypesTest {
     }
 
     @Test
-    public void testAutocreatedItemsForPrimaryType() throws RepositoryException {
+    void testAutocreatedItemsForPrimaryType() throws RepositoryException {
         Node auto1 = this.node1.addNode("auto1", "nt:autocreatedChildAndProp");
         assertTrue(auto1.hasProperty("prop1"));
         assertTrue(auto1.hasProperty("prop2"));
@@ -64,7 +64,7 @@ public class MockNodeOnlyRegisteredTypesTest {
     }
 
     @Test
-    public void testAutocreatedItemsForMixin() throws RepositoryException {
+    void testAutocreatedItemsForMixin() throws RepositoryException {
         Node auto1 = this.node1.addNode("auto1");
         auto1.addMixin("mix:autocreatedChildAndProp");
         assertTrue(auto1.hasProperty("prop1"));
@@ -75,7 +75,7 @@ public class MockNodeOnlyRegisteredTypesTest {
     }
 
     @Test
-    public void testGetDefinition() throws RepositoryException {
+    void testGetDefinition() throws RepositoryException {
         Node def1 = this.node1.addNode("def1", JcrConstants.NT_FOLDER);
         NodeDefinition definition1 = def1.getDefinition();
         assertNotNull(definition1);
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTest.java
index f889ab9..684aebf 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTest.java
@@ -40,21 +40,20 @@ import java.util.Map;
 
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.commons.cnd.ParseException;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 
 public class MockNodeTest extends AbstractItemTest {
 
     @Test
-    public void testGetNodes() throws RepositoryException {
+    void testGetNodes() throws RepositoryException {
         final Node node111 = this.node11.addNode("node111");
 
         NodeIterator nodes = this.node1.getNodes();
@@ -78,7 +77,7 @@ public class MockNodeTest extends AbstractItemTest {
     }
 
     @Test
-    public void testGetProperties() throws RepositoryException {
+    void testGetProperties() throws RepositoryException {
         PropertyIterator properties = this.node1.getProperties();
         Map<String, Property> props = propertiesToMap(properties);
         assertEquals(2, properties.getSize());
@@ -109,7 +108,7 @@ public class MockNodeTest extends AbstractItemTest {
     }
 
     @Test
-    public void testPrimaryType() throws RepositoryException {
+    void testPrimaryType() throws RepositoryException {
         assertEquals("nt:unstructured", this.node1.getPrimaryNodeType().getName());
         assertEquals(
                 "nt:unstructured", this.node1.getProperty("jcr:primaryType").getString());
@@ -124,42 +123,42 @@ public class MockNodeTest extends AbstractItemTest {
     }
 
     @Test
-    public void testSetPrimaryType() throws RepositoryException {
+    void testSetPrimaryType() throws RepositoryException {
         this.node1.setPrimaryType("nt:folder");
         assertEquals("nt:folder", this.node1.getPrimaryNodeType().getName());
     }
 
-    @Test(expected = NoSuchNodeTypeException.class)
-    public void testSetBlankPrimaryType() throws RepositoryException {
-        this.node1.setPrimaryType(" ");
+    @Test
+    void testSetBlankPrimaryType() {
+        assertThrows(NoSuchNodeTypeException.class, () -> this.node1.setPrimaryType(" "));
     }
 
     @Test
-    public void testIsNode() {
+    void testIsNode() {
         assertTrue(this.node1.isNode());
         assertFalse(this.prop1.isNode());
     }
 
     @Test
-    public void testHasNode() throws RepositoryException {
+    void testHasNode() throws RepositoryException {
         assertTrue(this.node1.hasNode("node11"));
         assertFalse(this.node1.hasNode("node25"));
     }
 
     @Test
-    public void testHasProperty() throws RepositoryException {
+    void testHasProperty() throws RepositoryException {
         assertTrue(this.node1.hasProperty("prop1"));
         assertFalse(this.node1.hasProperty("prop25"));
     }
 
     @SuppressWarnings("deprecation")
     @Test
-    public void testGetUUID() throws RepositoryException {
+    void testGetUUID() throws RepositoryException {
         assertEquals(this.node1.getIdentifier(), this.node1.getUUID());
     }
 
     @Test
-    public void testGetPrimaryItem() throws RepositoryException {
+    void testGetPrimaryItem() throws RepositoryException {
         Node dataParent = this.node1.addNode("dataParent");
         Property dataProperty = dataParent.setProperty(JcrConstants.JCR_DATA, "data");
         assertEquals(dataProperty, dataParent.getPrimaryItem());
@@ -169,20 +168,20 @@ public class MockNodeTest extends AbstractItemTest {
         assertEquals(contentNode, contentParent.getPrimaryItem());
     }
 
-    @Test(expected = ItemNotFoundException.class)
-    public void testGetPrimaryItemNotFound() throws RepositoryException {
-        this.node1.getPrimaryItem();
+    @Test
+    void testGetPrimaryItemNotFound() {
+        assertThrows(ItemNotFoundException.class, () -> this.node1.getPrimaryItem());
     }
 
     @Test
-    public void testNtFileNode() throws RepositoryException {
+    void testNtFileNode() throws RepositoryException {
         Node ntFile = this.session.getRootNode().addNode("testFile", JcrConstants.NT_FILE);
         assertNotNull(ntFile.getProperty(JcrConstants.JCR_CREATED).getDate());
         assertNotNull(ntFile.getProperty("jcr:createdBy").getString());
     }
 
     @Test
-    public void testGetMixinNodeTypes() throws Exception {
+    void testGetMixinNodeTypes() throws Exception {
         node1.addMixin("mix:referenceable");
         node1.addMixin("mix:taggable");
         assertEquals(2, node1.getMixinNodeTypes().length);
@@ -190,12 +189,12 @@ public class MockNodeTest extends AbstractItemTest {
     }
 
     @Test
-    public void testGetMixinNodeNoMixinTypes() throws RepositoryException {
+    void testGetMixinNodeNoMixinTypes() throws RepositoryException {
         assertEquals(0, node1.getMixinNodeTypes().length);
     }
 
     @Test
-    public void testIsModified() throws RepositoryException {
+    void testIsModified() throws RepositoryException {
         Node foo = this.session.getRootNode().addNode("foo");
         // according to "if this Item has been saved but has subsequently been modified through
         // the current session.
@@ -209,7 +208,7 @@ public class MockNodeTest extends AbstractItemTest {
     }
 
     @Test
-    public void testOrderBefore() throws RepositoryException {
+    void testOrderBefore() throws RepositoryException {
         Node foo = this.session.getRootNode().addNode("foo");
         this.session.save();
         foo.addNode("one");
@@ -217,15 +216,15 @@ public class MockNodeTest extends AbstractItemTest {
         foo.addNode("three");
         session.save();
         assertArrayEquals(
-                "Expected nodes order mismatch", new String[] {"one", "two", "three"}, getNodeNames(foo.getNodes()));
+                new String[] {"one", "two", "three"}, getNodeNames(foo.getNodes()), "Expected nodes order mismatch");
         foo.orderBefore("three", "two");
         session.save();
         assertArrayEquals(
-                "Expected nodes order mismatch", new String[] {"one", "three", "two"}, getNodeNames(foo.getNodes()));
+                new String[] {"one", "three", "two"}, getNodeNames(foo.getNodes()), "Expected nodes order mismatch");
         foo.orderBefore("one", null);
         session.save();
         assertArrayEquals(
-                "Expected nodes order mismatch", new String[] {"three", "two", "one"}, getNodeNames(foo.getNodes()));
+                new String[] {"three", "two", "one"}, getNodeNames(foo.getNodes()), "Expected nodes order mismatch");
     }
 
     /**
@@ -233,7 +232,7 @@ public class MockNodeTest extends AbstractItemTest {
      * have a common prefix.
      */
     @Test
-    public void testOrderBeforeWithCommonPrefix() throws RepositoryException {
+    void testOrderBeforeWithCommonPrefix() throws RepositoryException {
         Node foo = this.session.getRootNode().addNode("foo");
         this.session.save();
         foo.addNode("child100");
@@ -241,28 +240,28 @@ public class MockNodeTest extends AbstractItemTest {
         foo.addNode("child1");
         session.save();
         assertArrayEquals(
-                "Expected nodes order mismatch",
                 new String[] {"child100", "child10", "child1"},
-                getNodeNames(foo.getNodes()));
+                getNodeNames(foo.getNodes()),
+                "Expected nodes order mismatch");
         foo.orderBefore("child10", "child100");
         session.save();
         assertArrayEquals(
-                "Expected nodes order mismatch",
                 new String[] {"child10", "child100", "child1"},
-                getNodeNames(foo.getNodes()));
+                getNodeNames(foo.getNodes()),
+                "Expected nodes order mismatch");
         foo.orderBefore("child10", null);
         session.save();
         assertArrayEquals(
-                "Expected nodes order mismatch",
                 new String[] {"child100", "child1", "child10"},
-                getNodeNames(foo.getNodes()));
+                getNodeNames(foo.getNodes()),
+                "Expected nodes order mismatch");
     }
 
     @Test
-    public void testNodeDefinition() throws RepositoryException {
+    void testNodeDefinition() throws RepositoryException {
         Node node1 = this.session.getRootNode().getNode("node1");
         List<Node> unprotectedNodes = getUnprotectedChildNodes(node1);
-        assertEquals("Should have one unprotected child node", 1, unprotectedNodes.size());
+        assertEquals(1, unprotectedNodes.size(), "Should have one unprotected child node");
     }
 
     public static List<Node> getUnprotectedChildNodes(Node src) throws RepositoryException {
@@ -284,14 +283,14 @@ public class MockNodeTest extends AbstractItemTest {
             try {
                 names.add(((Node) node).getName());
             } catch (RepositoryException e) {
-                Assert.fail(e.getMessage());
+                fail(e.getMessage());
             }
         });
         return names.toArray(new String[names.size()]);
     }
 
     @Test
-    public void addMixinTest() throws RepositoryException {
+    void addMixinTest() throws RepositoryException {
         node1.addMixin("mix:referenceable");
         assertEquals(
                 "mix:referenceable",
@@ -299,12 +298,12 @@ public class MockNodeTest extends AbstractItemTest {
     }
 
     @Test
-    public void addBlankMixinTest() throws RepositoryException {
+    void addBlankMixinTest() {
         assertThrows(NoSuchNodeTypeException.class, () -> node1.addMixin(""));
     }
 
     @Test
-    public void addMixinsTest() throws RepositoryException {
+    void addMixinsTest() throws RepositoryException {
         node1.addMixin("mix:referenceable");
         node1.addMixin("mix:taggable");
         node1.addMixin("mix:mixin");
@@ -312,7 +311,7 @@ public class MockNodeTest extends AbstractItemTest {
     }
 
     @Test
-    public void removeMixinTest() throws RepositoryException {
+    void removeMixinTest() throws RepositoryException {
         node1.addMixin("mix:taggable");
         node1.addMixin("mix:mixin");
         node1.removeMixin("mix:taggable");
@@ -323,7 +322,7 @@ public class MockNodeTest extends AbstractItemTest {
     }
 
     @Test
-    public void removeBlankMixin() {
+    void removeBlankMixin() {
         assertThrows(NoSuchNodeTypeException.class, () -> node1.removeMixin(""));
     }
 
@@ -331,7 +330,7 @@ public class MockNodeTest extends AbstractItemTest {
      * Test SLING-11786
      */
     @Test
-    public void isNodeTypeTest() throws RepositoryException {
+    void isNodeTypeTest() throws RepositoryException {
         // check primary type
         assertTrue(node1.isNodeType(node1.getPrimaryNodeType().getName()));
 
@@ -344,24 +343,24 @@ public class MockNodeTest extends AbstractItemTest {
     }
 
     @Test
-    public void testIsSameForNodeComparedToItself() throws RepositoryException {
+    void testIsSameForNodeComparedToItself() throws RepositoryException {
         assertTrue(this.node1.isSame(this.node1));
     }
 
     @Test
-    public void testIsSameForNodeComparedToSameNode() throws RepositoryException {
+    void testIsSameForNodeComparedToSameNode() throws RepositoryException {
         // a different object referencing the same node
         Node node1ref = this.rootNode.getNode("node1");
         assertTrue(this.node1.isSame(node1ref));
     }
 
     @Test
-    public void testIsSameForNodeComparedToDifferentNode() throws RepositoryException {
+    void testIsSameForNodeComparedToDifferentNode() throws RepositoryException {
         assertFalse(this.node1.isSame(this.node11));
     }
 
     @Test
-    public void testIsSameForNodeFromDifferentRepository() throws RepositoryException {
+    void testIsSameForNodeFromDifferentRepository() throws RepositoryException {
         Repository otherRepository = MockJcr.newRepository();
         Session otherSession = otherRepository.login();
         Node otherNode1 = otherSession.getRootNode().addNode("node1");
@@ -369,7 +368,7 @@ public class MockNodeTest extends AbstractItemTest {
     }
 
     @Test
-    public void testIsSameForNodeFromDifferentWorkspace() throws RepositoryException {
+    void testIsSameForNodeFromDifferentWorkspace() throws RepositoryException {
         Session otherSession = session.getRepository().login("otherWorkspace");
         Node otherRootNode = otherSession.getRootNode();
         Node otherNode1 = otherRootNode.addNode("node1");
@@ -378,7 +377,7 @@ public class MockNodeTest extends AbstractItemTest {
     }
 
     @Test
-    public void testAccept() throws RepositoryException {
+    void testAccept() throws RepositoryException {
         Node foo = this.session.getRootNode().addNode("foo");
         foo.addNode("child100");
         foo.addNode("child10");
@@ -431,8 +430,7 @@ public class MockNodeTest extends AbstractItemTest {
      * SLING-11874 auto-set created/lastModified prop values when appropriate
      */
     @Test
-    public void testAddNodeCreatesSystemGeneratedAutoPropertyValues()
-            throws RepositoryException, IOException, ParseException {
+    void testAddNodeCreatesSystemGeneratedAutoPropertyValues() throws RepositoryException, IOException, ParseException {
         loadNodeTypes();
         Node foo = this.session.getRootNode().addNode("foo", JcrConstants.NT_HIERARCHYNODE);
         Node versionFoo = this.session.getRootNode().addNode("versionFoo", JcrConstants.NT_VERSION);
@@ -447,7 +445,7 @@ public class MockNodeTest extends AbstractItemTest {
      * SLING-11874 auto-set created/lastModified prop values when appropriate
      */
     @Test
-    public void testAddMixinCreatesSystemGeneratedAutoPropertyValues()
+    void testAddMixinCreatesSystemGeneratedAutoPropertyValues()
             throws RepositoryException, IOException, ParseException {
         loadNodeTypes();
 
@@ -473,7 +471,7 @@ public class MockNodeTest extends AbstractItemTest {
      * SLING-11874 To test created and lastModified props are not autocreated when not declared in their mixins
      */
     @Test
-    public void testAddNodeDoesNotCreateNonMixinCreatedAndLastModified()
+    void testAddNodeDoesNotCreateNonMixinCreatedAndLastModified()
             throws RepositoryException, IOException, ParseException {
         loadNodeTypes();
 
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTypeAllModeTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTypeAllModeTest.java
index 532b617..3f9114d 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTypeAllModeTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTypeAllModeTest.java
@@ -25,11 +25,11 @@ import java.io.IOException;
 
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.commons.cnd.ParseException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  *
@@ -58,7 +58,7 @@ public class MockNodeTypeAllModeTest extends AbstractMockNodeTypeTest {
     @Test
     public void testGetChildNodeDefinitions() throws RepositoryException {
         NodeType ntFolder = nodeTypeManager.getNodeType(JcrConstants.NT_FOLDER);
-        assertThrows(UnsupportedOperationException.class, () -> ntFolder.getChildNodeDefinitions());
+        assertThrows(UnsupportedOperationException.class, ntFolder::getChildNodeDefinitions);
     }
 
     /**
@@ -67,7 +67,7 @@ public class MockNodeTypeAllModeTest extends AbstractMockNodeTypeTest {
     @Test
     public void testGetDeclaredChildNodeDefinitions() throws RepositoryException {
         NodeType ntFolder = nodeTypeManager.getNodeType(JcrConstants.NT_FOLDER);
-        assertThrows(UnsupportedOperationException.class, () -> ntFolder.getDeclaredChildNodeDefinitions());
+        assertThrows(UnsupportedOperationException.class, ntFolder::getDeclaredChildNodeDefinitions);
     }
 
     /**
@@ -76,7 +76,7 @@ public class MockNodeTypeAllModeTest extends AbstractMockNodeTypeTest {
     @Test
     public void testGetDeclaredPropertyDefinitions() throws RepositoryException {
         NodeType ntBase = nodeTypeManager.getNodeType(JcrConstants.NT_BASE);
-        assertThrows(UnsupportedOperationException.class, () -> ntBase.getDeclaredPropertyDefinitions());
+        assertThrows(UnsupportedOperationException.class, ntBase::getDeclaredPropertyDefinitions);
     }
 
     /**
@@ -85,7 +85,7 @@ public class MockNodeTypeAllModeTest extends AbstractMockNodeTypeTest {
     @Test
     public void testGetDeclaredSupertypes() throws RepositoryException {
         NodeType ntFolder = nodeTypeManager.getNodeType(JcrConstants.NT_FOLDER);
-        assertThrows(UnsupportedOperationException.class, () -> ntFolder.getDeclaredSupertypes());
+        assertThrows(UnsupportedOperationException.class, ntFolder::getDeclaredSubtypes);
     }
 
     /**
@@ -94,7 +94,7 @@ public class MockNodeTypeAllModeTest extends AbstractMockNodeTypeTest {
     @Test
     public void testGetPrimaryItemName() throws RepositoryException {
         NodeType ntFolder = nodeTypeManager.getNodeType(JcrConstants.NT_FOLDER);
-        assertThrows(UnsupportedOperationException.class, () -> ntFolder.getPrimaryItemName());
+        assertThrows(UnsupportedOperationException.class, ntFolder::getPrimaryItemName);
     }
 
     /**
@@ -103,7 +103,7 @@ public class MockNodeTypeAllModeTest extends AbstractMockNodeTypeTest {
     @Test
     public void testGetPropertyDefinitions() throws RepositoryException {
         NodeType ntBase = nodeTypeManager.getNodeType(JcrConstants.NT_FOLDER);
-        assertThrows(UnsupportedOperationException.class, () -> ntBase.getPropertyDefinitions());
+        assertThrows(UnsupportedOperationException.class, ntBase::getPropertyDefinitions);
     }
 
     /**
@@ -112,7 +112,7 @@ public class MockNodeTypeAllModeTest extends AbstractMockNodeTypeTest {
     @Test
     public void testGetSupertypes() throws RepositoryException {
         NodeType ntFolder = nodeTypeManager.getNodeType(JcrConstants.NT_FOLDER);
-        assertThrows(UnsupportedOperationException.class, () -> ntFolder.getSupertypes());
+        assertThrows(UnsupportedOperationException.class, ntFolder::getSupertypes);
     }
 
     /**
@@ -121,7 +121,7 @@ public class MockNodeTypeAllModeTest extends AbstractMockNodeTypeTest {
     @Test
     public void testIsMixin() throws RepositoryException {
         NodeType ntFolder = nodeTypeManager.getNodeType(JcrConstants.NT_FOLDER);
-        assertThrows(UnsupportedOperationException.class, () -> ntFolder.isMixin());
+        assertThrows(UnsupportedOperationException.class, ntFolder::isMixin);
     }
 
     /**
@@ -130,7 +130,7 @@ public class MockNodeTypeAllModeTest extends AbstractMockNodeTypeTest {
     @Test
     public void testGetDeclaredSubtypes() throws RepositoryException {
         NodeType mixCreated = nodeTypeManager.getNodeType("mix:created");
-        assertThrows(UnsupportedOperationException.class, () -> mixCreated.getDeclaredSubtypes());
+        assertThrows(UnsupportedOperationException.class, mixCreated::getDeclaredSubtypes);
     }
 
     /**
@@ -139,7 +139,7 @@ public class MockNodeTypeAllModeTest extends AbstractMockNodeTypeTest {
     @Test
     public void testGetSubtypes() throws RepositoryException {
         NodeType mixCreated = nodeTypeManager.getNodeType("mix:created");
-        assertThrows(UnsupportedOperationException.class, () -> mixCreated.getSubtypes());
+        assertThrows(UnsupportedOperationException.class, mixCreated::getSubtypes);
     }
 
     /**
@@ -148,7 +148,7 @@ public class MockNodeTypeAllModeTest extends AbstractMockNodeTypeTest {
     @Test
     public void testGetDeclaredSupertypeNames() throws RepositoryException {
         NodeType ntFolder = nodeTypeManager.getNodeType(JcrConstants.NT_FOLDER);
-        assertThrows(UnsupportedOperationException.class, () -> ntFolder.getDeclaredSupertypeNames());
+        assertThrows(UnsupportedOperationException.class, ntFolder::getDeclaredSupertypeNames);
     }
 
     /**
@@ -157,7 +157,7 @@ public class MockNodeTypeAllModeTest extends AbstractMockNodeTypeTest {
     @Test
     public void testIsAbstract() throws RepositoryException {
         NodeType ntFolder = nodeTypeManager.getNodeType(JcrConstants.NT_FOLDER);
-        assertThrows(UnsupportedOperationException.class, () -> ntFolder.isAbstract());
+        assertThrows(UnsupportedOperationException.class, ntFolder::isAbstract);
     }
 
     /**
@@ -166,6 +166,6 @@ public class MockNodeTypeAllModeTest extends AbstractMockNodeTypeTest {
     @Test
     public void testIsQueryable() throws RepositoryException {
         NodeType ntFolder = nodeTypeManager.getNodeType(JcrConstants.NT_FOLDER);
-        assertThrows(UnsupportedOperationException.class, () -> ntFolder.isQueryable());
+        assertThrows(UnsupportedOperationException.class, ntFolder::isQueryable);
     }
 }
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTypeManagerAllModeTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTypeManagerAllModeTest.java
index 39702b8..7c1dc47 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTypeManagerAllModeTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTypeManagerAllModeTest.java
@@ -24,29 +24,26 @@ import javax.jcr.nodetype.NodeType;
 import javax.jcr.nodetype.NodeTypeDefinition;
 import javax.jcr.nodetype.NodeTypeManager;
 
-import java.io.IOException;
-
 import org.apache.jackrabbit.JcrConstants;
-import org.apache.jackrabbit.commons.cnd.ParseException;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests the MockNodeTypeManager when in the MOCK_ALL mode
  */
-public class MockNodeTypeManagerAllModeTest {
+class MockNodeTypeManagerAllModeTest {
 
     private static final String NT_INVALID = "nt:invalid";
     protected Session session;
     protected NodeTypeManager nodeTypeManager;
 
-    @Before
-    public void setUp() throws RepositoryException, ParseException, IOException {
+    @BeforeEach
+    void setUp() throws RepositoryException {
         this.session = MockJcr.newSession();
         // don't load any nodetypes, defaults to the MockNodeTypeManager.ResolveMode.MOCK_ALL mode
         nodeTypeManager = this.session.getWorkspace().getNodeTypeManager();
@@ -56,7 +53,7 @@ public class MockNodeTypeManagerAllModeTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#getNodeType(java.lang.String)}.
      */
     @Test
-    public void testGetNodeType() throws RepositoryException {
+    void testGetNodeType() throws RepositoryException {
         NodeType nodeType = nodeTypeManager.getNodeType(JcrConstants.NT_FOLDER);
         assertNotNull(nodeType);
     }
@@ -65,7 +62,7 @@ public class MockNodeTypeManagerAllModeTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#hasNodeType(java.lang.String)}.
      */
     @Test
-    public void testHasNodeType() throws RepositoryException {
+    void testHasNodeType() throws RepositoryException {
         assertTrue(nodeTypeManager.hasNodeType(JcrConstants.NT_FOLDER));
     }
 
@@ -73,7 +70,7 @@ public class MockNodeTypeManagerAllModeTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#getAllNodeTypes()}.
      */
     @Test
-    public void testGetAllNodeTypes() throws RepositoryException {
+    void testGetAllNodeTypes() {
         assertThrows(UnsupportedOperationException.class, () -> nodeTypeManager.getAllNodeTypes());
     }
 
@@ -81,7 +78,7 @@ public class MockNodeTypeManagerAllModeTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#getPrimaryNodeTypes()}.
      */
     @Test
-    public void testGetPrimaryNodeTypes() throws RepositoryException {
+    void testGetPrimaryNodeTypes() {
         assertThrows(UnsupportedOperationException.class, () -> nodeTypeManager.getPrimaryNodeTypes());
     }
 
@@ -89,7 +86,7 @@ public class MockNodeTypeManagerAllModeTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#getMixinNodeTypes()}.
      */
     @Test
-    public void testGetMixinNodeTypes() throws RepositoryException {
+    void testGetMixinNodeTypes() {
         assertThrows(UnsupportedOperationException.class, () -> nodeTypeManager.getMixinNodeTypes());
     }
 
@@ -97,7 +94,7 @@ public class MockNodeTypeManagerAllModeTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#createNodeTypeTemplate()}.
      */
     @Test
-    public void testCreateNodeTypeTemplate() throws RepositoryException {
+    void testCreateNodeTypeTemplate() {
         assertThrows(UnsupportedOperationException.class, () -> nodeTypeManager.createNodeTypeTemplate());
     }
 
@@ -105,7 +102,7 @@ public class MockNodeTypeManagerAllModeTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#createNodeTypeTemplate(javax.jcr.nodetype.NodeTypeDefinition)}.
      */
     @Test
-    public void testCreateNodeTypeTemplateNodeTypeDefinition() throws RepositoryException {
+    void testCreateNodeTypeTemplateNodeTypeDefinition() {
         NodeTypeDefinition ntd = Mockito.mock(NodeTypeDefinition.class);
         Mockito.when(ntd.getName()).thenReturn("nt:fake");
         assertThrows(UnsupportedOperationException.class, () -> nodeTypeManager.createNodeTypeTemplate(ntd));
@@ -115,7 +112,7 @@ public class MockNodeTypeManagerAllModeTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#createNodeDefinitionTemplate()}.
      */
     @Test
-    public void testCreateNodeDefinitionTemplate() throws RepositoryException {
+    void testCreateNodeDefinitionTemplate() {
         assertThrows(UnsupportedOperationException.class, () -> nodeTypeManager.createNodeDefinitionTemplate());
     }
 
@@ -123,7 +120,7 @@ public class MockNodeTypeManagerAllModeTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#createPropertyDefinitionTemplate()}.
      */
     @Test
-    public void testCreatePropertyDefinitionTemplate() throws RepositoryException {
+    void testCreatePropertyDefinitionTemplate() {
         assertThrows(UnsupportedOperationException.class, () -> nodeTypeManager.createPropertyDefinitionTemplate());
     }
 
@@ -131,7 +128,7 @@ public class MockNodeTypeManagerAllModeTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#registerNodeType(javax.jcr.nodetype.NodeTypeDefinition, boolean)}.
      */
     @Test
-    public void testRegisterNodeType() throws RepositoryException {
+    void testRegisterNodeType() throws RepositoryException {
         MockNodeTypeTemplate testDef = new MockNodeTypeTemplate();
         testDef.setName(JcrConstants.NT_FOLDER);
         assertThrows(
@@ -143,7 +140,7 @@ public class MockNodeTypeManagerAllModeTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#registerNodeTypes(javax.jcr.nodetype.NodeTypeDefinition[], boolean)}.
      */
     @Test
-    public void testRegisterNodeTypes() throws RepositoryException {
+    void testRegisterNodeTypes() throws RepositoryException {
         MockNodeTypeTemplate testDef1 = new MockNodeTypeTemplate();
         testDef1.setName(JcrConstants.NT_FOLDER);
         assertThrows(
@@ -155,7 +152,7 @@ public class MockNodeTypeManagerAllModeTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#unregisterNodeType(java.lang.String)}.
      */
     @Test
-    public void testUnregisterNodeType() throws RepositoryException {
+    void testUnregisterNodeType() {
         assertThrows(UnsupportedOperationException.class, () -> nodeTypeManager.unregisterNodeType(NT_INVALID));
     }
 
@@ -163,7 +160,7 @@ public class MockNodeTypeManagerAllModeTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#unregisterNodeTypes(java.lang.String[])}.
      */
     @Test
-    public void testUnregisterNodeTypes() throws RepositoryException {
+    void testUnregisterNodeTypes() {
         assertThrows(
                 UnsupportedOperationException.class,
                 () -> nodeTypeManager.unregisterNodeTypes(new String[] {NT_INVALID}));
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTypeManagerTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTypeManagerTest.java
index 8e90eb5..754918c 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTypeManagerTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTypeManagerTest.java
@@ -34,28 +34,28 @@ import java.io.Reader;
 
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.commons.cnd.ParseException;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThrows;
-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.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests the MockNodeTypeManager when in the ONLY_REGISTERED mode
  *
  */
-public class MockNodeTypeManagerTest {
+class MockNodeTypeManagerTest {
 
     private static final String NT_INVALID = "nt:invalid";
     protected Session session;
     protected NodeTypeManager nodeTypeManager;
 
-    @Before
-    public void setUp() throws RepositoryException, ParseException, IOException {
+    @BeforeEach
+    void setUp() throws RepositoryException, ParseException, IOException {
         this.session = MockJcr.newSession();
         try (Reader reader = new InputStreamReader(getClass().getResourceAsStream("test_nodetypes.cnd"))) {
             MockJcr.loadNodeTypeDefs(this.session, reader);
@@ -67,7 +67,7 @@ public class MockNodeTypeManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#getNodeType(java.lang.String)}.
      */
     @Test
-    public void testGetNodeType() throws RepositoryException {
+    void testGetNodeType() throws RepositoryException {
         NodeType nodeType = nodeTypeManager.getNodeType(JcrConstants.NT_FOLDER);
         assertNotNull(nodeType);
 
@@ -78,7 +78,7 @@ public class MockNodeTypeManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#hasNodeType(java.lang.String)}.
      */
     @Test
-    public void testHasNodeType() throws RepositoryException {
+    void testHasNodeType() throws RepositoryException {
         assertTrue(nodeTypeManager.hasNodeType(JcrConstants.NT_FOLDER));
     }
 
@@ -86,7 +86,7 @@ public class MockNodeTypeManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#getAllNodeTypes()}.
      */
     @Test
-    public void testGetAllNodeTypes() throws RepositoryException {
+    void testGetAllNodeTypes() throws RepositoryException {
         NodeTypeIterator allNodeTypes = nodeTypeManager.getAllNodeTypes();
         assertTrue(allNodeTypes.hasNext());
     }
@@ -95,7 +95,7 @@ public class MockNodeTypeManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#getPrimaryNodeTypes()}.
      */
     @Test
-    public void testGetPrimaryNodeTypes() throws RepositoryException {
+    void testGetPrimaryNodeTypes() throws RepositoryException {
         NodeTypeIterator primaryNodeTypes = nodeTypeManager.getPrimaryNodeTypes();
         assertTrue(primaryNodeTypes.hasNext());
     }
@@ -104,7 +104,7 @@ public class MockNodeTypeManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#getMixinNodeTypes()}.
      */
     @Test
-    public void testGetMixinNodeTypes() throws RepositoryException {
+    void testGetMixinNodeTypes() throws RepositoryException {
         NodeTypeIterator mixinNodeTypes = nodeTypeManager.getMixinNodeTypes();
         assertTrue(mixinNodeTypes.hasNext());
     }
@@ -113,7 +113,7 @@ public class MockNodeTypeManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#createNodeTypeTemplate()}.
      */
     @Test
-    public void testCreateNodeTypeTemplate() throws RepositoryException {
+    void testCreateNodeTypeTemplate() throws RepositoryException {
         assertNotNull(nodeTypeManager.createNodeTypeTemplate());
     }
 
@@ -121,7 +121,7 @@ public class MockNodeTypeManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#createNodeTypeTemplate(javax.jcr.nodetype.NodeTypeDefinition)}.
      */
     @Test
-    public void testCreateNodeTypeTemplateNodeTypeDefinition() throws RepositoryException {
+    void testCreateNodeTypeTemplateNodeTypeDefinition() throws RepositoryException {
         NodeTypeDefinition ntd = Mockito.mock(NodeTypeDefinition.class);
         Mockito.when(ntd.getName()).thenReturn("nt:fake");
         assertNotNull(nodeTypeManager.createNodeTypeTemplate(ntd));
@@ -141,7 +141,7 @@ public class MockNodeTypeManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#createNodeDefinitionTemplate()}.
      */
     @Test
-    public void testCreateNodeDefinitionTemplate() throws RepositoryException {
+    void testCreateNodeDefinitionTemplate() throws RepositoryException {
         assertNotNull(nodeTypeManager.createNodeDefinitionTemplate());
     }
 
@@ -149,7 +149,7 @@ public class MockNodeTypeManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#createPropertyDefinitionTemplate()}.
      */
     @Test
-    public void testCreatePropertyDefinitionTemplate() throws RepositoryException {
+    void testCreatePropertyDefinitionTemplate() throws RepositoryException {
         assertNotNull(nodeTypeManager.createPropertyDefinitionTemplate());
     }
 
@@ -157,7 +157,7 @@ public class MockNodeTypeManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#registerNodeType(javax.jcr.nodetype.NodeTypeDefinition, boolean)}.
      */
     @Test
-    public void testRegisterNodeType() throws RepositoryException {
+    void testRegisterNodeType() throws RepositoryException {
         MockNodeTypeTemplate testDef = new MockNodeTypeTemplate();
         testDef.setName(JcrConstants.NT_FOLDER);
 
@@ -181,7 +181,7 @@ public class MockNodeTypeManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#registerNodeTypes(javax.jcr.nodetype.NodeTypeDefinition[], boolean)}.
      */
     @Test
-    public void testRegisterNodeTypes() throws RepositoryException {
+    void testRegisterNodeTypes() throws RepositoryException {
         MockNodeTypeTemplate testDef1 = new MockNodeTypeTemplate();
         testDef1.setName(JcrConstants.NT_FOLDER);
         MockNodeTypeTemplate testDef2 = new MockNodeTypeTemplate();
@@ -202,7 +202,7 @@ public class MockNodeTypeManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#unregisterNodeType(java.lang.String)}.
      */
     @Test
-    public void testUnregisterNodeType() throws RepositoryException {
+    void testUnregisterNodeType() throws RepositoryException {
         assertThrows(NoSuchNodeTypeException.class, () -> nodeTypeManager.unregisterNodeType(NT_INVALID));
 
         nodeTypeManager.unregisterNodeType(JcrConstants.NT_FOLDER);
@@ -213,7 +213,7 @@ public class MockNodeTypeManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockNodeTypeManager#unregisterNodeTypes(java.lang.String[])}.
      */
     @Test
-    public void testUnregisterNodeTypes() throws RepositoryException {
+    void testUnregisterNodeTypes() throws RepositoryException {
         assertThrows(
                 NoSuchNodeTypeException.class, () -> nodeTypeManager.unregisterNodeTypes(new String[] {NT_INVALID}));
 
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTypeTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTypeTest.java
index 3795a38..f280de0 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTypeTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTypeTest.java
@@ -33,12 +33,12 @@ import java.util.stream.Stream;
 
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.commons.cnd.ParseException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-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.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  *
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockPrincipalManagerTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockPrincipalManagerTest.java
index 9ea5bf3..3a6fee4 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockPrincipalManagerTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockPrincipalManagerTest.java
@@ -28,20 +28,19 @@ import java.util.Set;
 import ch.qos.logback.classic.Level;
 import org.apache.jackrabbit.api.security.principal.PrincipalIterator;
 import org.apache.jackrabbit.api.security.principal.PrincipalManager;
-import org.apache.jackrabbit.api.security.user.AuthorizableExistsException;
 import org.apache.jackrabbit.api.security.user.Group;
 import org.apache.jackrabbit.api.security.user.User;
 import org.apache.jackrabbit.api.security.user.UserManager;
 import org.jetbrains.annotations.NotNull;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
-import static org.junit.Assert.assertEquals;
-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.assertEquals;
+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 static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
@@ -49,13 +48,13 @@ import static org.mockito.ArgumentMatchers.anyString;
 /**
  *
  */
-public class MockPrincipalManagerTest {
+class MockPrincipalManagerTest {
     protected Session session;
     protected UserManager userManager;
     protected MockPrincipalManager principalManager;
 
-    @Before
-    public void before() throws RepositoryException {
+    @BeforeEach
+    void before() {
         session = MockJcr.newSession();
         userManager = new MockUserManager(session);
         principalManager = new MockPrincipalManager((MockUserManager) userManager);
@@ -65,7 +64,7 @@ public class MockPrincipalManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockPrincipalManager#findPrincipals(java.lang.String)}.
      */
     @Test
-    public void testFindPrincipalsString() throws AuthorizableExistsException, RepositoryException {
+    void testFindPrincipalsString() throws RepositoryException {
         @NotNull User user1 = userManager.createUser("user1", "pwd", () -> "user1", "/home/users/path1");
         @NotNull Group group1 = userManager.createGroup("group1", () -> "group1", "/home/groups/path1");
 
@@ -85,7 +84,7 @@ public class MockPrincipalManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockPrincipalManager#findPrincipals(java.lang.String, int)}.
      */
     @Test
-    public void testFindPrincipalsStringInt() throws AuthorizableExistsException, RepositoryException {
+    void testFindPrincipalsStringInt() throws RepositoryException {
         @NotNull User user1 = userManager.createUser("user1", "pwd", () -> "user1", "/home/users/path1");
         @NotNull Group group1 = userManager.createGroup("group1", () -> "group1", "/home/groups/path1");
 
@@ -103,7 +102,7 @@ public class MockPrincipalManagerTest {
     }
 
     @Test
-    public void testFindPrincipalsStringIntCatchRepositoryException() throws Exception {
+    void testFindPrincipalsStringIntCatchRepositoryException() throws Exception {
         MockUserManager mockUserManager = Mockito.spy((MockUserManager) userManager);
         Mockito.doThrow(RepositoryException.class)
                 .when(mockUserManager)
@@ -144,7 +143,7 @@ public class MockPrincipalManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockPrincipalManager#getEveryone()}.
      */
     @Test
-    public void testGetEveryone() {
+    void testGetEveryone() {
         @NotNull Principal everyone = principalManager.getEveryone();
         assertNotNull(everyone);
         assertEquals("everyone", everyone.getName());
@@ -155,7 +154,7 @@ public class MockPrincipalManagerTest {
      */
     @SuppressWarnings("unchecked")
     @Test
-    public void testGetGroupMembership() throws AuthorizableExistsException, RepositoryException {
+    void testGetGroupMembership() throws RepositoryException {
         @NotNull User user1 = userManager.createUser("user1", "pwd");
         Principal principal = principalManager.getPrincipal("user1");
         PrincipalIterator groupMembership = principalManager.getGroupMembership(principal);
@@ -180,7 +179,7 @@ public class MockPrincipalManagerTest {
     }
 
     @Test
-    public void testGetGroupMembershipCatchRepositoryException() throws Exception {
+    void testGetGroupMembershipCatchRepositoryException() throws Exception {
         MockUserManager mockUserManager = Mockito.spy((MockUserManager) userManager);
         Mockito.doThrow(RepositoryException.class).when(mockUserManager).getAuthorizable(any(Principal.class));
         // replace the field with our mocked variant
@@ -216,7 +215,7 @@ public class MockPrincipalManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockPrincipalManager#getPrincipal(java.lang.String)}.
      */
     @Test
-    public void testGetPrincipal() throws AuthorizableExistsException, RepositoryException {
+    void testGetPrincipal() throws RepositoryException {
         // no
         Principal principal = principalManager.getPrincipal("user1");
         assertNull(principal);
@@ -229,7 +228,7 @@ public class MockPrincipalManagerTest {
     }
 
     @Test
-    public void testGetPrincipalCatchRepositoryException() throws Exception {
+    void testGetPrincipalCatchRepositoryException() throws Exception {
         MockUserManager mockUserManager = Mockito.spy((MockUserManager) userManager);
         Mockito.doThrow(RepositoryException.class).when(mockUserManager).getAuthorizable(anyString());
         // replace the field with our mocked variant
@@ -265,7 +264,7 @@ public class MockPrincipalManagerTest {
      */
     @SuppressWarnings("unchecked")
     @Test
-    public void testGetPrincipals() throws AuthorizableExistsException, RepositoryException {
+    void testGetPrincipals() throws RepositoryException {
         // none
         PrincipalIterator principals = principalManager.getPrincipals(PrincipalManager.SEARCH_TYPE_ALL);
         assertFalse(principals.hasNext());
@@ -295,7 +294,7 @@ public class MockPrincipalManagerTest {
     }
 
     @Test
-    public void testGetPrincipalsCatchRepositoryException() throws Exception {
+    void testGetPrincipalsCatchRepositoryException() throws Exception {
         MockUserManager mockUserManager = Mockito.spy((MockUserManager) userManager);
         Mockito.doThrow(RepositoryException.class).when(mockUserManager).all(anyInt());
         // replace the field with our mocked variant
@@ -332,7 +331,7 @@ public class MockPrincipalManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockPrincipalManager#hasPrincipal(java.lang.String)}.
      */
     @Test
-    public void testHasPrincipal() throws AuthorizableExistsException, RepositoryException {
+    void testHasPrincipal() throws RepositoryException {
         // no
         assertFalse(principalManager.hasPrincipal("user1"));
 
@@ -342,7 +341,7 @@ public class MockPrincipalManagerTest {
     }
 
     @Test
-    public void testHasPrincipalCatchRepositoryException() throws Exception {
+    void testHasPrincipalCatchRepositoryException() throws Exception {
         MockUserManager mockUserManager = Mockito.spy((MockUserManager) userManager);
         Mockito.doThrow(RepositoryException.class).when(mockUserManager).getAuthorizable(anyString());
         // replace the field with our mocked variant
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockPropertyTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockPropertyTest.java
index 319ffa6..84098b4 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockPropertyTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockPropertyTest.java
@@ -38,18 +38,18 @@ import java.util.List;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.jackrabbit.value.BinaryValue;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class MockPropertyTest extends AbstractItemTest {
+class MockPropertyTest extends AbstractItemTest {
 
     @Test
-    public void testRemove() throws RepositoryException {
+    void testRemove() throws RepositoryException {
         this.node1.setProperty("prop1", "value1");
         Property prop1 = this.node1.getProperty("prop1");
         assertEquals("value1", prop1.getString());
@@ -59,7 +59,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testString() throws RepositoryException {
+    void testString() throws RepositoryException {
         this.node1.setProperty("prop1", "value1");
         Property prop1 = this.node1.getProperty("prop1");
         assertEquals("value1", prop1.getString());
@@ -81,7 +81,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testStringSetNullViaNode() throws RepositoryException {
+    void testStringSetNullViaNode() throws RepositoryException {
         this.node1.setProperty("prop1", "value1");
 
         this.node1.setProperty("prop1", (String) null);
@@ -89,7 +89,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testStringSetNullViaProp() throws RepositoryException {
+    void testStringSetNullViaProp() throws RepositoryException {
         this.node1.setProperty("prop1", "value1");
 
         this.node1.getProperty("prop1").setValue((String) null);
@@ -97,21 +97,21 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testStringArray() throws RepositoryException {
+    void testStringArray() throws RepositoryException {
         String[] value1 = new String[] {"aaa", "bbb"};
         this.node1.setProperty("prop1", value1);
         Property prop1 = this.node1.getProperty("prop1");
 
         Value[] values = prop1.getValues();
         for (int i = 0; i < values.length; i++) {
-            assertEquals("value #" + i, value1[i], values[i].getString());
+            assertEquals(value1[i], values[i].getString(), "value #" + i);
         }
 
         String[] value2 = new String[] {"cc"};
         prop1.setValue(value2);
         values = prop1.getValues();
         for (int i = 0; i < values.length; i++) {
-            assertEquals("value #" + i, value2[i], values[i].getString());
+            assertEquals(value2[i], values[i].getString(), "value #" + i);
         }
 
         assertTrue(prop1.isMultiple());
@@ -120,7 +120,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testStringArraySetNullViaNode() throws RepositoryException {
+    void testStringArraySetNullViaNode() throws RepositoryException {
         String[] value1 = new String[] {"aaa", "bbb"};
         this.node1.setProperty("prop1", value1);
 
@@ -129,7 +129,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testStringArraySetNullViaProp() throws RepositoryException {
+    void testStringArraySetNullViaProp() throws RepositoryException {
         String[] value1 = new String[] {"aaa", "bbb"};
         this.node1.setProperty("prop1", value1);
 
@@ -138,7 +138,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testBoolean() throws RepositoryException {
+    void testBoolean() throws RepositoryException {
         this.node1.setProperty("prop1", true);
         Property prop1 = this.node1.getProperty("prop1");
         assertEquals(true, prop1.getBoolean());
@@ -150,7 +150,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testDouble() throws RepositoryException {
+    void testDouble() throws RepositoryException {
         this.node1.setProperty("prop1", 1.5d);
         Property prop1 = this.node1.getProperty("prop1");
         assertEquals(1.5d, prop1.getDouble(), 0.001d);
@@ -162,7 +162,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testLong() throws RepositoryException {
+    void testLong() throws RepositoryException {
         this.node1.setProperty("prop1", 5L);
         Property prop1 = this.node1.getProperty("prop1");
         assertEquals(5L, prop1.getLong());
@@ -174,7 +174,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testBigDecimal() throws RepositoryException {
+    void testBigDecimal() throws RepositoryException {
         this.node1.setProperty("prop1", new BigDecimal("1.5"));
         Property prop1 = this.node1.getProperty("prop1");
         assertEquals(new BigDecimal("1.5"), prop1.getDecimal());
@@ -186,7 +186,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testBigDecimalSetNullViaNode() throws RepositoryException {
+    void testBigDecimalSetNullViaNode() throws RepositoryException {
         this.node1.setProperty("prop1", new BigDecimal("1.5"));
 
         this.node1.setProperty("prop1", (BigDecimal) null);
@@ -194,7 +194,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testBigDecimalSetNullViaProp() throws RepositoryException {
+    void testBigDecimalSetNullViaProp() throws RepositoryException {
         this.node1.setProperty("prop1", new BigDecimal("1.5"));
 
         this.node1.getProperty("prop1").setValue((BigDecimal) null);
@@ -202,7 +202,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testCalendar() throws RepositoryException {
+    void testCalendar() throws RepositoryException {
         Calendar value1 = Calendar.getInstance();
 
         this.node1.setProperty("prop1", value1);
@@ -219,7 +219,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testCalendarSetNullViaNode() throws RepositoryException {
+    void testCalendarSetNullViaNode() throws RepositoryException {
         Calendar value1 = Calendar.getInstance();
         this.node1.setProperty("prop1", value1);
 
@@ -228,7 +228,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testCalendarSetNullViaProp() throws RepositoryException {
+    void testCalendarSetNullViaProp() throws RepositoryException {
         Calendar value1 = Calendar.getInstance();
         this.node1.setProperty("prop1", value1);
 
@@ -237,7 +237,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testBinary() throws RepositoryException, IOException {
+    void testBinary() throws RepositoryException, IOException {
         byte[] value1 = new byte[] {0x01, 0x01, 0x03};
 
         this.node1.setProperty("prop1", new BinaryValue(value1).getBinary());
@@ -255,7 +255,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testBinarySetNullViaNode() throws RepositoryException {
+    void testBinarySetNullViaNode() throws RepositoryException {
         byte[] value1 = new byte[] {0x01, 0x01, 0x03};
         this.node1.setProperty("prop1", new BinaryValue(value1).getBinary());
 
@@ -264,7 +264,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testBinarySetNullViaProp() throws RepositoryException {
+    void testBinarySetNullViaProp() throws RepositoryException {
         byte[] value1 = new byte[] {0x01, 0x01, 0x03};
         this.node1.setProperty("prop1", new BinaryValue(value1).getBinary());
 
@@ -274,7 +274,7 @@ public class MockPropertyTest extends AbstractItemTest {
 
     @SuppressWarnings("deprecation")
     @Test
-    public void testInputStream() throws RepositoryException, IOException {
+    void testInputStream() throws RepositoryException, IOException {
         byte[] value1 = new byte[] {0x01, 0x01, 0x03};
 
         this.node1.setProperty("prop1", new ByteArrayInputStream(value1));
@@ -289,7 +289,7 @@ public class MockPropertyTest extends AbstractItemTest {
 
     @SuppressWarnings("deprecation")
     @Test
-    public void testInputStreamSetNullViaNode() throws RepositoryException {
+    void testInputStreamSetNullViaNode() throws RepositoryException {
         byte[] value1 = new byte[] {0x01, 0x01, 0x03};
         this.node1.setProperty("prop1", new ByteArrayInputStream(value1));
 
@@ -299,7 +299,7 @@ public class MockPropertyTest extends AbstractItemTest {
 
     @SuppressWarnings("deprecation")
     @Test
-    public void testInputStreamSetNullViaProp() throws RepositoryException {
+    void testInputStreamSetNullViaProp() throws RepositoryException {
         byte[] value1 = new byte[] {0x01, 0x01, 0x03};
         this.node1.setProperty("prop1", new ByteArrayInputStream(value1));
 
@@ -308,7 +308,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testValue() throws RepositoryException {
+    void testValue() throws RepositoryException {
         this.node1.setProperty("prop1", this.session.getValueFactory().createValue("value1"));
         Property prop1 = this.node1.getProperty("prop1");
         assertEquals("value1", prop1.getString());
@@ -324,7 +324,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testValueSetNullViaNode() throws RepositoryException {
+    void testValueSetNullViaNode() throws RepositoryException {
         this.node1.setProperty("prop1", this.session.getValueFactory().createValue("value1"));
 
         this.node1.setProperty("prop1", (Value) null);
@@ -332,7 +332,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testValueSetNullViaProp() throws RepositoryException {
+    void testValueSetNullViaProp() throws RepositoryException {
         this.node1.setProperty("prop1", this.session.getValueFactory().createValue("value1"));
 
         this.node1.getProperty("prop1").setValue((Value) null);
@@ -340,7 +340,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testValueArray() throws RepositoryException {
+    void testValueArray() throws RepositoryException {
         Value[] value1 = new Value[] {
             this.session.getValueFactory().createValue("aaa"),
             this.session.getValueFactory().createValue("bbb")
@@ -350,14 +350,14 @@ public class MockPropertyTest extends AbstractItemTest {
 
         Value[] values = prop1.getValues();
         for (int i = 0; i < values.length; i++) {
-            assertEquals("value #" + i, value1[i].getString(), values[i].getString());
+            assertEquals(value1[i].getString(), values[i].getString(), "value #" + i);
         }
 
         Value[] value2 = new Value[] {this.session.getValueFactory().createValue("cc")};
         prop1.setValue(value2);
         values = prop1.getValues();
         for (int i = 0; i < values.length; i++) {
-            assertEquals("value #" + i, value2[i].getString(), values[i].getString());
+            assertEquals(value2[i].getString(), values[i].getString(), "value #" + i);
         }
 
         assertTrue(prop1.isMultiple());
@@ -366,7 +366,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testValueArraySetNullViaNode() throws RepositoryException {
+    void testValueArraySetNullViaNode() throws RepositoryException {
         Value[] value1 = new Value[] {
             this.session.getValueFactory().createValue("aaa"),
             this.session.getValueFactory().createValue("bbb")
@@ -378,7 +378,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testValueArraySetNullViaProp() throws RepositoryException {
+    void testValueArraySetNullViaProp() throws RepositoryException {
         Value[] value1 = new Value[] {
             this.session.getValueFactory().createValue("aaa"),
             this.session.getValueFactory().createValue("bbb")
@@ -390,7 +390,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testEmptyArrayGetType() throws RepositoryException {
+    void testEmptyArrayGetType() throws RepositoryException {
         this.node1.setProperty("prop1", new Value[] {});
         Property prop1 = this.node1.getProperty("prop1");
         assertTrue(prop1.isMultiple());
@@ -398,39 +398,39 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testSingleValueAsValueArray() throws RepositoryException {
+    void testSingleValueAsValueArray() throws RepositoryException {
         this.node1.setProperty("prop1", this.session.getValueFactory().createValue("value1"));
         Property prop1 = this.node1.getProperty("prop1");
         assertFalse(prop1.isMultiple());
-        assertThrows(ValueFormatException.class, () -> prop1.getValues());
+        assertThrows(ValueFormatException.class, prop1::getValues);
     }
 
     @Test
-    public void testIsSameForPropComparedToItself() throws RepositoryException {
+    void testIsSameForPropComparedToItself() throws RepositoryException {
         assertTrue(this.prop1.isSame(this.prop1));
     }
 
     @Test
-    public void testIsSameForPropComparedToSameProp() throws RepositoryException {
+    void testIsSameForPropComparedToSameProp() throws RepositoryException {
         // a different object referencing the same property
         Property prop1Ref = this.node1.getProperty("prop1");
         assertTrue(this.prop1.isSame(prop1Ref));
     }
 
     @Test
-    public void testIsSameForPropComparedToDifferentPropFromSameParent() throws RepositoryException {
+    void testIsSameForPropComparedToDifferentPropFromSameParent() throws RepositoryException {
         Property prop2 = this.node1.setProperty("prop2", "value2");
         assertFalse(this.prop1.isSame(prop2));
     }
 
     @Test
-    public void testIsSameForPropComparedToPropFromDifferentParent() throws RepositoryException {
+    void testIsSameForPropComparedToPropFromDifferentParent() throws RepositoryException {
         Property prop11 = this.node11.setProperty("prop1", "value1");
         assertFalse(this.prop1.isSame(prop11));
     }
 
     @Test
-    public void testIsSameForPropFromDifferentRepository() throws RepositoryException {
+    void testIsSameForPropFromDifferentRepository() throws RepositoryException {
         Repository otherRepository = MockJcr.newRepository();
         Session otherSession = otherRepository.login();
         Node otherNode1 = otherSession.getRootNode().addNode("node1");
@@ -440,7 +440,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testIsSameForPropFromDifferentWorkspace() throws RepositoryException {
+    void testIsSameForPropFromDifferentWorkspace() throws RepositoryException {
         Session otherSession = session.getRepository().login("otherWorkspace");
         Node otherRootNode = otherSession.getRootNode();
         Node otherNode1 = otherRootNode.addNode("node1");
@@ -450,7 +450,7 @@ public class MockPropertyTest extends AbstractItemTest {
     }
 
     @Test
-    public void testAccept() throws RepositoryException {
+    void testAccept() throws RepositoryException {
         Property prop = this.node1.setProperty("prop1", "value1");
 
         final List<String> leaveNodes = new ArrayList<>();
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockQueryManagerTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockQueryManagerTest.java
index 6d2786b..a494247 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockQueryManagerTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockQueryManagerTest.java
@@ -31,21 +31,22 @@ import java.util.List;
 
 import org.apache.commons.collections4.IteratorUtils;
 import org.apache.commons.lang3.Strings;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
-public class MockQueryManagerTest {
+class MockQueryManagerTest {
 
     private Session session;
     private QueryManager queryManager;
     private List<Node> sampleNodes;
 
-    @Before
-    public void setUp() throws RepositoryException {
+    @BeforeEach
+    void setUp() throws RepositoryException {
         session = MockJcr.newSession();
         queryManager = session.getWorkspace().getQueryManager();
 
@@ -62,19 +63,19 @@ public class MockQueryManagerTest {
     }
 
     @Test
-    public void testNoQueryResults() throws RepositoryException {
+    void testNoQueryResults() throws RepositoryException {
         Query query = queryManager.createQuery("dummy", Query.JCR_SQL2);
         QueryResult result = query.execute();
         assertFalse(result.getNodes().hasNext());
     }
 
-    @Test(expected = InvalidQueryException.class)
-    public void testInvalidQueryLanguage() throws RepositoryException {
-        queryManager.createQuery("dummy", "wurst");
+    @Test
+    void testInvalidQueryLanguage() {
+        assertThrows(InvalidQueryException.class, () -> queryManager.createQuery("dummy", "wurst"));
     }
 
     @Test
-    public void testQueryResults_AllQuerys() throws RepositoryException {
+    void testQueryResults_AllQuerys() throws RepositoryException {
         MockJcr.setQueryResult(queryManager, sampleNodes);
 
         QueryResult result = assertQueryResults_AllQuerys();
@@ -82,7 +83,7 @@ public class MockQueryManagerTest {
     }
 
     @Test
-    public void testQueryResultsForSession_AllQuerys() throws RepositoryException {
+    void testQueryResultsForSession_AllQuerys() throws RepositoryException {
         MockJcr.setQueryResult(session, sampleNodes);
 
         QueryResult result = assertQueryResults_AllQuerys();
@@ -91,7 +92,7 @@ public class MockQueryManagerTest {
 
     // SLING-11807
     @Test
-    public void testQueryResults_AllQuerys_WithUnknownSize() throws RepositoryException {
+    void testQueryResults_AllQuerys_WithUnknownSize() throws RepositoryException {
         MockJcr.setQueryResult(queryManager, sampleNodes, true);
 
         QueryResult result = assertQueryResults_AllQuerys();
@@ -99,7 +100,7 @@ public class MockQueryManagerTest {
     }
 
     @Test
-    public void testQueryResultsForSession_AllQuerys_WithUnknownSize() throws RepositoryException {
+    void testQueryResultsForSession_AllQuerys_WithUnknownSize() throws RepositoryException {
         MockJcr.setQueryResult(session, sampleNodes, true);
 
         QueryResult result = assertQueryResults_AllQuerys();
@@ -107,7 +108,7 @@ public class MockQueryManagerTest {
     }
 
     @SuppressWarnings("unchecked")
-    protected QueryResult assertQueryResults_AllQuerys() throws InvalidQueryException, RepositoryException {
+    protected QueryResult assertQueryResults_AllQuerys() throws RepositoryException {
         Query query = queryManager.createQuery("query1", Query.JCR_SQL2);
         QueryResult result = query.execute();
         assertEquals(sampleNodes, IteratorUtils.toList(result.getNodes()));
@@ -119,7 +120,7 @@ public class MockQueryManagerTest {
     }
 
     @Test
-    public void testQueryResults_SpecificQuery() throws RepositoryException {
+    void testQueryResults_SpecificQuery() throws RepositoryException {
         MockJcr.setQueryResult(queryManager, "query1", Query.JCR_SQL2, sampleNodes);
 
         QueryResult result = assertQueryResults_SpecificQuery();
@@ -127,7 +128,7 @@ public class MockQueryManagerTest {
     }
 
     @Test
-    public void testQueryResultsForSession_SpecificQuery() throws RepositoryException {
+    void testQueryResultsForSession_SpecificQuery() throws RepositoryException {
         MockJcr.setQueryResult(session, "query1", Query.JCR_SQL2, sampleNodes);
 
         QueryResult result = assertQueryResults_SpecificQuery();
@@ -136,7 +137,7 @@ public class MockQueryManagerTest {
 
     // SLING-11807
     @Test
-    public void testQueryResults_SpecificQuery_WithUnknownSize() throws RepositoryException {
+    void testQueryResults_SpecificQuery_WithUnknownSize() throws RepositoryException {
         MockJcr.setQueryResult(queryManager, "query1", Query.JCR_SQL2, sampleNodes, true);
 
         QueryResult result = assertQueryResults_SpecificQuery();
@@ -144,7 +145,7 @@ public class MockQueryManagerTest {
     }
 
     @Test
-    public void testQueryResultsForSession_SpecificQuery_WithUnknownSize() throws RepositoryException {
+    void testQueryResultsForSession_SpecificQuery_WithUnknownSize() throws RepositoryException {
         MockJcr.setQueryResult(session, "query1", Query.JCR_SQL2, sampleNodes, true);
 
         QueryResult result = assertQueryResults_SpecificQuery();
@@ -152,7 +153,7 @@ public class MockQueryManagerTest {
     }
 
     @SuppressWarnings("unchecked")
-    protected QueryResult assertQueryResults_SpecificQuery() throws InvalidQueryException, RepositoryException {
+    protected QueryResult assertQueryResults_SpecificQuery() throws RepositoryException {
         Query query = queryManager.createQuery("query1", Query.JCR_SQL2);
         QueryResult result1 = query.execute();
         assertEquals(sampleNodes, IteratorUtils.toList(result1.getNodes()));
@@ -165,7 +166,7 @@ public class MockQueryManagerTest {
     }
 
     @Test
-    public void testQueryResults_ResultHandler() throws RepositoryException {
+    void testQueryResults_ResultHandler() throws RepositoryException {
         MockJcr.addQueryResultHandler(queryManager, new MockQueryResultHandler() {
             @Override
             public MockQueryResult executeQuery(MockQuery query) {
@@ -181,7 +182,7 @@ public class MockQueryManagerTest {
     }
 
     @Test
-    public void testQueryResults_ResultHandler_WithUnknownSize() throws RepositoryException {
+    void testQueryResults_ResultHandler_WithUnknownSize() throws RepositoryException {
         MockJcr.addQueryResultHandler(queryManager, new MockQueryResultHandler() {
             @Override
             public MockQueryResult executeQuery(MockQuery query) {
@@ -200,7 +201,7 @@ public class MockQueryManagerTest {
 
     @SuppressWarnings("unchecked")
     @Test
-    public void testQueryResults_MultipleResultHandlers() throws RepositoryException {
+    void testQueryResults_MultipleResultHandlers() throws RepositoryException {
         final List<Node> sampleNodes2 = List.of(sampleNodes.get(0));
         MockJcr.addQueryResultHandler(session, new MockQueryResultHandler() {
             @Override
@@ -237,7 +238,7 @@ public class MockQueryManagerTest {
 
     @SuppressWarnings("unchecked")
     @Test
-    public void testQueryResults_ResultHandler_Rows() throws RepositoryException {
+    void testQueryResults_ResultHandler_Rows() throws RepositoryException {
         final List<String> columnNames = List.of("stringProp", "intProp", "optionalStringProp");
 
         MockJcr.addQueryResultHandler(queryManager, new MockQueryResultHandler() {
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockRepositoryTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockRepositoryTest.java
index a4c7dc5..97b15de 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockRepositoryTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockRepositoryTest.java
@@ -25,29 +25,29 @@ import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import javax.jcr.SimpleCredentials;
 
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-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.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.fail;
 
-public class MockRepositoryTest {
+class MockRepositoryTest {
 
     private static final String USER_NAME = "user";
     private static final char[] PASSWORD = "pwd".toCharArray();
 
     private Repository repository;
 
-    @Before
-    public void setUp() {
+    @BeforeEach
+    void setUp() {
         repository = MockJcr.newRepository();
     }
 
     @Test
-    public void testLogin() throws RepositoryException {
+    void testLogin() throws RepositoryException {
         assertNotNull(repository.login());
         assertNotNull(repository.login(new SimpleCredentials(USER_NAME, PASSWORD)));
         assertNotNull(repository.login(MockJcr.DEFAULT_WORKSPACE));
@@ -55,7 +55,7 @@ public class MockRepositoryTest {
     }
 
     @Test
-    public void testDescriptor() {
+    void testDescriptor() {
         assertEquals(0, repository.getDescriptorKeys().length);
         assertNull(repository.getDescriptor("test"));
         assertNull(repository.getDescriptorValue("test"));
@@ -65,7 +65,7 @@ public class MockRepositoryTest {
     }
 
     @Test
-    public void testMultipleSessions() throws RepositoryException {
+    void testMultipleSessions() throws RepositoryException {
         Session session1 = repository.login();
         Session session2 = repository.login();
 
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java
index 028938f..6d49d87 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java
@@ -18,7 +18,6 @@
  */
 package org.apache.sling.testing.mock.jcr;
 
-import javax.jcr.AccessDeniedException;
 import javax.jcr.ItemExistsException;
 import javax.jcr.ItemNotFoundException;
 import javax.jcr.NamespaceRegistry;
@@ -28,28 +27,27 @@ import javax.jcr.PathNotFoundException;
 import javax.jcr.Property;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
-import javax.jcr.UnsupportedRepositoryOperationException;
 import javax.jcr.security.AccessControlManager;
 
 import java.util.Set;
 
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.api.JackrabbitSession;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+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.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class MockSessionTest {
+class MockSessionTest {
 
     @Test
-    public void testEmptySession() throws RepositoryException {
+    void testEmptySession() throws RepositoryException {
         Session session = MockJcr.newSession();
 
         Node rootNode = session.getRootNode();
@@ -59,7 +57,7 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testRootGetNodes() throws RepositoryException {
+    void testRootGetNodes() throws RepositoryException {
         Session s = MockJcr.newSession();
         Node root = s.getRootNode();
         root.addNode("node1");
@@ -75,7 +73,7 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testNodePropertyCreateRead() throws RepositoryException {
+    void testNodePropertyCreateRead() throws RepositoryException {
         Session session = MockJcr.newSession();
 
         Node rootNode = session.getNode("/");
@@ -131,7 +129,7 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testNodeRemove() throws RepositoryException {
+    void testNodeRemove() throws RepositoryException {
         Session session = MockJcr.newSession();
 
         Node rootNode = session.getRootNode();
@@ -143,7 +141,7 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testNodesWithSpecialNames() throws RepositoryException {
+    void testNodesWithSpecialNames() throws RepositoryException {
         Session session = MockJcr.newSession();
 
         Node rootNode = session.getRootNode();
@@ -166,7 +164,7 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testItemsExists() throws RepositoryException {
+    void testItemsExists() throws RepositoryException {
         Session session = MockJcr.newSession();
 
         assertFalse(session.nodeExists("/node1"));
@@ -174,36 +172,36 @@ public class MockSessionTest {
         assertFalse(session.propertyExists("/node1/prop1"));
     }
 
-    @Test(expected = PathNotFoundException.class)
-    public void testNodeNotFoundException() throws RepositoryException {
+    @Test
+    void testNodeNotFoundException() {
         Session session = MockJcr.newSession();
 
-        session.getNode("/node1");
+        assertThrows(PathNotFoundException.class, () -> session.getNode("/node1"));
     }
 
-    @Test(expected = PathNotFoundException.class)
-    public void testPropertyNotFoundException() throws RepositoryException {
+    @Test
+    void testPropertyNotFoundException() {
         Session session = MockJcr.newSession();
 
-        session.getProperty("/node1/prop1");
+        assertThrows(PathNotFoundException.class, () -> session.getProperty("/node1/prop1"));
     }
 
-    @Test(expected = PathNotFoundException.class)
-    public void testItemNotFoundException() throws RepositoryException {
+    @Test
+    void testItemNotFoundException() {
         Session session = MockJcr.newSession();
 
-        session.getItem("/node2");
+        assertThrows(PathNotFoundException.class, () -> session.getItem("/node2"));
     }
 
-    @Test(expected = ItemNotFoundException.class)
-    public void testIdentifierFoundException() throws RepositoryException {
+    @Test
+    void testIdentifierFoundException() {
         Session session = MockJcr.newSession();
 
-        session.getNodeByIdentifier("unknown");
+        assertThrows(ItemNotFoundException.class, () -> session.getNodeByIdentifier("unknown"));
     }
 
     @Test
-    public void testNamespaces() throws RepositoryException {
+    void testNamespaces() throws RepositoryException {
         Session session = MockJcr.newSession();
 
         // test initial namespaces
@@ -235,21 +233,21 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testUserId() {
+    void testUserId() {
         Session session = MockJcr.newSession();
 
         assertEquals(MockJcr.DEFAULT_USER_ID, session.getUserID());
     }
 
     @Test
-    public void testWithCustomUserWorkspace() {
+    void testWithCustomUserWorkspace() {
         Session mySession = MockJcr.newSession("myUser", "myWorkspace");
         assertEquals("myUser", mySession.getUserID());
         assertEquals("myWorkspace", mySession.getWorkspace().getName());
     }
 
     @Test
-    public void testSaveRefresh() throws RepositoryException {
+    void testSaveRefresh() throws RepositoryException {
         Session session = MockJcr.newSession();
 
         // methods can be called without any effect
@@ -259,7 +257,7 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testHasPendingChanges() throws RepositoryException {
+    void testHasPendingChanges() throws RepositoryException {
         Session session = MockJcr.newSession();
 
         Node foo = session.getRootNode().addNode("foo");
@@ -281,39 +279,39 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testGetRepository() {
+    void testGetRepository() {
         Session session = MockJcr.newSession();
 
         assertNotNull(session.getRepository());
     }
 
     @Test
-    public void testCheckPermission() throws RepositoryException {
+    void testCheckPermission() throws RepositoryException {
         Session session = MockJcr.newSession();
 
         session.checkPermission("/any/path", "anyActions");
     }
 
     @Test
-    public void testPathsAreNormalized() throws RepositoryException {
+    void testPathsAreNormalized() throws RepositoryException {
         Session session = MockJcr.newSession();
         // 3.4.6 Passing Paths
         // When a JCR path is passed as an argument to a JCR method it may be normalized
         // or non-normalized and in standard or non-standard form.
 
         session.getRootNode().addNode("foo");
-        assertTrue("Requesting node /foo/ should succeed", session.nodeExists("/foo/"));
-        assertTrue("Requesting item /foo/ should succeed", session.itemExists("/foo/"));
+        assertTrue(session.nodeExists("/foo/"), "Requesting node /foo/ should succeed");
+        assertTrue(session.itemExists("/foo/"), "Requesting item /foo/ should succeed");
 
         session.getRootNode().addNode("bar/");
-        assertTrue("Creating /bar/ should succeed", session.nodeExists("/bar"));
+        assertTrue(session.nodeExists("/bar"), "Creating /bar/ should succeed");
 
         session.removeItem("/foo/");
-        assertFalse("Removing /foo/ should succeed", session.nodeExists("/foo"));
+        assertFalse(session.nodeExists("/foo"), "Removing /foo/ should succeed");
     }
 
     @Test
-    public void testNewState() throws RepositoryException {
+    void testNewState() throws RepositoryException {
         Session session = MockJcr.newSession();
 
         Node node = session.getRootNode().addNode("foo");
@@ -327,7 +325,7 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testLogout() throws Exception {
+    void testLogout() {
         Session session = MockJcr.newSession();
 
         assertTrue(session.isLive());
@@ -336,21 +334,21 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testMoveWhenSrcAbsPathIsNull() throws Exception {
+    void testMoveWhenSrcAbsPathIsNull() {
         Session session = MockJcr.newSession();
 
         assertThrows(NullPointerException.class, () -> session.move(null, "/node1/child2"));
     }
 
     @Test
-    public void testMoveWhenDestAbsPathIsNull() throws Exception {
+    void testMoveWhenDestAbsPathIsNull() {
         Session session = MockJcr.newSession();
 
         assertThrows(NullPointerException.class, () -> session.move("/node1/child1", null));
     }
 
     @Test
-    public void testMoveWhenSrcAbsPathDoesNotExist() throws Exception {
+    void testMoveWhenSrcAbsPathDoesNotExist() throws Exception {
         Session session = MockJcr.newSession();
         session.getRootNode().addNode("node1");
 
@@ -358,7 +356,7 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testMoveWhenDestAbsPathAlreadyExists() throws Exception {
+    void testMoveWhenDestAbsPathAlreadyExists() throws Exception {
         Session session = MockJcr.newSession();
         Node node1 = session.getRootNode().addNode("node1");
         node1.addNode("child1");
@@ -368,7 +366,7 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testMoveWhenDestAbsPathHasIndexInName() throws Exception {
+    void testMoveWhenDestAbsPathHasIndexInName() throws Exception {
         Session session = MockJcr.newSession();
         Node node1 = session.getRootNode().addNode("node1");
         node1.addNode("child1");
@@ -377,7 +375,7 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testMoveWhenDestParentDoesNotExist() throws Exception {
+    void testMoveWhenDestParentDoesNotExist() throws Exception {
         Session session = MockJcr.newSession();
         Node node1 = session.getRootNode().addNode("node1");
         node1.addNode("child1");
@@ -386,7 +384,7 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testMoveWhenSrcAbsPathIsNotNode() throws Exception {
+    void testMoveWhenSrcAbsPathIsNotNode() throws Exception {
         Session session = MockJcr.newSession();
         Node node1 = session.getRootNode().addNode("node1");
         node1.setProperty("child1", "value1");
@@ -395,7 +393,7 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testMove() throws Exception {
+    void testMove() throws Exception {
         Session session = MockJcr.newSession();
         Node node1 = session.getRootNode().addNode("node1");
         Node child1 = node1.addNode("child1");
@@ -416,7 +414,7 @@ public class MockSessionTest {
     // --- jackrabbit session operations ---
 
     @Test
-    public void testGetItemOrNull() throws RepositoryException {
+    void testGetItemOrNull() throws RepositoryException {
         JackrabbitSession s = (JackrabbitSession) MockJcr.newSession();
         Node node1 = s.getRootNode().addNode("node1");
         Node child1 = node1.addNode("child1");
@@ -433,7 +431,7 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testGetNodeOrNull() throws RepositoryException {
+    void testGetNodeOrNull() throws RepositoryException {
         JackrabbitSession s = (JackrabbitSession) MockJcr.newSession();
         Node node1 = s.getRootNode().addNode("node1");
         Node child1 = node1.addNode("child1");
@@ -444,7 +442,7 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testGetPropertyOrNull() throws RepositoryException {
+    void testGetPropertyOrNull() throws RepositoryException {
         JackrabbitSession s = (JackrabbitSession) MockJcr.newSession();
         Node node1 = s.getRootNode().addNode("node1");
         Node child1 = node1.addNode("child1");
@@ -456,21 +454,19 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testGetPrincipalManager()
-            throws AccessDeniedException, UnsupportedRepositoryOperationException, RepositoryException {
+    void testGetPrincipalManager() throws RepositoryException {
         JackrabbitSession s = (JackrabbitSession) MockJcr.newSession();
         assertNotNull(s.getPrincipalManager());
     }
 
     @Test
-    public void testGetUserManager()
-            throws AccessDeniedException, UnsupportedRepositoryOperationException, RepositoryException {
+    void testGetUserManager() throws RepositoryException {
         JackrabbitSession s = (JackrabbitSession) MockJcr.newSession();
         assertNotNull(s.getUserManager());
     }
 
     @Test
-    public void testHasPermission() throws RepositoryException {
+    void testHasPermission() {
         JackrabbitSession s = (JackrabbitSession) MockJcr.newSession();
         assertThrows(
                 UnsupportedOperationException.class,
@@ -479,9 +475,9 @@ public class MockSessionTest {
     }
 
     @Test
-    public void testSetAccessControlManager() throws RepositoryException {
+    void testSetAccessControlManager() throws RepositoryException {
         Session s = MockJcr.newSession();
-        assertThrows(UnsupportedOperationException.class, () -> s.getAccessControlManager());
+        assertThrows(UnsupportedOperationException.class, s::getAccessControlManager);
 
         AccessControlManager mockAccessControlManager = Mockito.mock(AccessControlManager.class);
         MockJcr.setAccessControlManager(s, mockAccessControlManager);
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockUserManagerTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockUserManagerTest.java
index ffae91d..4b94326 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockUserManagerTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockUserManagerTest.java
@@ -22,7 +22,6 @@ import javax.jcr.Node;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import javax.jcr.SimpleCredentials;
-import javax.jcr.UnsupportedRepositoryOperationException;
 import javax.jcr.ValueFactory;
 import javax.jcr.nodetype.ConstraintViolationException;
 
@@ -44,27 +43,27 @@ import org.apache.jackrabbit.oak.spi.security.user.util.PasswordUtil;
 import org.apache.jackrabbit.value.ValueFactoryImpl;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThrows;
-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.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  *
  */
-public class MockUserManagerTest {
+class MockUserManagerTest {
     protected Session session;
     protected MockUserManager userManager;
     protected ValueFactory vf = ValueFactoryImpl.getInstance();
 
-    @Before
-    public void before() throws RepositoryException {
+    @BeforeEach
+    void before() {
         session = MockJcr.newSession();
         userManager = new MockUserManager(session);
     }
@@ -72,18 +71,17 @@ public class MockUserManagerTest {
     /**
      * Verify deprecated constructor now throws exception
      */
-    @SuppressWarnings("deprecation")
     @Deprecated
     @Test
-    public void testDeprecatedConstructor() {
-        assertThrows(UnsupportedOperationException.class, () -> new MockUserManager());
+    void testDeprecatedConstructor() {
+        assertThrows(UnsupportedOperationException.class, MockUserManager::new);
     }
 
     /**
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#removeAuthorizable(org.apache.jackrabbit.api.security.user.Authorizable)}.
      */
     @Test
-    public void testRemoveAuthorizable() throws AuthorizableExistsException, RepositoryException {
+    void testRemoveAuthorizable() throws RepositoryException {
         @NotNull Group group1 = userManager.createGroup("group1");
         @NotNull User user1 = userManager.createUser("user1", "pwd");
         assertTrue(userManager.removeAuthorizable(user1));
@@ -93,7 +91,7 @@ public class MockUserManagerTest {
     }
 
     @Test
-    public void testLoadAlreadyExistingAuthorizables()
+    void testLoadAlreadyExistingAuthorizables()
             throws RepositoryException, NoSuchAlgorithmException, UnsupportedEncodingException {
         Node homeNode = session.getRootNode().addNode("home", UserConstants.NT_REP_AUTHORIZABLE_FOLDER);
         Node usersNode = homeNode.addNode("users", UserConstants.NT_REP_AUTHORIZABLE_FOLDER);
@@ -138,7 +136,7 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#all(int)}.
      */
     @Test
-    public void testAll() throws AuthorizableExistsException, RepositoryException {
+    void testAll() throws RepositoryException {
         @NotNull Group group1 = userManager.createGroup("group1");
         @NotNull User user1 = userManager.createUser("user1", "pwd");
         Set<Authorizable> allAuthorizables = userManager.all(UserManager.SEARCH_TYPE_AUTHORIZABLE);
@@ -162,7 +160,7 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#isAutoSave()}.
      */
     @Test
-    public void testIsAutoSave() {
+    void testIsAutoSave() {
         assertFalse(userManager.isAutoSave());
     }
 
@@ -170,7 +168,7 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#autoSave(boolean)}.
      */
     @Test
-    public void testAutoSave() throws UnsupportedRepositoryOperationException, RepositoryException {
+    void testAutoSave() throws RepositoryException {
         userManager.autoSave(true);
         assertTrue(userManager.isAutoSave());
     }
@@ -179,7 +177,7 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#createGroup(java.lang.String)}.
      */
     @Test
-    public void testCreateGroupString() throws AuthorizableExistsException, RepositoryException {
+    void testCreateGroupString() throws RepositoryException {
         @NotNull Group group1 = userManager.createGroup("group1");
         assertNotNull(group1);
 
@@ -190,7 +188,7 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#createGroup(java.security.Principal)}.
      */
     @Test
-    public void testCreateGroupPrincipal() throws AuthorizableExistsException, RepositoryException {
+    void testCreateGroupPrincipal() throws RepositoryException {
         @NotNull Group group1 = userManager.createGroup(() -> "group1");
         assertNotNull(group1);
     }
@@ -199,7 +197,7 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#createGroup(java.security.Principal, java.lang.String)}.
      */
     @Test
-    public void testCreateGroupPrincipalString() throws AuthorizableExistsException, RepositoryException {
+    void testCreateGroupPrincipalString() throws RepositoryException {
         @NotNull Group group1 = userManager.createGroup(() -> "group1", "path1");
         assertNotNull(group1);
         assertEquals("/home/groups/path1/group1", group1.getPath());
@@ -209,7 +207,7 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#createGroup(java.lang.String, java.security.Principal, java.lang.String)}.
      */
     @Test
-    public void testCreateGroupStringPrincipalString() throws AuthorizableExistsException, RepositoryException {
+    void testCreateGroupStringPrincipalString() throws RepositoryException {
         @NotNull Group group1 = userManager.createGroup("group1", () -> "group1", "path1");
         assertNotNull(group1);
         assertEquals("/home/groups/path1/group1", group1.getPath());
@@ -234,22 +232,22 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#createSystemUser(java.lang.String, java.lang.String)}.
      */
     @Test
-    public void testCreateSystemUser() throws RepositoryException {
+    void testCreateSystemUser() throws RepositoryException {
         createSystemUser1("system", "/home/users/system");
     }
 
     @Test
-    public void testCreateSystemUserWithTwoSegmentIntermediatePath() throws RepositoryException {
+    void testCreateSystemUserWithTwoSegmentIntermediatePath() throws RepositoryException {
         createSystemUser1("system/test", "/home/users/system/test");
     }
 
     @Test
-    public void testCreateSystemUserWithNullIntermediatePath() throws RepositoryException {
+    void testCreateSystemUserWithNullIntermediatePath() throws RepositoryException {
         createSystemUser1(null, "/home/users/system");
     }
 
     @Test
-    public void testCreateSystemUserWithInvalidIntermediatePath() {
+    void testCreateSystemUserWithInvalidIntermediatePath() {
         assertThrows(ConstraintViolationException.class, () -> userManager.createSystemUser("systemuser1", "invalid"));
     }
 
@@ -257,7 +255,7 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#createUser(java.lang.String, java.lang.String)}.
      */
     @Test
-    public void testCreateUserStringString() throws AuthorizableExistsException, RepositoryException {
+    void testCreateUserStringString() throws RepositoryException {
         @NotNull User user1 = userManager.createUser("user1", "pwd");
         assertNotNull(user1);
 
@@ -268,15 +266,14 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#createUser(java.lang.String, java.lang.String, java.security.Principal, java.lang.String)}.
      */
     @Test
-    public void testCreateUserStringStringPrincipalString() throws AuthorizableExistsException, RepositoryException {
+    void testCreateUserStringStringPrincipalString() throws RepositoryException {
         @NotNull User user1 = userManager.createUser("user1", "pwd", () -> "user1", "path1");
         assertNotNull(user1);
         assertEquals("/home/users/path1/user1", user1.getPath());
     }
 
     @Test
-    public void testCreateUserStringStringPrincipalStringWithNullIntermediatePath()
-            throws AuthorizableExistsException, RepositoryException {
+    void testCreateUserStringStringPrincipalStringWithNullIntermediatePath() throws RepositoryException {
         @NotNull User user1 = userManager.createUser("user1", "pwd", () -> "user1", null);
         assertNotNull(user1);
         assertEquals("/home/users", ResourceUtil.getParent(user1.getPath()));
@@ -288,7 +285,7 @@ public class MockUserManagerTest {
     @SuppressWarnings("removal")
     @Deprecated
     @Test
-    public void testEnsureAuthorizablePathExistsStringStringBoolean() throws RepositoryException {
+    void testEnsureAuthorizablePathExistsStringStringBoolean() throws RepositoryException {
         // intermedate path supplied
         Node user1node = userManager.ensureAuthorizablePathExists("/home/users/path1", "user1", false);
         assertNotNull(user1node);
@@ -308,7 +305,7 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#ensureAuthorizablePathExists(java.lang.String, java.lang.String, java.lang.String)}.
      */
     @Test
-    public void testEnsureAuthorizablePathExistsStringStringString() throws RepositoryException {
+    void testEnsureAuthorizablePathExistsStringStringString() throws RepositoryException {
         Node user1node =
                 userManager.ensureAuthorizablePathExists("/home/users/path1", "user1", UserConstants.NT_REP_USER);
         assertNotNull(user1node);
@@ -322,7 +319,7 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#findAuthorizables(org.apache.jackrabbit.api.security.user.Query)}.
      */
     @Test
-    public void testFindAuthorizablesQuery() throws RepositoryException {
+    void testFindAuthorizablesQuery() {
         Query query = Mockito.mock(Query.class);
         assertThrows(UnsupportedOperationException.class, () -> userManager.findAuthorizables(query));
     }
@@ -331,7 +328,7 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#findAuthorizables(java.lang.String, java.lang.String)}.
      */
     @Test
-    public void testFindAuthorizablesStringString() throws RepositoryException {
+    void testFindAuthorizablesStringString() throws RepositoryException {
         @NotNull User user1 = userManager.createUser("user1", "pwd", () -> "user1", "path1");
         user1.setProperty("prop1", vf.createValue("prop1Value"));
         user1.setProperty("sub1/prop2", vf.createValue("prop2Value"));
@@ -355,7 +352,7 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#findAuthorizables(java.lang.String, java.lang.String, int)}.
      */
     @Test
-    public void testFindAuthorizablesStringStringInt() throws RepositoryException {
+    void testFindAuthorizablesStringStringInt() throws RepositoryException {
         @NotNull Group group1 = userManager.createGroup("group1", () -> "group1", "path1");
         group1.setProperty("prop1", vf.createValue("prop1Value"));
         group1.setProperty("sub1/prop2", vf.createValue("prop2Value"));
@@ -408,7 +405,7 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#getAuthorizable(java.lang.String)}.
      */
     @Test
-    public void testGetAuthorizableString() throws AuthorizableExistsException, RepositoryException {
+    void testGetAuthorizableString() throws RepositoryException {
         @NotNull User user1 = userManager.createUser("user1", "pwd", () -> "user1", "path1");
         @Nullable Authorizable authorizable = userManager.getAuthorizable(user1.getID());
         assertEquals(user1, authorizable);
@@ -418,7 +415,7 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#getAuthorizable(java.security.Principal)}.
      */
     @Test
-    public void testGetAuthorizablePrincipal() throws AuthorizableExistsException, RepositoryException {
+    void testGetAuthorizablePrincipal() throws RepositoryException {
         @NotNull User user1 = userManager.createUser("user1", "pwd", () -> "user1", "path1");
         @Nullable Authorizable authorizable = userManager.getAuthorizable(() -> "user1");
         assertEquals(user1, authorizable);
@@ -428,7 +425,7 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#getAuthorizable(java.lang.String, java.lang.Class)}.
      */
     @Test
-    public void testGetAuthorizableStringClassOfT() throws AuthorizableExistsException, RepositoryException {
+    void testGetAuthorizableStringClassOfT() throws RepositoryException {
         @NotNull User user1 = userManager.createUser("user1", "pwd", () -> "user1", "path1");
         @Nullable Authorizable authorizable = userManager.getAuthorizable("user1", User.class);
         assertEquals(user1, authorizable);
@@ -439,8 +436,7 @@ public class MockUserManagerTest {
      * Test to verify the fix for SLING-12166
      */
     @Test
-    public void testGetAuthorizableStringClassOfTWhenItDoesNotExist()
-            throws AuthorizableExistsException, RepositoryException {
+    void testGetAuthorizableStringClassOfTWhenItDoesNotExist() throws RepositoryException {
         @Nullable Authorizable authorizable = userManager.getAuthorizable("user1", User.class);
         assertNull(authorizable);
     }
@@ -449,7 +445,7 @@ public class MockUserManagerTest {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUserManager#getAuthorizableByPath(java.lang.String)}.
      */
     @Test
-    public void testGetAuthorizableByPath() throws AuthorizableExistsException, RepositoryException {
+    void testGetAuthorizableByPath() throws RepositoryException {
         @NotNull User user1 = userManager.createUser("user1", "pwd", () -> "user1", "path1");
         @Nullable Authorizable authorizable = userManager.getAuthorizableByPath(user1.getPath());
         assertEquals(user1, authorizable);
@@ -458,7 +454,7 @@ public class MockUserManagerTest {
     }
 
     @Test
-    public void testGetAuthorizableByPathCatchRepositoryException() throws Exception {
+    void testGetAuthorizableByPathCatchRepositoryException() throws Exception {
         @NotNull User user1 = userManager.createUser("user1", "pwd", () -> "user1", "path1");
         User mockAuthorizable = Mockito.spy(user1);
         // replace the original with our mocked copy
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockUserTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockUserTest.java
index 3b2105f..1b1f317 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockUserTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockUserTest.java
@@ -22,7 +22,6 @@ import javax.jcr.Credentials;
 import javax.jcr.Node;
 import javax.jcr.RepositoryException;
 import javax.jcr.SimpleCredentials;
-import javax.jcr.UnsupportedRepositoryOperationException;
 
 import java.io.UnsupportedEncodingException;
 import java.security.NoSuchAlgorithmException;
@@ -33,20 +32,20 @@ import org.apache.jackrabbit.oak.spi.security.user.UserConstants;
 import org.apache.jackrabbit.oak.spi.security.user.UserIdCredentials;
 import org.apache.jackrabbit.oak.spi.security.user.util.PasswordUtil;
 import org.jetbrains.annotations.NotNull;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.mockito.MockedStatic;
 import org.mockito.Mockito;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThrows;
-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.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  *
  */
-public class MockUserTest extends MockAuthorizableTest<User> {
+class MockUserTest extends MockAuthorizableTest<User> {
 
     @Override
     protected User createAuthorizable() throws RepositoryException {
@@ -69,13 +68,13 @@ public class MockUserTest extends MockAuthorizableTest<User> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUser#isAdmin()}.
      */
     @Test
-    public void testIsAdmin() throws RepositoryException {
+    void testIsAdmin() throws RepositoryException {
         assertFalse(authorizable.isAdmin());
         assertTrue(userManager.createUser("admin", "admin").isAdmin());
     }
 
     @Test
-    public void testIsAdminCatchRepositoryException() throws Exception {
+    void testIsAdminCatchRepositoryException() throws Exception {
         User mockAuthorizable = Mockito.spy(authorizable);
         Mockito.doThrow(RepositoryException.class).when(mockAuthorizable).getID();
 
@@ -108,7 +107,7 @@ public class MockUserTest extends MockAuthorizableTest<User> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUser#isSystemUser()}.
      */
     @Test
-    public void testIsSystemUser() {
+    void testIsSystemUser() {
         assertFalse(authorizable.isSystemUser());
     }
 
@@ -116,14 +115,14 @@ public class MockUserTest extends MockAuthorizableTest<User> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUser#getCredentials()}.
      */
     @Test
-    public void testGetCredentials() throws RepositoryException {
+    void testGetCredentials() throws RepositoryException {
         @NotNull Credentials credentials = authorizable.getCredentials();
         assertTrue(credentials instanceof SimpleCredentials);
         assertEquals(authorizable.getID(), ((SimpleCredentials) credentials).getUserID());
     }
 
     @Test
-    public void testGetCredentialsWithNullPassword() throws RepositoryException {
+    void testGetCredentialsWithNullPassword() throws RepositoryException {
         // create a user with no password
         authorizable = userManager.createUser("user2", null);
 
@@ -136,7 +135,7 @@ public class MockUserTest extends MockAuthorizableTest<User> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUser#getImpersonation()}.
      */
     @Test
-    public void testGetImpersonation() {
+    void testGetImpersonation() {
         assertThrows(UnsupportedOperationException.class, () -> authorizable.getImpersonation());
     }
 
@@ -144,7 +143,7 @@ public class MockUserTest extends MockAuthorizableTest<User> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUser#changePassword(java.lang.String)}.
      */
     @Test
-    public void testChangePasswordString() throws RepositoryException {
+    void testChangePasswordString() throws RepositoryException {
         authorizable.changePassword("changed");
         assertPassword("changed".toCharArray());
 
@@ -152,14 +151,14 @@ public class MockUserTest extends MockAuthorizableTest<User> {
     }
 
     @Test
-    public void testChangePasswordStringFromNull() throws RepositoryException {
+    void testChangePasswordStringFromNull() throws RepositoryException {
         // start with a null password - for code coverage
         authorizable = userManager.createUser("testuser2", null);
         assertThrows(RepositoryException.class, () -> authorizable.changePassword("changed", "oldPwd"));
     }
 
     @Test
-    public void testChangePasswordStringWithCaughtNoSuchAlgorithmException() throws RepositoryException {
+    void testChangePasswordStringWithCaughtNoSuchAlgorithmException() {
         try (MockedStatic<PasswordUtil> passwordUtilMock = Mockito.mockStatic(PasswordUtil.class); ) {
             passwordUtilMock
                     .when(() -> PasswordUtil.buildPasswordHash("changed"))
@@ -169,7 +168,7 @@ public class MockUserTest extends MockAuthorizableTest<User> {
     }
 
     @Test
-    public void testChangePasswordStringWithCaughtUnsupportedEncodingExceptionException() throws RepositoryException {
+    void testChangePasswordStringWithCaughtUnsupportedEncodingExceptionException() {
         try (MockedStatic<PasswordUtil> passwordUtilMock = Mockito.mockStatic(PasswordUtil.class); ) {
             passwordUtilMock
                     .when(() -> PasswordUtil.buildPasswordHash("changed"))
@@ -187,7 +186,7 @@ public class MockUserTest extends MockAuthorizableTest<User> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUser#changePassword(java.lang.String, java.lang.String)}.
      */
     @Test
-    public void testChangePasswordStringString() throws RepositoryException {
+    void testChangePasswordStringString() throws RepositoryException {
         authorizable.changePassword("changed", "pwd");
         assertPassword("changed".toCharArray());
 
@@ -198,7 +197,7 @@ public class MockUserTest extends MockAuthorizableTest<User> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUser#disable(java.lang.String)}.
      */
     @Test
-    public void testDisable() throws RepositoryException {
+    void testDisable() throws RepositoryException {
         authorizable.disable("Expired");
         assertTrue(authorizable.isDisabled());
         assertEquals("Expired", authorizable.getDisabledReason());
@@ -217,7 +216,7 @@ public class MockUserTest extends MockAuthorizableTest<User> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUser#isDisabled()}.
      */
     @Test
-    public void testIsDisabled() throws RepositoryException {
+    void testIsDisabled() throws RepositoryException {
         assertFalse(authorizable.isDisabled());
         authorizable.disable("Obsolete");
         assertTrue(authorizable.isDisabled());
@@ -227,7 +226,7 @@ public class MockUserTest extends MockAuthorizableTest<User> {
      * Test method for {@link org.apache.sling.testing.mock.jcr.MockUser#getDisabledReason()}.
      */
     @Test
-    public void testGetDisabledReason() throws RepositoryException {
+    void testGetDisabledReason() throws RepositoryException {
         assertNull(authorizable.getDisabledReason());
         authorizable.disable("Obsolete");
         assertEquals("Obsolete", authorizable.getDisabledReason());
@@ -235,7 +234,7 @@ public class MockUserTest extends MockAuthorizableTest<User> {
 
     @Test
     @Override
-    public void testGetPath() throws UnsupportedRepositoryOperationException, RepositoryException {
+    public void testGetPath() throws RepositoryException {
         assertEquals("/home/users/user1", authorizable.getPath());
         assertTrue(session.nodeExists(authorizable.getPath()));
         Node node = session.getNode(authorizable.getPath());
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockWorkspaceTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockWorkspaceTest.java
index 84d05a4..de41910 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockWorkspaceTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockWorkspaceTest.java
@@ -22,35 +22,35 @@ import javax.jcr.RepositoryException;
 import javax.jcr.Workspace;
 import javax.jcr.observation.ObservationManager;
 
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
-public class MockWorkspaceTest {
+class MockWorkspaceTest {
 
     private Workspace underTest;
 
-    @Before
-    public void setUp() {
+    @BeforeEach
+    void setUp() {
         underTest = MockJcr.newSession().getWorkspace();
     }
 
     @Test
-    public void testName() {
+    void testName() {
         assertEquals(MockJcr.DEFAULT_WORKSPACE, underTest.getName());
     }
 
     @Test
-    public void testNameSpaceRegistry() throws RepositoryException {
+    void testNameSpaceRegistry() throws RepositoryException {
         assertNotNull(underTest.getNamespaceRegistry());
     }
 
     @Test
-    public void testObservationManager() throws RepositoryException {
+    void testObservationManager() throws RepositoryException {
         // just make sure observation manager methods can be called, although they do nothing
         ObservationManager mgr = underTest.getObservationManager();
         mgr.addEventListener(null, 0, null, false, null, null, false);
@@ -62,7 +62,7 @@ public class MockWorkspaceTest {
     }
 
     @Test
-    public void testNodeTypeManager() throws RepositoryException {
+    void testNodeTypeManager() throws RepositoryException {
         assertNotNull(underTest.getNodeTypeManager());
     }
 }
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/ResourceUtilTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/ResourceUtilTest.java
index b8de472..721f089 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/ResourceUtilTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/ResourceUtilTest.java
@@ -18,16 +18,16 @@
  */
 package org.apache.sling.testing.mock.jcr;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.assertEquals;
-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.assertNull;
+import static org.junit.jupiter.api.Assertions.fail;
 
-public class ResourceUtilTest {
+class ResourceUtilTest {
 
     @Test
-    public void testResolveRelativeSegments() {
+    void testResolveRelativeSegments() {
 
         assertEquals("/", ResourceUtil.normalize("/"));
         assertEquals("/", ResourceUtil.normalize("///"));
@@ -108,7 +108,7 @@ public class ResourceUtilTest {
     }
 
     @Test
-    public void testResolveRelativeSegmentsRelative() {
+    void testResolveRelativeSegmentsRelative() {
         assertEquals("a/b", ResourceUtil.normalize("a/b"));
         assertEquals("a", ResourceUtil.normalize("a/b/.."));
 
@@ -125,7 +125,7 @@ public class ResourceUtilTest {
     }
 
     @Test
-    public void testGetParent() {
+    void testGetParent() {
         assertNull(ResourceUtil.getParent("/"));
         assertNull(ResourceUtil.getParent("/.."));
 
@@ -142,7 +142,7 @@ public class ResourceUtilTest {
     }
 
     @Test
-    public void testGetName() {
+    void testGetName() {
         assertEquals("", ResourceUtil.getName("/"));
         assertEquals("", ResourceUtil.getName("/a/.."));
 
@@ -161,7 +161,7 @@ public class ResourceUtilTest {
     }
 
     @Test
-    public void testGetParentLevel() throws Exception {
+    void testGetParentLevel() {
         boolean caughtNullPointerException = false;
         try {
             ResourceUtil.getParent(null, 4);