You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2019/04/18 16:08:42 UTC

[openmeetings] branch master updated: [OPENMEETINGS-2044] initial commit on junit5 switching

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

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 2e7f098  [OPENMEETINGS-2044] initial commit on junit5 switching
2e7f098 is described below

commit 2e7f09893e3b08075ee3ddc8f92b2ad814aeaca6
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Thu Apr 18 23:08:25 2019 +0700

    [OPENMEETINGS-2044] initial commit on junit5 switching
---
 .../openmeetings/db/dto/user/TestOAuthUser.java    | 42 ++++++------
 .../openmeetings/db/util/TestAuthLevelUtil.java    | 23 ++++---
 .../openmeetings/db/util/TestLocaleHelper.java     | 22 +++----
 .../openmeetings/backup/TestBackupVersion.java     |  8 +--
 .../openmeetings/util/TestCalendarPatterns.java    |  6 +-
 .../apache/openmeetings/util/TestStoredFile.java   | 26 ++++----
 .../org/apache/openmeetings/util/TestVersion.java  |  8 +--
 .../openmeetings/util/crypt/AbstractCryptTest.java | 34 +++++-----
 .../apache/openmeetings/util/crypt/TestSCrypt.java | 20 +++---
 openmeetings-web/pom.xml                           |  5 ++
 .../apache/openmeetings/AbstractJUnitDefaults.java |  4 +-
 .../apache/openmeetings/AbstractSpringTest.java    | 10 +--
 .../org/apache/openmeetings/cli/TestAdmin.java     |  8 +--
 .../test/selenium/AbstractTestDefaults.java        |  4 +-
 .../web/app/TestUserManagerMocked.java             |  6 +-
 .../web/pages/install/TestInstall.java             |  8 +--
 .../webservice/AbstractWebServiceTest.java         | 36 +++++-----
 .../webservice/TestCalendarService.java            | 76 +++++++++++-----------
 .../openmeetings/webservice/TestErrorService.java  |  1 -
 .../openmeetings/webservice/TestBaseService.java   | 20 +++---
 pom.xml                                            | 28 +++++---
 21 files changed, 203 insertions(+), 192 deletions(-)

diff --git a/openmeetings-db/src/test/java/org/apache/openmeetings/db/dto/user/TestOAuthUser.java b/openmeetings-db/src/test/java/org/apache/openmeetings/db/dto/user/TestOAuthUser.java
index acc5ca9..b475cd4 100644
--- a/openmeetings-db/src/test/java/org/apache/openmeetings/db/dto/user/TestOAuthUser.java
+++ b/openmeetings-db/src/test/java/org/apache/openmeetings/db/dto/user/TestOAuthUser.java
@@ -22,16 +22,16 @@ import static org.apache.openmeetings.db.dto.user.OAuthUser.PARAM_EMAIL;
 import static org.apache.openmeetings.db.dto.user.OAuthUser.PARAM_FNAME;
 import static org.apache.openmeetings.db.dto.user.OAuthUser.PARAM_LNAME;
 import static org.apache.openmeetings.db.dto.user.OAuthUser.PARAM_LOGIN;
-import static org.junit.Assert.assertEquals;
-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.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.openmeetings.db.entity.server.OAuthServer;
 import org.apache.wicket.util.string.Strings;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class TestOAuthUser {
 	@Test
@@ -45,10 +45,10 @@ public class TestOAuthUser {
 				"{'id': '11klahjsfwehf5', 'email': 'alsfkvslvmclqwkdsm@gmail.com', 'verified_email': true, 'name': 'John Doe', 'given_name': 'John', 'family_name': 'Doe', 'link': 'https://plus.google.com/+JohnDoe', 'picture': 'https://lh3.googleusercontent.com/somehash/photo.jpg', 'gender': 'male', 'locale': 'en'}"
 				, server
 				);
-		assertEquals("Login should be correct", "11klahjsfwehf5", user.getLogin());
-		assertEquals("Email should be correct", "alsfkvslvmclqwkdsm@gmail.com", user.getEmail());
-		assertEquals("Firstname should be correct", "John", user.getUserData().get(PARAM_FNAME));
-		assertEquals("Lastname should be correct", "Doe", user.getUserData().get(PARAM_LNAME));
+		assertEquals("11klahjsfwehf5", user.getLogin(), "Login should be correct");
+		assertEquals("alsfkvslvmclqwkdsm@gmail.com", user.getEmail(), "Email should be correct");
+		assertEquals("John", user.getUserData().get(PARAM_FNAME), "Firstname should be correct");
+		assertEquals("Doe", user.getUserData().get(PARAM_LNAME), "Lastname should be correct");
 	}
 
 	@Test
@@ -62,17 +62,17 @@ public class TestOAuthUser {
 				"{'response':[{'uid':4uidhere4,'first_name':'John','last_name':'Doe'}]}"
 				, server
 				);
-		assertEquals("Login should be correct", "4uidhere4", user.getLogin());
-		assertTrue("Email should be empty", Strings.isEmpty(user.getEmail()));
-		assertEquals("Firstname should be correct", "John", user.getUserData().get(PARAM_FNAME));
-		assertEquals("Lastname should be correct", "Doe", user.getUserData().get(PARAM_LNAME));
+		assertEquals("4uidhere4", user.getLogin(), "Login should be correct");
+		assertTrue(Strings.isEmpty(user.getEmail()), "Email should be empty");
+		assertEquals("John", user.getUserData().get(PARAM_FNAME), "Firstname should be correct");
+		assertEquals("Doe", user.getUserData().get(PARAM_LNAME), "Lastname should be correct");
 
 		server.setIconUrl("https://goo.gl/images/q23g7Y");
 		user = new OAuthUser(
 				"{'response':[{'uid':4uidhere4,'first_name':'John','last_name':'Doe'}]}"
 				, server
 				);
-		assertEquals("Email should be constructed", "4uidhere4@goo.gl", user.getEmail());
+		assertEquals("4uidhere4@goo.gl", user.getEmail(), "Email should be constructed");
 	}
 
 	@Test
@@ -86,10 +86,10 @@ public class TestOAuthUser {
 				"{\"hasError\": false, \"result\": {\"username\": \"test\", \"email\": \"aaa@test.com\", \"fname\": \"first\", \"lname\":\"last\"}}"
 				, server
 				);
-		assertEquals("Login should be correct", "test", user.getLogin());
-		assertEquals("Email should be correct", "aaa@test.com", user.getEmail());
-		assertEquals("Firstname should be correct", "first", user.getUserData().get(PARAM_FNAME));
-		assertEquals("Lastname should be correct", "last", user.getUserData().get(PARAM_LNAME));
+		assertEquals("test", user.getLogin(), "Login should be correct");
+		assertEquals("aaa@test.com", user.getEmail(), "Email should be correct");
+		assertEquals("first", user.getUserData().get(PARAM_FNAME), "Firstname should be correct");
+		assertEquals("last", user.getUserData().get(PARAM_LNAME), "Lastname should be correct");
 	}
 
 	@Test
@@ -98,9 +98,9 @@ public class TestOAuthUser {
 		umap.put("login", "abc");
 		umap.put("email", "abc@local");
 		OAuthUser user = new OAuthUser(umap);
-		assertEquals("Login should be correct", "abc", user.getLogin());
-		assertEquals("Email should be correct", "abc@local", user.getEmail());
-		assertNull("First should be empty", user.getUserData().get(PARAM_FNAME));
-		assertNull("Lastname should be empty", user.getUserData().get(PARAM_LNAME));
+		assertEquals("abc", user.getLogin(), "Login should be correct");
+		assertEquals("abc@local", user.getEmail(), "Email should be correct");
+		assertNull(user.getUserData().get(PARAM_FNAME), "First name should be empty");
+		assertNull(user.getUserData().get(PARAM_LNAME), "Last name should be empty");
 	}
 }
diff --git a/openmeetings-db/src/test/java/org/apache/openmeetings/db/util/TestAuthLevelUtil.java b/openmeetings-db/src/test/java/org/apache/openmeetings/db/util/TestAuthLevelUtil.java
index 6ec5fd9..1cb7537 100644
--- a/openmeetings-db/src/test/java/org/apache/openmeetings/db/util/TestAuthLevelUtil.java
+++ b/openmeetings-db/src/test/java/org/apache/openmeetings/db/util/TestAuthLevelUtil.java
@@ -19,8 +19,8 @@
 package org.apache.openmeetings.db.util;
 
 import static org.apache.openmeetings.db.util.AuthLevelUtil.getRoomRight;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.Arrays;
 import java.util.HashSet;
@@ -29,13 +29,12 @@ import java.util.Set;
 import org.apache.openmeetings.db.entity.calendar.Appointment;
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.user.User;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class TestAuthLevelUtil {
 	@Test
 	public void testNull() {
-		assertTrue("Result should be empty", getRoomRight(null, null, null, 0).isEmpty());
+		assertTrue(getRoomRight(null, null, null, 0).isEmpty(), "Result should be empty");
 	}
 
 	@Test
@@ -43,8 +42,8 @@ public class TestAuthLevelUtil {
 		User u = new User();
 		u.setRights(new HashSet<>(Arrays.asList(User.Right.Admin)));
 		Set<Room.Right> rights = getRoomRight(u, new Room(), null, 0);
-		assertEquals("Result should NOT be empty", 1, rights.size());
-		Assert.assertTrue("Result should be super moderator", rights.contains(Room.Right.superModerator));
+		assertEquals(1, rights.size(), "Result should NOT be empty");
+		assertTrue(rights.contains(Room.Right.superModerator), "Result should be super moderator");
 	}
 
 	@Test
@@ -57,8 +56,8 @@ public class TestAuthLevelUtil {
 		a.setOwner(new User());
 		a.getOwner().setId(666L);
 		Set<Room.Right> rights = getRoomRight(u, r, a, 0);
-		assertEquals("Result should NOT be empty", 1, rights.size());
-		Assert.assertTrue("Result should be super moderator", rights.contains(Room.Right.superModerator));
+		assertEquals(1, rights.size(), "Result should NOT be empty");
+		assertTrue(rights.contains(Room.Right.superModerator), "Result should be super moderator");
 	}
 
 	@Test
@@ -66,8 +65,8 @@ public class TestAuthLevelUtil {
 		User u = new User();
 		Room r = new Room();
 		Set<Room.Right> rights = getRoomRight(u, r, null, 0);
-		assertEquals("Result should NOT be empty", 2, rights.size());
-		Assert.assertTrue("Result should contains audio", rights.contains(Room.Right.audio));
-		Assert.assertTrue("Result should contains video", rights.contains(Room.Right.video));
+		assertEquals(2, rights.size(), "Result should NOT be empty");
+		assertTrue(rights.contains(Room.Right.audio), "Result should contains audio");
+		assertTrue(rights.contains(Room.Right.video), "Result should contains video");
 	}
 }
diff --git a/openmeetings-db/src/test/java/org/apache/openmeetings/db/util/TestLocaleHelper.java b/openmeetings-db/src/test/java/org/apache/openmeetings/db/util/TestLocaleHelper.java
index aa50064..1c9bc4c 100644
--- a/openmeetings-db/src/test/java/org/apache/openmeetings/db/util/TestLocaleHelper.java
+++ b/openmeetings-db/src/test/java/org/apache/openmeetings/db/util/TestLocaleHelper.java
@@ -20,14 +20,14 @@ package org.apache.openmeetings.db.util;
 
 import static org.apache.openmeetings.db.util.LocaleHelper.getCountries;
 import static org.apache.openmeetings.db.util.LocaleHelper.validateCountry;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 import java.util.List;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class TestLocaleHelper {
 	private static final String COUNTRY_IT_LC = "it";
@@ -37,11 +37,11 @@ public class TestLocaleHelper {
 	@Test
 	public void testCountry() {
 		List<String> list = getCountries();
-		assertNotNull("Country list shouldn't be null", list);
-		assertFalse("Country list shouldn't be empty", list.isEmpty());
-		assertEquals("Check for valid", COUNTRY_IT, validateCountry(COUNTRY_IT));
-		assertEquals("Check for valid (lower case)", COUNTRY_IT, validateCountry(COUNTRY_IT_LC));
-		assertNotEquals("Check for invalid (null)", COUNTRY_IT, validateCountry(null));
-		assertNotEquals("Check for invalid", COUNTRY_IT, validateCountry(COUNTRY_ITALY));
+		assertNotNull(list, "Country list shouldn't be null");
+		assertFalse(list.isEmpty(), "Country list shouldn't be empty");
+		assertEquals(COUNTRY_IT, validateCountry(COUNTRY_IT), "Check for valid");
+		assertEquals(COUNTRY_IT, validateCountry(COUNTRY_IT_LC), "Check for valid (lower case)");
+		assertNotEquals(COUNTRY_IT, validateCountry(null), "Check for invalid (null)");
+		assertNotEquals(COUNTRY_IT, validateCountry(COUNTRY_ITALY), "Check for invalid");
 	}
 }
diff --git a/openmeetings-install/src/test/java/org/apache/openmeetings/backup/TestBackupVersion.java b/openmeetings-install/src/test/java/org/apache/openmeetings/backup/TestBackupVersion.java
index fbf9975..0b02724 100644
--- a/openmeetings-install/src/test/java/org/apache/openmeetings/backup/TestBackupVersion.java
+++ b/openmeetings-install/src/test/java/org/apache/openmeetings/backup/TestBackupVersion.java
@@ -18,17 +18,17 @@
  */
 package org.apache.openmeetings.backup;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 public class TestBackupVersion {
 	@Test
 	public void testGet() {
 		BackupVersion bv = BackupVersion.get();
-		assertNotEquals("Major should be set", 0, bv.getMajor());
+		assertNotEquals(0, bv.getMajor(), "Major should be set");
 	}
 
 	@Test
diff --git a/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestCalendarPatterns.java b/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestCalendarPatterns.java
index 9474627..472244a 100644
--- a/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestCalendarPatterns.java
+++ b/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestCalendarPatterns.java
@@ -18,17 +18,17 @@
  */
 package org.apache.openmeetings.util;
 
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 import java.util.Date;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class TestCalendarPatterns {
 
 	@Test
 	public void backupDateParseTest() {
 		Date d = CalendarPatterns.parseImportDate("1360832400000");
-		assertNotNull("Date parsed should not be NULL", d);
+		assertNotNull(d, "Date parsed should not be NULL");
 	}
 }
diff --git a/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestStoredFile.java b/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestStoredFile.java
index 7e278a6..c5bba27 100644
--- a/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestStoredFile.java
+++ b/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestStoredFile.java
@@ -18,13 +18,13 @@
  */
 package org.apache.openmeetings.util;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class TestStoredFile {
 	@Test
@@ -32,8 +32,8 @@ public class TestStoredFile {
 		final String[] exts = {"aif", "aifc", "aiff", "au", "mp3", "flac", "wav"}; //TODO enlarge
 		for (String ext : exts) {
 			StoredFile sf = new StoredFile("test", ext, (InputStream)null);
-			assertTrue(String.format("Files of type '%s' should be treated as Video", ext), sf.isVideo());
-			assertFalse(String.format("Files of type '%s' should NOT be treated as Image", ext), sf.isImage());
+			assertTrue(sf.isVideo(), String.format("Files of type '%s' should be treated as Video", ext));
+			assertFalse(sf.isImage(), String.format("Files of type '%s' should NOT be treated as Image", ext));
 		}
 	}
 
@@ -42,8 +42,8 @@ public class TestStoredFile {
 		final String[] exts = {"avi", "mov", "flv", "mp4"}; //TODO enlarge
 		for (String ext : exts) {
 			StoredFile sf = new StoredFile("test", ext, (InputStream)null);
-			assertTrue(String.format("Files of type '%s' should be treated as Video", ext), sf.isVideo());
-			assertFalse(String.format("Files of type '%s' should NOT be treated as Image", ext), sf.isImage());
+			assertTrue(sf.isVideo(), String.format("Files of type '%s' should be treated as Video", ext));
+			assertFalse(sf.isImage(), String.format("Files of type '%s' should NOT be treated as Image", ext));
 		}
 	}
 
@@ -61,8 +61,8 @@ public class TestStoredFile {
 				"jpg", "jpeg"}; //TODO enlarge
 		for (String ext : exts) {
 			StoredFile sf = new StoredFile("test", ext, (InputStream)null);
-			assertTrue(String.format("Files of type '%s' should be treated as Image", ext), sf.isImage());
-			assertFalse(String.format("Files of type '%s' should NOT be treated as Video", ext), sf.isVideo());
+			assertTrue(sf.isImage(), String.format("Files of type '%s' should be treated as Image", ext));
+			assertFalse(sf.isVideo(), String.format("Files of type '%s' should NOT be treated as Video", ext));
 		}
 	}
 
@@ -73,16 +73,16 @@ public class TestStoredFile {
 		};
 		for (String ext : exts) {
 			StoredFile sf = new StoredFile("test", ext, (InputStream)null);
-			assertTrue(String.format("Files of type '%s' should be treated as Convertible", ext), sf.isOffice());
-			assertFalse(String.format("Files of type '%s' should NOT be treated as Video", ext), sf.isVideo());
+			assertTrue(sf.isOffice(), String.format("Files of type '%s' should be treated as Convertible", ext));
+			assertFalse(sf.isVideo(), String.format("Files of type '%s' should NOT be treated as Video", ext));
 		}
 	}
 
 	private static void fileOfficeTest(String path) throws IOException {
 		try (InputStream is = TestStoredFile.class.getResourceAsStream(path)) {
 			StoredFile sf = new StoredFile(path, is);
-			assertTrue(String.format("Files of type '%s' should be treated as Convertible", sf.getExt()), sf.isOffice());
-			assertFalse(String.format("Files of type '%s' should NOT be treated as Video", sf.getExt()), sf.isVideo());
+			assertTrue(sf.isOffice(), String.format("Files of type '%s' should be treated as Convertible", sf.getExt()));
+			assertFalse(sf.isVideo(), String.format("Files of type '%s' should NOT be treated as Video", sf.getExt()));
 		}
 	}
 
diff --git a/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestVersion.java b/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestVersion.java
index e766422..e18e79f 100644
--- a/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestVersion.java
+++ b/openmeetings-util/src/test/java/org/apache/openmeetings/util/TestVersion.java
@@ -22,10 +22,10 @@ import static org.apache.openmeetings.util.Version.getBuildDate;
 import static org.apache.openmeetings.util.Version.getRevision;
 import static org.apache.openmeetings.util.Version.getVersion;
 import static org.apache.openmeetings.util.Version.logOMStarted;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class TestVersion {
 	@Test
@@ -46,6 +46,6 @@ public class TestVersion {
 	@Test
 	public void testLogVersion() {
 		logOMStarted();
-		Assert.assertTrue(true);
+		assertTrue(true);
 	}
 }
diff --git a/openmeetings-util/src/test/java/org/apache/openmeetings/util/crypt/AbstractCryptTest.java b/openmeetings-util/src/test/java/org/apache/openmeetings/util/crypt/AbstractCryptTest.java
index 3b8ccf4..67d877e 100644
--- a/openmeetings-util/src/test/java/org/apache/openmeetings/util/crypt/AbstractCryptTest.java
+++ b/openmeetings-util/src/test/java/org/apache/openmeetings/util/crypt/AbstractCryptTest.java
@@ -18,18 +18,18 @@
  */
 package org.apache.openmeetings.util.crypt;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Random;
 
 import org.apache.commons.text.RandomStringGenerator;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public abstract class AbstractCryptTest {
 	protected static ICrypt crypt;
@@ -37,15 +37,15 @@ public abstract class AbstractCryptTest {
 	@Test
 	public void nulltest() {
 		String hash = crypt.hash(null);
-		assertEquals("Hash for null should be null", null, hash);
+		assertNull(hash, "Hash for null should be null");
 
-		assertTrue("Hash for null should be null", crypt.verify(null, null));
-		assertFalse("Hash for null should be null", crypt.verify(null, "abc"));
-		assertFalse("Hash for null should NOT be null", crypt.verify("abc", null));
+		assertTrue(crypt.verify(null, null), "Hash for null should be null");
+		assertFalse(crypt.verify(null, "abc"), "Hash for null should be null");
+		assertFalse(crypt.verify("abc", null), "Hash for null should NOT be null");
 
-		assertTrue("Hash for null should be null", crypt.fallback(null, null));
-		assertFalse("Hash for null should be null", crypt.fallback(null, "abc"));
-		assertFalse("Hash for null should NOT be null", crypt.fallback("abc", null));
+		assertTrue(crypt.fallback(null, null), "Hash for null should be null");
+		assertFalse(crypt.fallback(null, "abc"), "Hash for null should be null");
+		assertFalse(crypt.fallback("abc", null), "Hash for null should NOT be null");
 	}
 
 	private static List<String> get(int count) {
@@ -66,11 +66,11 @@ public abstract class AbstractCryptTest {
 	public void test() {
 		for (String str : get(64)) {
 			String h1 = crypt.hash(str);
-			assertNotNull("Hash should not be null", h1);
+			assertNotNull(h1, "Hash should not be null");
 			String h2 = crypt.hash(str);
-			assertNotEquals("Hashes of same string should NOT be the same", h1,  h2);
-			assertTrue("String should be verified successfully", crypt.verify(str, h1));
-			assertTrue("String should be verified successfully", crypt.verify(str, h2));
+			assertNotEquals(h1,  h2, "Hashes of same string should NOT be the same");
+			assertTrue(crypt.verify(str, h1), "String should be verified successfully");
+			assertTrue(crypt.verify(str, h2), "String should be verified successfully");
 		}
 	}
 }
diff --git a/openmeetings-util/src/test/java/org/apache/openmeetings/util/crypt/TestSCrypt.java b/openmeetings-util/src/test/java/org/apache/openmeetings/util/crypt/TestSCrypt.java
index 724817f..f27d7e1 100644
--- a/openmeetings-util/src/test/java/org/apache/openmeetings/util/crypt/TestSCrypt.java
+++ b/openmeetings-util/src/test/java/org/apache/openmeetings/util/crypt/TestSCrypt.java
@@ -18,28 +18,28 @@
  */
 package org.apache.openmeetings.util.crypt;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 
 public class TestSCrypt extends AbstractCryptTest {
 	private static final String TEST_PASS = "12345";
 	private static final String MD5_HASH = "827ccb0eea8a706c4c34a16891f84e7b";
 	private static final String SHA_HASH = "1000:3C2Sm1yw8NoyEBg8KaJfJMye9GaM8uKDNfUNyPWSbwNI2amKAK10KIrPOQeOV7uLkGCT1Fl5gabBRGjLRSBzi7S8LgaVetiEuCL0d8oVPYT1xtgrmEzx/dIyd7hVaGbol388FVW2Ei7ZxIce8DIOtKmMfrxqoNEZa+ERRAzBGLE=:lbveBdEopW7QuU2jcgv4UeuA1m0eDwfIz+KjWgciF/8TWdLi7utCiy+wm3X2pp0WRffqKEs+wwBh6iJbF2WNPIH06YaB68Q1h34wpxjBdziqAbUiGt2nZiPdKghNNX5j4L0Jp1gGRWpXOrg7V1NqYV6pLmwa+SipQs7MJGCCf+HAcwYW3HNIcp2Rbu9IzH7/t7oJo+FCgL4i1rYVHxrbHhAZCA9hr+dKM6u3S/Ef+EsZfSxCOX2BIRkoqHF4ZlLpwCIf6gmq3m7jenAjz [...]
 
-	@BeforeClass
+	@BeforeAll
 	public static void setup() {
 		crypt = new SCryptImplementation();
 	}
 
 	@Test
 	public void fallbackTest() {
-		assertFalse("MD5 is not valid hash", crypt.verify(TEST_PASS, MD5_HASH));
-		assertFalse("SHA256 is not valid hash", crypt.verify(TEST_PASS, SHA_HASH));
-		assertTrue("MD5 is valid fallback", crypt.fallback(TEST_PASS, MD5_HASH));
-		assertTrue("SHA256 is valid fallback", crypt.fallback(TEST_PASS, SHA_HASH));
-		assertFalse("Fallback can return false", crypt.fallback(TEST_PASS, "abc"));
+		assertFalse(crypt.verify(TEST_PASS, MD5_HASH), "MD5 is not valid hash");
+		assertFalse(crypt.verify(TEST_PASS, SHA_HASH), "SHA256 is not valid hash");
+		assertTrue(crypt.fallback(TEST_PASS, MD5_HASH), "MD5 is valid fallback");
+		assertTrue(crypt.fallback(TEST_PASS, SHA_HASH), "SHA256 is valid fallback");
+		assertFalse(crypt.fallback(TEST_PASS, "abc"), "Fallback can return false");
 	}
 }
diff --git a/openmeetings-web/pom.xml b/openmeetings-web/pom.xml
index 37496e1..6cc8f1b 100644
--- a/openmeetings-web/pom.xml
+++ b/openmeetings-web/pom.xml
@@ -736,5 +736,10 @@
 			<artifactId>mockito-core</artifactId>
 			<scope>test</scope>
 		</dependency>
+		<dependency>
+			<groupId>org.mockito</groupId>
+			<artifactId>mockito-junit-jupiter</artifactId>
+			<scope>test</scope>
+		</dependency>
 	</dependencies>
 </project>
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractJUnitDefaults.java b/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractJUnitDefaults.java
index 2580f56..a89d853 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractJUnitDefaults.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractJUnitDefaults.java
@@ -40,7 +40,7 @@ import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.installation.ImportInitvalues;
 import org.apache.openmeetings.installation.InstallationConfig;
 import org.apache.openmeetings.web.app.Application;
-import org.junit.Before;
+import org.junit.jupiter.api.BeforeEach;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -71,7 +71,7 @@ public abstract class AbstractJUnitDefaults extends AbstractSpringTest {
 	@Autowired
 	protected Application app;
 
-	@Before
+	@BeforeEach
 	public void setUp() throws Exception {
 		if (app.getName() == null) {
 			app.setName(DEFAULT_CONTEXT_NAME);
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractSpringTest.java b/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractSpringTest.java
index e6da66f..3fddd69 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractSpringTest.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractSpringTest.java
@@ -23,18 +23,18 @@ import static org.junit.Assert.fail;
 import org.apache.openmeetings.db.dao.label.LabelDao;
 import org.apache.openmeetings.util.OmFileHelper;
 import org.apache.tomcat.util.scan.Constants;
-import org.junit.BeforeClass;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.TestExecutionListeners;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-@RunWith(SpringJUnit4ClassRunner.class)
+@ExtendWith(SpringExtension.class)
 @TestExecutionListeners({})
 @ContextConfiguration(locations={"classpath:applicationContext.xml"}, inheritLocations = true)
 public abstract class AbstractSpringTest extends AbstractJUnit4SpringContextTests {
-	@BeforeClass
+	@BeforeAll
 	public static void init() {
 		setOmHome();
 		System.setProperty(Constants.SKIP_JARS_PROPERTY, "*");
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/cli/TestAdmin.java b/openmeetings-web/src/test/java/org/apache/openmeetings/cli/TestAdmin.java
index 1623837..6724a73 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/cli/TestAdmin.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/cli/TestAdmin.java
@@ -42,15 +42,15 @@ import java.util.UUID;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.protocol.http.WebApplication;
-import org.junit.After;
 import org.junit.Assert;
-import org.junit.Before;
 import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
 
 public class TestAdmin {
 	private File tempFolder;
 
-	@Before
+	@BeforeEach
 	public void setUp() throws IOException {
 		setOmHome();
 		tempFolder = Files.createTempDirectory("omtempdb").toFile();
@@ -59,7 +59,7 @@ public class TestAdmin {
 		setDerbyHome(tempFolder);
 	}
 
-	@After
+	@AfterEach
 	public void tearDown() throws IOException {
 		resetDerbyHome();
 		System.getProperties().remove(OM_HOME);
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
index 57e7f83..6504e52 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
@@ -23,8 +23,8 @@ import java.util.List;
 import org.apache.openmeetings.AbstractSpringTest;
 import org.apache.openmeetings.db.dao.label.LabelDao;
 import org.junit.After;
-import org.junit.Before;
 import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.BeforeEach;
 import org.openqa.selenium.Keys;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.WebElement;
@@ -90,7 +90,7 @@ public abstract class AbstractTestDefaults extends AbstractSpringTest {
 		return doTearDownAfterTest;
 	}
 
-	@Before
+	@BeforeEach
 	public void setUp() {
 		FirefoxProfile profile = new FirefoxProfile();
 		profile.setPreference("intl.accept_languages", getLocale());
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestUserManagerMocked.java b/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestUserManagerMocked.java
index 2f0032d..4f9127a 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestUserManagerMocked.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestUserManagerMocked.java
@@ -40,14 +40,14 @@ import org.apache.openmeetings.service.mail.EmailManager;
 import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.apache.openmeetings.util.crypt.SCryptImplementation;
 import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.invocation.InvocationOnMock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 import org.mockito.stubbing.Answer;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class TestUserManagerMocked {
 	@Mock
 	private GroupDao groupDao;
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
index 7d6dea2..a2eaa97 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
@@ -52,9 +52,9 @@ import org.apache.openmeetings.web.app.WebSession;
 import org.apache.wicket.behavior.AbstractAjaxBehavior;
 import org.apache.wicket.util.tester.FormTester;
 import org.apache.wicket.util.tester.WicketTester;
-import org.junit.After;
-import org.junit.Before;
 import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -90,7 +90,7 @@ public class TestInstall {
 		System.getProperties().remove(DERBY_HOME);
 	}
 
-	@Before
+	@BeforeEach
 	public void setUp() throws IOException {
 		log.info("Going to perform setup for TestInstall");
 		AbstractSpringTest.setOmHome();
@@ -104,7 +104,7 @@ public class TestInstall {
 		log.info("Setup complete");
 	}
 
-	@After
+	@AfterEach
 	public void tearDown() throws IOException {
 		log.info("Going to perform clean-up for TestInstall");
 		AbstractWicketTester.destroy(tester);
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java
index d2ac7fd..0d0290c 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java
@@ -26,8 +26,8 @@ import static org.apache.openmeetings.AbstractJUnitDefaults.soapUsername;
 import static org.apache.openmeetings.AbstractJUnitDefaults.userpass;
 import static org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
 import static org.apache.openmeetings.util.OmFileHelper.getOmHome;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -59,10 +59,10 @@ import org.apache.openmeetings.db.entity.file.BaseFileItem;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.installation.ImportInitvalues;
 import org.apache.openmeetings.webservice.util.AppointmentMessageBodyReader;
-import org.junit.AfterClass;
 import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
 
 public class AbstractWebServiceTest {
 	private static Tomcat tomcat;
@@ -100,11 +100,11 @@ public class AbstractWebServiceTest {
 
 	public static ServiceResult login(String user, String pass) {
 		ServiceResult sr = loginNoCheck(user, pass);
-		assertEquals("Login should be successful", Type.SUCCESS.name(), sr.getType());
+		assertEquals(Type.SUCCESS.name(), sr.getType(), "Login should be successful");
 		return sr;
 	}
 
-	@BeforeClass
+	@BeforeAll
 	public static void initialize() throws Exception {
 		AbstractSpringTest.init();
 		tomcat = new Tomcat();
@@ -124,12 +124,12 @@ public class AbstractWebServiceTest {
 		port = tomcat.getConnector().getLocalPort();
 	}
 
-	@Before
+	@BeforeEach
 	public void setUp() throws Exception {
 		ensureSchema(getBean(UserDao.class), getBean(ImportInitvalues.class));
 	}
 
-	@AfterClass
+	@AfterAll
 	public static void destroy() throws Exception {
 		if (tomcat.getServer() != null && tomcat.getServer().getState() != LifecycleState.DESTROYED) {
 			if (tomcat.getServer().getState() != LifecycleState.STOPPED) {
@@ -152,17 +152,17 @@ public class AbstractWebServiceTest {
 				.query("sid", sid)
 				.type(APPLICATION_FORM_URLENCODED)
 				.post(new Form().param("room", r.toString()), RoomDTO.class);
-		assertNotNull("Valid room should be returned", room);
-		assertNotNull("Room ID should be not empty", room.getId());
+		assertNotNull(room, "Valid room should be returned");
+		assertNotNull(room.getId(), "Room ID should be not empty");
 
 		RoomDTO room1 = getClient(getRoomUrl()).path(String.format("/%s", room.getId()))
 				.query("sid", sid)
 				.get(RoomDTO.class);
-		assertNotNull("Valid room should be returned", room1);
-		assertEquals("Room with same ID should be returned", room.getId(), room1.getId());
-		assertEquals("Room with same Name should be returned", r.getName(), room1.getName());
-		assertEquals("Room with same ExternalType should be returned", r.getExternalType(), room1.getExternalType());
-		assertEquals("Room with same ExternalId should be returned", r.getExternalId(), room1.getExternalId());
+		assertNotNull(room1, "Valid room should be returned");
+		assertEquals(room.getId(), room1.getId(), "Room with same ID should be returned");
+		assertEquals(r.getName(), room1.getName(), "Room with same Name should be returned");
+		assertEquals(r.getExternalType(), room1.getExternalType(), "Room with same ExternalType should be returned");
+		assertEquals(r.getExternalId(), room1.getExternalId(), "Room with same ExternalId should be returned");
 		//TODO check other fields
 		return new CallResult<>(sid, room1);
 	}
@@ -196,8 +196,8 @@ public class AbstractWebServiceTest {
 					.path("/")
 					.query("sid", r.getMessage())
 					.type(MediaType.MULTIPART_FORM_DATA_TYPE).postCollection(atts, Attachment.class, FileItemDTO.class);
-			assertNotNull("Valid FileItem should be returned", f1);
-			assertNotNull("Valid FileItem should be returned", f1.getId());
+			assertNotNull(f1, "Valid FileItem should be returned");
+			assertNotNull(f1.getId(), "Valid FileItem should be returned");
 		}
 		return new CallResult<>(r.getMessage(), f1);
 	}
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestCalendarService.java b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestCalendarService.java
index b7e54b0..d9daf78 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestCalendarService.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestCalendarService.java
@@ -24,11 +24,11 @@ import static org.apache.openmeetings.AbstractJUnitDefaults.createPass;
 import static org.apache.openmeetings.AbstractJUnitDefaults.createUser;
 import static org.apache.openmeetings.AbstractJUnitDefaults.getAppointment;
 import static org.apache.openmeetings.AbstractJUnitDefaults.getUser;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-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.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 import java.util.ArrayList;
 import java.util.Date;
@@ -53,7 +53,7 @@ import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.user.GroupUser;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.webservice.util.AppointmentParamConverter;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import com.github.openjson.JSONArray;
 import com.github.openjson.JSONObject;
@@ -74,7 +74,7 @@ public class TestCalendarService extends AbstractWebServiceTest {
 
 		AppointmentDTO app = getClient(getCalendarUrl()).path("/room/" + a.getRoom().getId()).query("sid", sr.getMessage())
 				.get(AppointmentDTO.class);
-		assertNotNull("Valid DTO should be returned", app);
+		assertNotNull(app, "Valid DTO should be returned");
 	}
 
 	@Test
@@ -143,11 +143,11 @@ public class TestCalendarService extends AbstractWebServiceTest {
 				.query("sid", sid)
 				.form(new Form().param("appointment", o.toString()));
 
-		assertNotNull("Valid AppointmentDTO should be returned", resp);
-		assertEquals("Call should be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
+		assertNotNull(resp, "Valid AppointmentDTO should be returned");
+		assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus(), "Call should be successful");
 		AppointmentDTO dto = resp.readEntity(AppointmentDTO.class);
-		assertNotNull("Valid DTO should be returned", dto);
-		assertNotNull("DTO id should be valid", dto.getId());
+		assertNotNull(dto, "Valid DTO should be returned");
+		assertNotNull(dto.getId(), "DTO id should be valid");
 
 		return sid;
 	}
@@ -165,7 +165,7 @@ public class TestCalendarService extends AbstractWebServiceTest {
 				.query("sid", sr.getMessage())
 				.delete();
 
-		assertNotEquals("Call should NOT be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
+		assertNotEquals(Response.Status.OK.getStatusCode(), resp.getStatus(), "Call should NOT be successful");
 	}
 
 	@Test
@@ -186,11 +186,11 @@ public class TestCalendarService extends AbstractWebServiceTest {
 				.query("sid", sr.getMessage())
 				.form(new Form().param("appointment", o.toString()));
 
-		assertNotNull("Valid AppointmentDTO should be returned", resp);
-		assertEquals("Call should be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
+		assertNotNull(resp, "Valid AppointmentDTO should be returned");
+		assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus(), "Call should be successful");
 		AppointmentDTO dto = resp.readEntity(AppointmentDTO.class);
-		assertNotNull("Valid DTO should be returned", dto);
-		assertNotNull("DTO id should be valid", dto.getId());
+		assertNotNull(dto, "Valid DTO should be returned");
+		assertNotNull(dto.getId(), "DTO id should be valid");
 	}
 
 	private static AppointmentDTO createEventWithGuests(String sid) throws Exception {
@@ -213,12 +213,12 @@ public class TestCalendarService extends AbstractWebServiceTest {
 				.query("sid", sid)
 				.form(new Form().param("appointment", o.toString()));
 
-		assertNotNull("Valid AppointmentDTO should be returned", resp);
-		assertEquals("Call should be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
+		assertNotNull(resp, "Valid AppointmentDTO should be returned");
+		assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus(), "Call should be successful");
 		AppointmentDTO dto = resp.readEntity(AppointmentDTO.class);
-		assertNotNull("Valid DTO should be returned", dto);
-		assertNotNull("DTO id should be valid", dto.getId());
-		assertEquals("DTO should have 2 attendees", 2, dto.getMeetingMembers().size());
+		assertNotNull(dto, "Valid DTO should be returned");
+		assertNotNull(dto.getId(), "DTO id should be valid");
+		assertEquals(2, dto.getMeetingMembers().size(), "DTO should have 2 attendees");
 		for (MeetingMemberDTO mm : dto.getMeetingMembers()) {
 			assertNotNull("Email should be valid", mm.getUser().getAddress().getEmail());
 		}
@@ -242,12 +242,12 @@ public class TestCalendarService extends AbstractWebServiceTest {
 				.query("sid", sid)
 				.form(new Form().param("appointment", o1.toString()));
 
-		assertNotNull("Valid AppointmentDTO should be returned", resp);
-		assertEquals("Call should be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
+		assertNotNull(resp, "Valid AppointmentDTO should be returned");
+		assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus(), "Call should be successful");
 		dto = resp.readEntity(AppointmentDTO.class);
-		assertNotNull("Valid DTO should be returned", dto);
-		assertNotNull("DTO id should be valid", dto.getId());
-		assertEquals("DTO should have 1 attendees", 1, dto.getMeetingMembers().size());
+		assertNotNull(dto, "Valid DTO should be returned");
+		assertNotNull(dto.getId(), "DTO id should be valid");
+		assertEquals(1, dto.getMeetingMembers().size(), "DTO should have 1 attendees");
 	}
 
 	@Test
@@ -268,18 +268,18 @@ public class TestCalendarService extends AbstractWebServiceTest {
 				.query("sid", sid)
 				.form(new Form().param("appointment", o.toString()));
 
-		assertNotNull("Valid AppointmentDTO should be returned", resp);
-		assertEquals("Call should be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
+		assertNotNull(resp, "Valid AppointmentDTO should be returned");
+		assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus(), "Call should be successful");
 		dto = resp.readEntity(AppointmentDTO.class);
-		assertNotNull("Valid DTO should be returned", dto);
-		assertNotNull("DTO id should be valid", dto.getId());
-		assertEquals("DTO should have 1 attendees", 1, dto.getMeetingMembers().size());
+		assertNotNull(dto, "Valid DTO should be returned");
+		assertNotNull(dto.getId(), "DTO id should be valid");
+		assertEquals(1, dto.getMeetingMembers().size(), "DTO should have 1 attendees");
 
-		assertNull("Meeting member should deleted", mmDao.get(mmId));
-		assertNull("Invitation should deleted", getBean(InvitationDao.class).getByHash(hash, true, false));
+		assertNull(mmDao.get(mmId), "Meeting member should deleted");
+		assertNull(getBean(InvitationDao.class).getByHash(hash, true, false), "Invitation should deleted");
 		User uc = getBean(UserDao.class).get(mmUserId);
-		assertNotNull("Meeting member user should not be deleted", uc);
-		assertFalse("Meeting member user should not be deleted", uc.isDeleted());
+		assertNotNull(uc, "Meeting member user should not be deleted");
+		assertFalse(uc.isDeleted(), "Meeting member user should not be deleted");
 	}
 
 	@Test
@@ -292,8 +292,8 @@ public class TestCalendarService extends AbstractWebServiceTest {
 			.query("sid", sid)
 			.getCollection(AppointmentDTO.class);
 
-		assertEquals("List of one item should be returned", 1, list.size());
-		assertEquals("Title should match", title, list.get(0).getTitle());
+		assertEquals(1, list.size(), "List of one item should be returned");
+		assertEquals(title, list.get(0).getTitle(), "Title should match");
 
 		title = randomUUID().toString();
 		@SuppressWarnings("unchecked")
@@ -301,7 +301,7 @@ public class TestCalendarService extends AbstractWebServiceTest {
 			.path(String.format("/title/%s", title))
 			.query("sid", sid)
 			.getCollection(AppointmentDTO.class);
-		assertEquals("None items should be returned", 0, list1.size());
+		assertEquals(0, list1.size(), "None items should be returned");
 	}
 
 	protected static String getCalendarUrl() {
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestErrorService.java b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestErrorService.java
index b1bcaf1..3ded0b9 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestErrorService.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestErrorService.java
@@ -31,7 +31,6 @@ import org.apache.openmeetings.db.dao.label.LabelDao;
 import org.apache.openmeetings.db.dto.basic.ServiceResult;
 import org.junit.Test;
 
-
 public class TestErrorService extends AbstractWebServiceTest {
 	public static final String ERROR_SERVICE_MOUNT = "error";
 
diff --git a/openmeetings-webservice/src/test/java/org/apache/openmeetings/webservice/TestBaseService.java b/openmeetings-webservice/src/test/java/org/apache/openmeetings/webservice/TestBaseService.java
index 051b965..df15e32 100644
--- a/openmeetings-webservice/src/test/java/org/apache/openmeetings/webservice/TestBaseService.java
+++ b/openmeetings-webservice/src/test/java/org/apache/openmeetings/webservice/TestBaseService.java
@@ -18,17 +18,17 @@
  */
 package org.apache.openmeetings.webservice;
 
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.util.Set;
 
 import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.entity.user.User.Right;
 import org.apache.openmeetings.webservice.error.ServiceException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import com.sun.star.uno.RuntimeException;
 
@@ -38,20 +38,20 @@ public class TestBaseService {
 			r.run();
 			fail("ServiceException expected");
 		} catch (ServiceException e) {
-			assertTrue("expected", true);
+			assertTrue(true, "expected");
 		}
 	}
 
 	@Test
 	public void testCheck() {
 		Sessiondata sd = new BaseWebService() {}.check(null);
-		assertNotNull("NOT null Sessiondata should be returned", sd);
-		assertNull("UserId should be null", sd.getUserId());
+		assertNotNull(sd, "NOT null Sessiondata should be returned");
+		assertNull(sd.getUserId(), "UserId should be null");
 	}
 
 	private static void checkRights(Set<Right> rights) {
-		assertNotNull("NOT null Rights should be returned", rights);
-		assertTrue("Rights should be empty", rights.isEmpty());
+		assertNotNull(rights, "NOT null Rights should be returned");
+		assertTrue(rights.isEmpty(), "Rights should be empty");
 	}
 
 	@Test
diff --git a/pom.xml b/pom.xml
index 11d8882..0af9039 100644
--- a/pom.xml
+++ b/pom.xml
@@ -72,7 +72,7 @@
 		<jacoco-maven-plugin.versoin>0.8.2</jacoco-maven-plugin.versoin>
 		<forbiddenapis.version>2.6</forbiddenapis.version>
 		<!-- dependency versions -->
-		<junit.version>4.12</junit.version>
+		<junit.version>5.4.2</junit.version>
 		<wicket.version>8.5.0-SNAPSHOT</wicket.version>
 		<wicketju.version>8.3.0</wicketju.version>
 		<wickets.version>8.4.0</wickets.version>
@@ -657,6 +657,12 @@
 				<scope>test</scope>
 			</dependency>
 			<dependency>
+				<groupId>org.mockito</groupId>
+				<artifactId>mockito-junit-jupiter</artifactId>
+				<version>${mockito.version}</version>
+				<scope>test</scope>
+			</dependency>
+			<dependency>
 				<groupId>org.powermock</groupId>
 				<artifactId>powermock-module-junit4</artifactId>
 				<version>${powermock.version}</version>
@@ -678,8 +684,14 @@
 	</dependencyManagement>
 	<dependencies>
 		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
+			<groupId>org.junit.jupiter</groupId>
+			<artifactId>junit-jupiter-api</artifactId>
+			<version>${junit.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.junit.jupiter</groupId>
+			<artifactId>junit-jupiter-engine</artifactId>
 			<version>${junit.version}</version>
 			<scope>test</scope>
 		</dependency>
@@ -875,14 +887,10 @@
 						<includes>
 							<include>**/Test*.java</include>
 						</includes>
+						<excludes>
+							<exclude/>
+						</excludes>
 					</configuration>
-					<dependencies>
-						<dependency>
-							<groupId>org.apache.maven.surefire</groupId>
-							<artifactId>surefire-junit47</artifactId>
-							<version>${maven-surefire-plugin.version}</version>
-						</dependency>
-					</dependencies>
 				</plugin>
 				<plugin>
 					<groupId>org.apache.maven.plugins</groupId>