You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2018/09/26 13:39:46 UTC

[16/45] wicket git commit: wicket-core: Migrate to Junit 5

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/model/PropertyModelTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/model/PropertyModelTest.java b/wicket-core/src/test/java/org/apache/wicket/model/PropertyModelTest.java
index b7b8109..ca72596 100644
--- a/wicket-core/src/test/java/org/apache/wicket/model/PropertyModelTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/model/PropertyModelTest.java
@@ -16,12 +16,15 @@
  */
 package org.apache.wicket.model;
 
-import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.util.tester.WicketTestCase;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test class for exercising the {@link PropertyModel}.
@@ -44,7 +47,7 @@ public class PropertyModelTest extends WicketTestCase
 	public static abstract class AbstractAddress implements IAddress
 	{
 		/** street field for assignment in property expressions. */
-		public String street;
+		String street;
 	}
 
 	/**
@@ -58,16 +61,16 @@ public class PropertyModelTest extends WicketTestCase
 	/**
 	 * Person class for keeping the various different references for use in the test cases.
 	 */
-	public static class Person
+	static class Person
 	{
 		/** tests a <code>null</code> interface property. */
 		public IAddress interfaceAddress;
 		/** tests a <code>null</code> abstract class property. */
 		public AbstractAddress abstractAddress;
 		/** tests a <code>null</code> concrete class property. */
-		public ConcreteAddress concreteAddress;
+		ConcreteAddress concreteAddress;
 		/** tests a <code>null</code> final concrete class property. */
-		public final ConcreteAddress finalAddress = null;
+		final ConcreteAddress finalAddress = null;
 	}
 
 	/**
@@ -76,7 +79,7 @@ public class PropertyModelTest extends WicketTestCase
 	 * instantiate on behalf of the program.
 	 */
 	@Test
-	public void setWithNullPathInterface()
+	void setWithNullPathInterface()
 	{
 		Person person = new Person();
 		PropertyModel<String> model = new PropertyModel<String>(person, "interfaceAddress.street");
@@ -96,12 +99,15 @@ public class PropertyModelTest extends WicketTestCase
 	 * abstract class type. This should end in an exception because Wicket can't decide what to
 	 * instantiate on behalf of the program.
 	 */
-	@Test(expected = WicketRuntimeException.class)
-	public void setWithNullPathAbstract()
+	@Test
+	void setWithNullPathAbstract()
 	{
 		Person person = new Person();
 		PropertyModel<String> model = new PropertyModel<String>(person, "abstractAddress.street");
-		model.setObject("foo");
+		assertThrows(WicketRuntimeException.class, ()->{
+			model.setObject("foo");
+		});
+
 	}
 
 	/**
@@ -110,13 +116,13 @@ public class PropertyModelTest extends WicketTestCase
 	 * the program: the concrete class.
 	 */
 	@Test
-	public void setWithNullPathConcrete()
+	void setWithNullPathConcrete()
 	{
 		Person person = new Person();
 		PropertyModel<String> model = new PropertyModel<String>(person, "concreteAddress.street");
 		model.setObject("foo");
-		assertNotNull("concreteAddress", person.concreteAddress);
-		assertThat(person.concreteAddress, instanceOf(ConcreteAddress.class));
+		assertNotNull(person.concreteAddress, "concreteAddress");
+		assertThat(person.concreteAddress).isInstanceOf(ConcreteAddress.class);
 		assertEquals("foo", person.concreteAddress.street);
 	}
 
@@ -125,13 +131,13 @@ public class PropertyModelTest extends WicketTestCase
 	 * should pass when run using JDK 1.5 or newer.
 	 */
 	@Test
-	public void setWithNullPathFinalJdk15()
+	void setWithNullPathFinalJdk15()
 	{
 		Person person = new Person();
 		PropertyModel<String> model = new PropertyModel<String>(person, "finalAddress.street");
 
 		model.setObject("foo");
-		assertThat(person.finalAddress, instanceOf(ConcreteAddress.class));
+		assertThat(person.finalAddress).isInstanceOf(ConcreteAddress.class);
 		assertEquals("foo", person.finalAddress.street);
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/model/PropertyModelWithListTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/model/PropertyModelWithListTest.java b/wicket-core/src/test/java/org/apache/wicket/model/PropertyModelWithListTest.java
index c0ee2da..db98435 100644
--- a/wicket-core/src/test/java/org/apache/wicket/model/PropertyModelWithListTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/model/PropertyModelWithListTest.java
@@ -16,21 +16,22 @@
  */
 package org.apache.wicket.model;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
 import java.util.ArrayList;
 import java.util.List;
 
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * https://issues.apache.org/jira/browse/WICKET-3929
  * 
  * @author Carl-Eric Menzel
  */
-public class PropertyModelWithListTest extends Assert
+class PropertyModelWithListTest
 {
 	/** */
-	public static class BeansContainer
+	static class BeansContainer
 	{
 		private List<Bean> beans = new ArrayList<Bean>();
 
@@ -38,7 +39,7 @@ public class PropertyModelWithListTest extends Assert
 		 * @return the beans
 		 * 
 		 */
-		public List<Bean> getBeans()
+		List<Bean> getBeans()
 		{
 			return beans;
 		}
@@ -54,7 +55,7 @@ public class PropertyModelWithListTest extends Assert
 	}
 
 	/** */
-	public static class Bean
+	static class Bean
 	{
 		private String text;
 
@@ -70,7 +71,7 @@ public class PropertyModelWithListTest extends Assert
 		 * @param text
 		 *            the bean's text
 		 */
-		public void setText(String text)
+		void setText(String text)
 		{
 			this.text = text;
 		}
@@ -81,7 +82,7 @@ public class PropertyModelWithListTest extends Assert
 	 * @throws Exception
 	 */
 	@Test
-	public void listPropertyModel() throws Exception
+	void listPropertyModel() throws Exception
 	{
 		List<Bean> beans = new ArrayList<PropertyModelWithListTest.Bean>();
 		Bean bean = new Bean();
@@ -95,7 +96,7 @@ public class PropertyModelWithListTest extends Assert
 	 * @throws Exception
 	 */
 	@Test
-	public void containerPropertyModel() throws Exception
+	void containerPropertyModel() throws Exception
 	{
 		BeansContainer container = new BeansContainer();
 		Bean bean = new Bean();
@@ -109,7 +110,7 @@ public class PropertyModelWithListTest extends Assert
 	 * @throws Exception
 	 */
 	@Test
-	public void nestedListPropertyModel() throws Exception
+	void nestedListPropertyModel() throws Exception
 	{
 		List<List<Bean>> outer = new ArrayList<List<Bean>>();
 		List<Bean> inner = new ArrayList<Bean>();

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/model/ResourceModelTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/model/ResourceModelTest.java b/wicket-core/src/test/java/org/apache/wicket/model/ResourceModelTest.java
index b076e6d..8060aa8 100644
--- a/wicket-core/src/test/java/org/apache/wicket/model/ResourceModelTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/model/ResourceModelTest.java
@@ -16,10 +16,12 @@
  */
 package org.apache.wicket.model;
 
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.util.tester.WicketTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Tests {@link ResourceModel}.
@@ -36,7 +38,7 @@ public class ResourceModelTest extends WicketTestCase
 		/**
 		 * Construct.
 		 */
-		public TestPage()
+        public TestPage()
 		{
 			add(new Label("testlabel", new ResourceModel("testlabel")));
 
@@ -58,7 +60,7 @@ public class ResourceModelTest extends WicketTestCase
 	 * @throws Exception
 	 */
 	@Test
-	public void resourceModel() throws Exception
+	void resourceModel() throws Exception
 	{
 		executeTest(TestPage.class, "ResourceModelTest$TestPage_expected.html");
 	}
@@ -67,7 +69,7 @@ public class ResourceModelTest extends WicketTestCase
 	 * Test forwarding of detach().
 	 */
 	@Test
-	public void detaching()
+	void detaching()
 	{
 
 		final boolean[] detached = { false };
@@ -89,6 +91,6 @@ public class ResourceModelTest extends WicketTestCase
 		wrapped.getObject();
 		wrapped.detach();
 
-		assertTrue(null, detached[0]);
+		assertTrue(detached[0]);
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest.java b/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest.java
index be5314e..986d389 100644
--- a/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/model/StringResourceModelTest.java
@@ -16,6 +16,13 @@
  */
 package org.apache.wicket.model;
 
+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;
+
 import java.io.Serializable;
 import java.text.MessageFormat;
 import java.util.Calendar;
@@ -25,8 +32,8 @@ import org.apache.wicket.Session;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.util.tester.WicketTestCase;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test cases for the {@link StringResourceModel}.
@@ -44,8 +51,8 @@ public class StringResourceModelTest extends WicketTestCase
 	/**
 	 * @throws Exception
 	 */
-	@Before
-	public void before() throws Exception
+	@BeforeEach
+	void before() throws Exception
 	{
 		page = new TestPage();
 		ws = new WeatherStation();
@@ -55,84 +62,81 @@ public class StringResourceModelTest extends WicketTestCase
 
 	/** */
 	@Test
-	public void getSimpleResource()
+	void getSimpleResource()
 	{
 		StringResourceModel model = new StringResourceModel("simple.text", page);
-		assertEquals("Text should be as expected", "Simple text", model.getString());
-		assertEquals("Text should be as expected", "Simple text", model.getObject());
+		assertEquals("Simple text", model.getString(), "Text should be as expected");
+		assertEquals("Simple text", model.getObject(), "Text should be as expected");
 	}
 
 	/** */
 	@Test
-	public void getWrappedOnAssignmentResource()
+	void getWrappedOnAssignmentResource()
 	{
-		Label label1 = new Label("resourceModelWithComponent", new StringResourceModel(
-			"wrappedOnAssignment.text", page));
+		Label label1 = new Label("resourceModelWithComponent",
+			new StringResourceModel("wrappedOnAssignment.text", page));
 		page.add(label1);
-		assertEquals("Text should be as expected", "Non-wrapped text",
-			label1.getDefaultModelObject());
+		assertEquals("Non-wrapped text", label1.getDefaultModelObject(),
+			"Text should be as expected");
 
-		Label label2 = new Label("resourceModelWithoutComponent", new StringResourceModel(
-			"wrappedOnAssignment.text"));
+		Label label2 = new Label("resourceModelWithoutComponent",
+			new StringResourceModel("wrappedOnAssignment.text"));
 		page.add(label2);
-		assertEquals("Text should be as expected", "Wrapped text",
-			label2.getDefaultModelObject());
+		assertEquals("Wrapped text", label2.getDefaultModelObject(), "Text should be as expected");
 	}
 
 	/** */
-	@Test(expected = IllegalArgumentException.class)
-	public void nullResourceKey()
+	@Test
+	void nullResourceKey()
 	{
-		new StringResourceModel(null, page);
+		assertThrows(IllegalArgumentException.class, () -> {
+			new StringResourceModel(null, page);
+
+		});
 	}
 
 	/** */
 	@Test
-	public void getSimpleResourceWithKeySubstitution()
+	void getSimpleResourceWithKeySubstitution()
 	{
-		StringResourceModel model = new StringResourceModel("weather.${currentStatus}", page, wsModel);
-		assertEquals("Text should be as expected", "It's sunny, wear sunscreen",
-			model.getString());
+		StringResourceModel model = new StringResourceModel("weather.${currentStatus}", page,
+			wsModel);
+		assertEquals("It's sunny, wear sunscreen", model.getString(), "Text should be as expected");
 		ws.setCurrentStatus("raining");
-		assertEquals("Text should be as expected", "It's raining, take an umbrella",
-			model.getString());
+		assertEquals("It's raining, take an umbrella",
+			model.getString(), "Text should be as expected");
 		ws.setCurrentStatus(null);
-		assertEquals("Text should be as expected", "It's ... i don't know",
-			model.getString());
+		assertEquals("It's ... i don't know", model.getString(), "Text should be as expected");
 	}
 
 	/** */
 	@Test
-	public void getSimpleResourceWithKeySubstitutionForNonString()
+	void getSimpleResourceWithKeySubstitutionForNonString()
 	{
 		// German uses comma (,) as decimal separator
 		Session.get().setLocale(Locale.GERMAN);
 
-		StringResourceModel model = new StringResourceModel("weather.${currentTemperature}", page, wsModel);
-		assertEquals("Text should be as expected", "Twenty-five dot seven",
-			model.getString());
+		StringResourceModel model = new StringResourceModel("weather.${currentTemperature}", page,
+			wsModel);
+		assertEquals("Twenty-five dot seven", model.getString(), "Text should be as expected");
 	}
 
 	/** */
 	@Test
-	public void getPropertySubstitutedResource()
+	void getPropertySubstitutedResource()
 	{
 		tester.getSession().setLocale(Locale.ENGLISH);
 		StringResourceModel model = new StringResourceModel("weather.message", page, wsModel);
-		assertEquals(
-			"Text should be as expected",
-			"Weather station \"Europe's main weather station\" reports that the temperature is 25.7 \u00B0C",
-			model.getString());
+		assertEquals("Weather station \"Europe's main weather station\" reports that the temperature is 25.7 \u00B0C",
+			model.getString(), "Text should be as expected");
 		ws.setCurrentTemperature(11.5);
-		assertEquals(
-			"Text should be as expected",
-			"Weather station \"Europe's main weather station\" reports that the temperature is 11.5 \u00B0C",
-			model.getString());
+		assertEquals("Weather station \"Europe's main weather station\" reports that the temperature is 11.5 \u00B0C",
+			model.getString(), "Text should be as expected");
 	}
 
 	/** */
 	@Test
-	public void substitutedPropertyAndParameterResource()
+	void substitutedPropertyAndParameterResource()
 	{
 		StringResourceModel model = new StringResourceModel("weather.mixed", page).setModel(wsModel)
 			.setParameters(new PropertyModel<Double>(wsModel, "currentTemperature"),
@@ -143,68 +147,71 @@ public class StringResourceModelTest extends WicketTestCase
 
 		ws.setCurrentTemperature(25.7);
 		String expected = format.format(new Object[] { 25.7, "\u00B0C" });
-		assertEquals("Text should be as expected", expected, model.getString());
+		assertEquals(expected, model.getString(), "Text should be as expected");
 
 		ws.setCurrentTemperature(11.5);
 		expected = format.format(new Object[] { 11.5, "\u00B0C" });
-		assertEquals("Text should be as expected", expected, model.getString());
+		assertEquals(expected, model.getString(), "Text should be as expected");
 	}
 
 	/** */
 	@Test
-	public void substitutionParametersResource()
+	void substitutionParametersResource()
 	{
 		Calendar cal = Calendar.getInstance();
 		cal.set(2004, Calendar.OCTOBER, 15, 13, 21);
 		MessageFormat format = new MessageFormat(
 			"The report for {0,date,medium}, shows the temperature as {2,number,###.##} {3} and the weather to be {1}",
 			page.getLocale());
-		StringResourceModel model = new StringResourceModel("weather.detail", page).setModel(wsModel)
+		StringResourceModel model = new StringResourceModel("weather.detail", page)
+			.setModel(wsModel)
 			.setParameters(cal.getTime(), "${currentStatus}",
 				new PropertyModel<Double>(wsModel, "currentTemperature"),
 				new PropertyModel<String>(wsModel, "units"));
 		String expected = format.format(new Object[] { cal.getTime(), "sunny", 25.7, "\u00B0C" });
-		assertEquals("Text should be as expected", expected, model.getString());
+		assertEquals(expected, model.getString(), "Text should be as expected");
 		ws.setCurrentStatus("raining");
 		ws.setCurrentTemperature(11.568);
 		expected = format.format(new Object[] { cal.getTime(), "raining", 11.568, "\u00B0C" });
-		assertEquals("Text should be as expected", expected, model.getString());
+		assertEquals(expected, model.getString(), "Text should be as expected");
 	}
 
 	/** */
 	@Test
-	public void substitutionParametersResourceWithSingleQuote()
+	void substitutionParametersResourceWithSingleQuote()
 	{
 		tester.getSession().setLocale(Locale.ENGLISH);
-		StringResourceModel model = new StringResourceModel("with.quote", page).setParameters(10, 20);
+		StringResourceModel model = new StringResourceModel("with.quote", page).setParameters(10,
+			20);
 		assertEquals("2010.00", model.getString());
 	}
 
 	/** */
 	@Test
-	public void textResourceWithSubstitutionAndSingleQuote()
+	void textResourceWithSubstitutionAndSingleQuote()
 	{
 		tester.getSession().setLocale(Locale.ENGLISH);
 
 		StringResourceModel model = new StringResourceModel("with.quote.and.no.substitution", page);
 		assertEquals("Let's play in the rain!", model.getString());
 
-		model = new StringResourceModel("with.quote.substitution", page)
-			.setParameters("rain!");
+		model = new StringResourceModel("with.quote.substitution", page).setParameters("rain!");
 		assertEquals("Let's play in the rain!", model.getString());
 	}
 
 	/** */
-	@Test(expected = UnsupportedOperationException.class)
-	public void setObject()
+	@Test
+	void setObject()
 	{
 		StringResourceModel model = new StringResourceModel("simple.text", page);
-		model.setObject("Some value");
+		assertThrows(UnsupportedOperationException.class, () -> {
+			model.setObject("Some value");
+		});
 	}
 
 	/** */
 	@Test
-	public void detachAttachDetachableModel()
+	void detachAttachDetachableModel()
 	{
 		IModel<WeatherStation> wsDetachModel = new LoadableDetachableModel<WeatherStation>()
 		{
@@ -227,7 +234,7 @@ public class StringResourceModelTest extends WicketTestCase
 	 * https://issues.apache.org/jira/browse/WICKET-4323
 	 */
 	@Test
-	public void detachSubstituteModelFromAssignmentWrapper()
+	void detachSubstituteModelFromAssignmentWrapper()
 	{
 		IModel<WeatherStation> nullOnDetachModel = new Model<WeatherStation>()
 		{
@@ -241,16 +248,16 @@ public class StringResourceModelTest extends WicketTestCase
 		};
 
 		nullOnDetachModel.setObject(ws);
-		Label label1 = new Label("resourceModelWithComponent", new StringResourceModel(
-			"wrappedOnAssignment.text", page, nullOnDetachModel));
+		Label label1 = new Label("resourceModelWithComponent",
+			new StringResourceModel("wrappedOnAssignment.text", page, nullOnDetachModel));
 		page.add(label1);
 		label1.getDefaultModelObject();
 		label1.detach();
 		assertNull(nullOnDetachModel.getObject());
 
 		nullOnDetachModel.setObject(ws);
-		Label label2 = new Label("resourceModelWithoutComponent", new StringResourceModel(
-			"wrappedOnAssignment.text").setModel(nullOnDetachModel));
+		Label label2 = new Label("resourceModelWithoutComponent",
+			new StringResourceModel("wrappedOnAssignment.text").setModel(nullOnDetachModel));
 		page.add(label2);
 		label2.getDefaultModelObject();
 		label2.detach();
@@ -261,33 +268,40 @@ public class StringResourceModelTest extends WicketTestCase
 	 * https://issues.apache.org/jira/browse/WICKET-5176
 	 */
 	@Test
-	public void detachEvenNotAttached() {
+	void detachEvenNotAttached()
+	{
 		Wicket5176Model wrappedModel = new Wicket5176Model();
-		StringResourceModel stringResourceModel = new StringResourceModel("test").setModel(wrappedModel);
+		StringResourceModel stringResourceModel = new StringResourceModel("test")
+			.setModel(wrappedModel);
 		assertFalse(stringResourceModel.isAttached());
 		assertTrue(wrappedModel.isAttached());
 		stringResourceModel.detach();
 		assertFalse(wrappedModel.isAttached());
 	}
 
-	private static class Wicket5176Model implements IModel {
+	private static class Wicket5176Model implements IModel
+	{
 		private boolean attached = true;
 
 		@Override
-		public Object getObject() {
+		public Object getObject()
+		{
 			return null;
 		}
 
 		@Override
-		public void setObject(Object object) {
+		public void setObject(Object object)
+		{
 		}
 
 		@Override
-		public void detach() {
+		public void detach()
+		{
 			attached = false;
 		}
 
-		private boolean isAttached() {
+		private boolean isAttached()
+		{
 			return attached;
 		}
 	}
@@ -316,7 +330,7 @@ public class StringResourceModelTest extends WicketTestCase
 		/**
 		 * @param currentStatus
 		 */
-		public void setCurrentStatus(String currentStatus)
+		void setCurrentStatus(String currentStatus)
 		{
 			this.currentStatus = currentStatus;
 		}
@@ -332,7 +346,7 @@ public class StringResourceModelTest extends WicketTestCase
 		/**
 		 * @param currentTemperature
 		 */
-		public void setCurrentTemperature(double currentTemperature)
+		void setCurrentTemperature(double currentTemperature)
 		{
 			this.currentTemperature = currentTemperature;
 		}
@@ -364,7 +378,7 @@ public class StringResourceModelTest extends WicketTestCase
 		/**
 		 * Construct.
 		 */
-		public TestPage()
+		TestPage()
 		{
 		}
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/model/TestHomePage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/model/TestHomePage.java b/wicket-core/src/test/java/org/apache/wicket/model/TestHomePage.java
index 828ba02..461f2a5 100644
--- a/wicket-core/src/test/java/org/apache/wicket/model/TestHomePage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/model/TestHomePage.java
@@ -18,15 +18,15 @@ package org.apache.wicket.model;
 
 import org.apache.wicket.util.tester.FormTester;
 import org.apache.wicket.util.tester.WicketTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Simple test for CompoundPropertyModel and id's like "A.B"
  */
-public class TestHomePage extends WicketTestCase
+class TestHomePage extends WicketTestCase
 {
 	@Test
-	public void testRenderMyPage()
+    void testRenderMyPage()
 	{
 		// start and render the test page
 		tester.startPage(HomePage.class);

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/noheadnobody/NoHeadNoBodyTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/noheadnobody/NoHeadNoBodyTest.java b/wicket-core/src/test/java/org/apache/wicket/noheadnobody/NoHeadNoBodyTest.java
index 305bbb9..21f8c77 100644
--- a/wicket-core/src/test/java/org/apache/wicket/noheadnobody/NoHeadNoBodyTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/noheadnobody/NoHeadNoBodyTest.java
@@ -16,7 +16,8 @@
  */
 package org.apache.wicket.noheadnobody;
 
-import static org.hamcrest.Matchers.is;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.util.concurrent.atomic.AtomicBoolean;
 
@@ -25,7 +26,7 @@ import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.mock.MockHomePage;
 import org.apache.wicket.resource.CoreLibrariesContributor;
 import org.apache.wicket.util.tester.WicketTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Tests that if a page has neither &lt;head&gt; nor &lt;body&gt;
@@ -34,10 +35,10 @@ import org.junit.Test;
  *
  * https://issues.apache.org/jira/browse/WICKET-5895
  */
-public class NoHeadNoBodyTest extends WicketTestCase
+class NoHeadNoBodyTest extends WicketTestCase
 {
 	@Test
-	public void noHeadNoBody()
+	void noHeadNoBody()
 	{
 		final AtomicBoolean reported = new AtomicBoolean(false);
 
@@ -51,14 +52,14 @@ public class NoHeadNoBodyTest extends WicketTestCase
 		};
 
 		tester.startPage(page);
-		assertThat(reported.get(), is(true));
+		assertEquals(true, reported.get());
 	}
 
 	/**
 	 * https://issues.apache.org/jira/browse/WICKET-5955
 	 */
 	@Test
-	public void interceptedRenderDoesNotReportMissingHeader()
+	void interceptedRenderDoesNotReportMissingHeader()
 	{
 		tester.startPage(new MockHomePage()
 		{

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/page/PageAccessSynchronizerTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/page/PageAccessSynchronizerTest.java b/wicket-core/src/test/java/org/apache/wicket/page/PageAccessSynchronizerTest.java
index e2053df..c686d6a 100644
--- a/wicket-core/src/test/java/org/apache/wicket/page/PageAccessSynchronizerTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/page/PageAccessSynchronizerTest.java
@@ -16,44 +16,43 @@
  */
 package org.apache.wicket.page;
 
+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.Random;
 import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.wicket.MockPage;
 import org.apache.wicket.core.util.lang.WicketObjects;
 import org.apache.wicket.mock.MockPageManager;
 import org.apache.wicket.page.PageAccessSynchronizer.PageLock;
-import org.apache.wicket.util.SlowTests;
+import org.apache.wicket.util.WicketTestTag;
 import org.apache.wicket.util.time.Duration;
 import org.apache.wicket.util.time.Time;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.Timeout;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  */
-@Category(SlowTests.class)
-public class PageAccessSynchronizerTest extends Assert
+@Tag(WicketTestTag.SLOW)
+class PageAccessSynchronizerTest
 {
 	private static final Logger logger = LoggerFactory.getLogger(PageAccessSynchronizerTest.class);
 
-	/**	 */
-	@Rule
-	public Timeout globalTimeout = new Timeout(30, TimeUnit.SECONDS);
+	// TODO had a 30 second timeout rule, Junit 5 atm does not support timeouts (see discussion at
+	// https://github.com/junit-team/junit5/issues/80)
 
 	/**
 	 * @throws Exception
 	 */
 	@Test
-	public void testReentrant() throws Exception
+	void testReentrant() throws Exception
 	{
 		final PageAccessSynchronizer sync = new PageAccessSynchronizer(Duration.seconds(5));
 		sync.lockPage(0);
@@ -64,7 +63,7 @@ public class PageAccessSynchronizerTest extends Assert
 	 * @throws Exception
 	 */
 	@Test
-	public void testBlocking() throws Exception
+	void testBlocking() throws Exception
 	{
 		final PageAccessSynchronizer sync = new PageAccessSynchronizer(Duration.seconds(5));
 		final Duration hold = Duration.seconds(1);
@@ -114,7 +113,7 @@ public class PageAccessSynchronizerTest extends Assert
 	 * @param duration
 	 * @throws Exception
 	 */
-	public void runContentionTest(final int pages, final int workers, final Duration duration)
+	private void runContentionTest(final int pages, final int workers, final Duration duration)
 		throws Exception
 	{
 		final PageAccessSynchronizer sync = new PageAccessSynchronizer(Duration.seconds(1));
@@ -251,7 +250,7 @@ public class PageAccessSynchronizerTest extends Assert
 	 * @throws Exception
 	 */
 	@Test
-	public void testConcurrency() throws Exception
+	void testConcurrency() throws Exception
 	{
 		runContentionTest(20, 10, Duration.seconds(10));
 	}
@@ -260,7 +259,7 @@ public class PageAccessSynchronizerTest extends Assert
 	 * @throws Exception
 	 */
 	@Test
-	public void testContention() throws Exception
+	void testContention() throws Exception
 	{
 		runContentionTest(10, 20, Duration.seconds(10));
 	}
@@ -269,14 +268,14 @@ public class PageAccessSynchronizerTest extends Assert
 	 * @throws Exception
 	 */
 	@Test
-	public void testSerialization() throws Exception
+	void testSerialization() throws Exception
 	{
 		// a simple worker that acquires a lock on page 5
 		class Locker extends Thread
 		{
 			private final PageAccessSynchronizer sync;
 
-			public Locker(PageAccessSynchronizer sync)
+			Locker(PageAccessSynchronizer sync)
 			{
 				this.sync = sync;
 			}
@@ -312,7 +311,7 @@ public class PageAccessSynchronizerTest extends Assert
 	 * https://issues.apache.org/jira/browse/WICKET-4009
 	 */
 	@Test
-	public void unlockIfNoSuchPage()
+	void unlockIfNoSuchPage()
 	{
 		PageAccessSynchronizer synchronizer = new PageAccessSynchronizer(Duration.seconds(2));
 		IPageManager pageManager = new MockPageManager();
@@ -336,15 +335,16 @@ public class PageAccessSynchronizerTest extends Assert
 	 * @throws Exception
 	 */
 	@Test
-	public void failToReleaseUnderLoad() throws Exception
+	void failToReleaseUnderLoad() throws Exception
 	{
 		final Duration duration = Duration.seconds(20); /* seconds */
 		final ConcurrentLinkedQueue<Exception> errors = new ConcurrentLinkedQueue<Exception>();
 		final long endTime = System.currentTimeMillis() + duration.getMilliseconds();
 
-		// set the synchronizer timeout one second longer than the test runs to prevent 
+		// set the synchronizer timeout one second longer than the test runs to prevent
 		// starvation to become an issue
-		final PageAccessSynchronizer sync = new PageAccessSynchronizer(duration.add(Duration.ONE_SECOND));
+		final PageAccessSynchronizer sync = new PageAccessSynchronizer(
+			duration.add(Duration.ONE_SECOND));
 
 		final CountDownLatch latch = new CountDownLatch(100);
 		for (int count = 0; count < 100; count++)

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/page/PersistentPageManagerTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/page/PersistentPageManagerTest.java b/wicket-core/src/test/java/org/apache/wicket/page/PersistentPageManagerTest.java
index 23fe264..04c4f19 100644
--- a/wicket-core/src/test/java/org/apache/wicket/page/PersistentPageManagerTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/page/PersistentPageManagerTest.java
@@ -16,8 +16,9 @@
  */
 package org.apache.wicket.page;
 
-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.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
@@ -32,13 +33,12 @@ import org.apache.wicket.pageStore.IPageStore;
 import org.apache.wicket.pageStore.memory.DummyPageManagerContext;
 import org.apache.wicket.serialize.java.JavaSerializer;
 import org.apache.wicket.versioning.InMemoryPageStore;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * @author Pedro Santos
  */
-public class PersistentPageManagerTest
+class PersistentPageManagerTest
 {
 	private static final String APP_NAME = "test_app";
 
@@ -52,7 +52,7 @@ public class PersistentPageManagerTest
 	 * @throws IOException
 	 */
 	@Test
-	public void serializationOutsideWicketLifecyle() throws IOException, ClassNotFoundException
+	void serializationOutsideWicketLifecyle() throws IOException, ClassNotFoundException
 	{
 		// make sure no leaked threadlocals are present
 		ThreadContext.detach();
@@ -71,26 +71,24 @@ public class PersistentPageManagerTest
 
 		// simulate persisting of the http sessions initiated by the web container
 		byte[] serializedSessionEntry = new JavaSerializer(APP_NAME).serialize(sessionEntry);
-		assertNotNull("Wicket needs to be able to serialize the session entry",
-			serializedSessionEntry);
+		assertNotNull(serializedSessionEntry,
+			"Wicket needs to be able to serialize the session entry");
 
 		// simulate loading of the persisted http session initiated by the web container
 		// when starting an application
-		ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(
-			serializedSessionEntry));
+		ObjectInputStream in = new ObjectInputStream(
+			new ByteArrayInputStream(serializedSessionEntry));
 
 		// WicketFilter is not initialized so there is no Application available yet
-		Assert.assertFalse("Worker thread should be unaware of Wicket application",
-			Application.exists());
+		assertFalse(Application.exists(), "Worker thread should be unaware of Wicket application");
 
 		assertEquals(APP_NAME, in.readObject());
 
 		// without available IPageStore the read SessionEntry holds
 		// the IManageablePage itself, not SerializedPage
 		Serializable loadedSessionEntry = (Serializable)in.readObject();
-		assertNotNull(
-			"Wicket needs to be able to deserialize the session entry regardless the application availability",
-			loadedSessionEntry);
+		assertNotNull(loadedSessionEntry,
+			"Wicket needs to be able to deserialize the session entry regardless the application availability");
 
 		// provide new IPageStore which will read IManageablePage's or SerializedPage's
 		// from the SessionEntry's

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/page/XmlPartialPageUpdateTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/page/XmlPartialPageUpdateTest.java b/wicket-core/src/test/java/org/apache/wicket/page/XmlPartialPageUpdateTest.java
index a7570de..c5a3089 100644
--- a/wicket-core/src/test/java/org/apache/wicket/page/XmlPartialPageUpdateTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/page/XmlPartialPageUpdateTest.java
@@ -16,24 +16,27 @@
  */
 package org.apache.wicket.page;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+
 import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.parser.filter.HtmlHeaderSectionHandler;
 import org.apache.wicket.mock.MockWebResponse;
 import org.apache.wicket.util.tester.WicketTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test for {@link XmlPartialPageUpdate}.
  */
-public class XmlPartialPageUpdateTest extends WicketTestCase 
+class XmlPartialPageUpdateTest extends WicketTestCase
 {
 
 	/**
 	 * CData start "]]>" has to be encoded in "]]]]><![CDATA[>".
 	 */
 	@Test
-	public void encodeCdataEnd() 
+	void encodeCdataEnd()
 	{
 		PageForPartialUpdate page = new PageForPartialUpdate();
 		
@@ -59,7 +62,7 @@ public class XmlPartialPageUpdateTest extends WicketTestCase
 	 * see https://issues.apache.org/jira/browse/WICKET-6162
 	 */
 	@Test
-	public void keepTheSameHeaderContainer() throws Exception
+	void keepTheSameHeaderContainer() throws Exception
 	{
 		PageForPartialUpdate page = new PageForPartialUpdate();
 		
@@ -82,7 +85,7 @@ public class XmlPartialPageUpdateTest extends WicketTestCase
 	 * WICKET-6503 removed components are not written, but no exception raised either. 
 	 */
 	@Test
-	public void removedComponentAreNotWritten() throws Exception
+	void removedComponentAreNotWritten() throws Exception
 	{
 		PageForPartialUpdate page = new PageForPartialUpdate();
 		
@@ -96,6 +99,6 @@ public class XmlPartialPageUpdateTest extends WicketTestCase
 		
 		update.writeTo(response, "UTF-8");
 		
-		assertFalse("notInPage not written", response.getTextResponse().toString().contains("notInPage"));
+		assertFalse(response.getTextResponse().toString().contains("notInPage"), "notInPage not written");
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/page/expirationrecovery/PageExpirationRecoveryTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/page/expirationrecovery/PageExpirationRecoveryTest.java b/wicket-core/src/test/java/org/apache/wicket/page/expirationrecovery/PageExpirationRecoveryTest.java
index 88e94d1..29bbd3a 100644
--- a/wicket-core/src/test/java/org/apache/wicket/page/expirationrecovery/PageExpirationRecoveryTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/page/expirationrecovery/PageExpirationRecoveryTest.java
@@ -16,16 +16,18 @@
  */
 package org.apache.wicket.page.expirationrecovery;
 
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.is;
+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;
 
 import org.apache.wicket.protocol.http.PageExpiredException;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.settings.PageSettings;
 import org.apache.wicket.util.tester.FormTester;
 import org.apache.wicket.util.tester.WicketTestCase;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 /**
  * Tests for
@@ -33,15 +35,15 @@ import org.junit.Test;
  * WICKET-5070 Optionally execute Callback Behavior on Re-construction after Expiry
  * WICKET-5001 Recovery of bookmarkable Page after Session Expiry
  */
-public class PageExpirationRecoveryTest extends WicketTestCase
+class PageExpirationRecoveryTest extends WicketTestCase
 {
 
 	private final PageParameters parameters = new PageParameters()
 			.set("a", "b")
 			.set("c", "d");
 
-	@Before
-	public void before()
+	@BeforeEach
+	void before()
 	{
 		tester.getApplication().mountPage("under/test", ExpirationRecoveryPage.class);
 
@@ -52,8 +54,8 @@ public class PageExpirationRecoveryTest extends WicketTestCase
 		ExpirationRecoveryPage.ajaxSubmitLinkSubmitted.set(false);
 	}
 
-	@Test(expected = PageExpiredException.class)
-	public void cannotRecreatePageShouldThrowPEE()
+	@Test
+	void cannotRecreatePageShouldThrowPEE()
 	{
 		PageSettings pageSettings = tester.getApplication().getPageSettings();
 		pageSettings.setRecreateBookmarkablePagesAfterExpiry(false); // CANNOT recreate
@@ -64,11 +66,14 @@ public class PageExpirationRecoveryTest extends WicketTestCase
 		tester.getSession().invalidateNow();
 
 		assertFalse(page.linkClicked.get());
-		tester.clickLink("link", false); // leads to PageExpiredException
+
+		assertThrows(PageExpiredException.class, () -> {
+			tester.clickLink("link", false);
+		});
 	}
 
 	@Test
-	public void cannotExecuteListener()
+	void cannotExecuteListener()
 	{
 		PageSettings pageSettings = tester.getApplication().getPageSettings();
 		pageSettings.setRecreateBookmarkablePagesAfterExpiry(true); // CAN recreate
@@ -83,33 +88,33 @@ public class PageExpirationRecoveryTest extends WicketTestCase
 		tester.clickLink("link", false);
 		page = (ExpirationRecoveryPage) tester.getLastRenderedPage();
 		// the page is properly recreated
-		assertEquals("PageParameters should be preserved", parameters, page.getPageParameters());
+		assertEquals(parameters, page.getPageParameters(), "PageParameters should be preserved");
 		// but the listener interface is not executed
-		assertFalse("Link should not be clicked!", page.linkClicked.get());
+		assertFalse(page.linkClicked.get(), "Link should not be clicked!");
 
 
 		tester.getSession().invalidateNow();
 		assertFalse(page.ajaxLinkClicked.get());
 		tester.clickLink("alink", true);
 		page = (ExpirationRecoveryPage) tester.getLastRenderedPage();
-		assertFalse("AjaxLink should not be clicked!", page.ajaxLinkClicked.get());
-		assertEquals("PageParameters should be preserved", parameters, page.getPageParameters());
+		assertFalse(page.ajaxLinkClicked.get(), "AjaxLink should not be clicked!");
+		assertEquals(parameters, page.getPageParameters(), "PageParameters should be preserved");
 
 
 		tester.getSession().invalidateNow();
 		assertFalse(page.submitLinkSubmitted.get());
 		tester.clickLink("f:sl", false);
 		page = (ExpirationRecoveryPage) tester.getLastRenderedPage();
-		assertFalse("SubmitLink should not be submitted!", page.submitLinkSubmitted.get());
-		assertEquals("PageParameters should be preserved", parameters, page.getPageParameters());
+		assertFalse(page.submitLinkSubmitted.get(), "SubmitLink should not be submitted!");
+		assertEquals(parameters, page.getPageParameters(), "PageParameters should be preserved");
 
 
 		tester.getSession().invalidateNow();
 		assertFalse(page.ajaxSubmitLinkSubmitted.get());
 		tester.clickLink("f:asl", true);
 		page = (ExpirationRecoveryPage) tester.getLastRenderedPage();
-		assertFalse("AjaxSubmitLink should not be submitted", page.ajaxSubmitLinkSubmitted.get());
-		assertEquals("PageParameters should be preserved", parameters, page.getPageParameters());
+		assertFalse(page.ajaxSubmitLinkSubmitted.get(), "AjaxSubmitLink should not be submitted");
+		assertEquals(parameters, page.getPageParameters(), "PageParameters should be preserved");
 
 
 		tester.getSession().invalidateNow();
@@ -119,36 +124,36 @@ public class PageExpirationRecoveryTest extends WicketTestCase
 		formTester.setValue("text", "newValue");
 		formTester.submit();
 		page = (ExpirationRecoveryPage) tester.getLastRenderedPage();
-		assertFalse("Form should not be submitted", page.formSubmitted.get());
-		assertEquals("TextField's value should not be modified", textOldValue, page.textModel.getObject());
-		assertEquals("PageParameters should be preserved", parameters, page.getPageParameters());
+		assertFalse(page.formSubmitted.get(), "Form should not be submitted");
+		assertEquals(textOldValue, page.textModel.getObject(), "TextField's value should not be modified");
+		assertEquals(parameters, page.getPageParameters(), "PageParameters should be preserved");
 	}
 
 	@Test
-	public void canExecuteListener()
+	void canExecuteListener()
 	{
 		PageSettings pageSettings = tester.getApplication().getPageSettings();
 		pageSettings.setCallListenerAfterExpiry(true);
 		pageSettings.setRecreateBookmarkablePagesAfterExpiry(true);
 
 		ExpirationRecoveryPage page = tester.startPage(ExpirationRecoveryPage.class, parameters);
-		assertThat(parameters, is(equalTo(page.getPageParameters())));
+		assertEquals(page.getPageParameters(), parameters);
 
 
 		tester.getSession().invalidateNow();
 		assertFalse(page.linkClicked.get());
 		tester.clickLink("link", false);
 		page = (ExpirationRecoveryPage) tester.getLastRenderedPage();
-		assertTrue("Link should be clicked!", page.linkClicked.get());
-		assertEquals("PageParameters should be preserved", parameters, page.getPageParameters());
+		assertTrue(page.linkClicked.get(), "Link should be clicked!");
+		assertEquals(parameters, page.getPageParameters(), "PageParameters should be preserved");
 
 
 		tester.getSession().invalidateNow();
 		assertFalse(page.ajaxLinkClicked.get());
 		tester.clickLink("alink", true);
 		page = (ExpirationRecoveryPage) tester.getLastRenderedPage();
-		assertTrue("AjaxLink should be clicked!", page.ajaxLinkClicked.get());
-		assertEquals("PageParameters should be preserved", parameters, page.getPageParameters());
+		assertTrue(page.ajaxLinkClicked.get(), "AjaxLink should be clicked!");
+		assertEquals(parameters, page.getPageParameters(), "PageParameters should be preserved");
 
 
 		tester.getSession().invalidateNow();
@@ -158,24 +163,24 @@ public class PageExpirationRecoveryTest extends WicketTestCase
 		formTester.setValue("text", newValue);
 		formTester.submit();
 		page = (ExpirationRecoveryPage) tester.getLastRenderedPage();
-		assertTrue("Form should be submitted", page.formSubmitted.get());
-		assertEquals("TextField's value should be modified", newValue, page.textModel.getObject());
-		assertEquals("PageParameters should be preserved", parameters, page.getPageParameters());
+		assertTrue(page.formSubmitted.get(), "Form should be submitted");
+		assertEquals(newValue, page.textModel.getObject(), "TextField's value should be modified");
+		assertEquals(parameters, page.getPageParameters(), "PageParameters should be preserved");
 
 
 		tester.getSession().invalidateNow();
 		assertFalse(page.submitLinkSubmitted.get());
 		tester.clickLink("f:sl", false);
 		page = (ExpirationRecoveryPage) tester.getLastRenderedPage();
-		assertTrue("SubmitLink should be submitted!", page.submitLinkSubmitted.get());
-		assertEquals("PageParameters should be preserved", parameters, page.getPageParameters());
+		assertTrue(page.submitLinkSubmitted.get(), "SubmitLink should be submitted!");
+		assertEquals(parameters, page.getPageParameters(), "PageParameters should be preserved");
 
 
 		tester.getSession().invalidateNow();
 		assertFalse(page.ajaxSubmitLinkSubmitted.get());
 		tester.clickLink("f:asl", true);
 		page = (ExpirationRecoveryPage) tester.getLastRenderedPage();
-		assertTrue("AjaxSubmitLink should be submitted", page.ajaxSubmitLinkSubmitted.get());
-		assertEquals("PageParameters should be preserved", parameters, page.getPageParameters());
+		assertTrue(page.ajaxSubmitLinkSubmitted.get(), "AjaxSubmitLink should be submitted");
+		assertEquals(parameters, page.getPageParameters(), "PageParameters should be preserved");
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/page/persistent/disk/PageWindowManagerTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/page/persistent/disk/PageWindowManagerTest.java b/wicket-core/src/test/java/org/apache/wicket/page/persistent/disk/PageWindowManagerTest.java
index 1270800..c4ae2fa 100644
--- a/wicket-core/src/test/java/org/apache/wicket/page/persistent/disk/PageWindowManagerTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/page/persistent/disk/PageWindowManagerTest.java
@@ -16,6 +16,11 @@
  */
 package org.apache.wicket.page.persistent.disk;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 import java.security.SecureRandom;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutorService;
@@ -23,19 +28,18 @@ import java.util.concurrent.Executors;
 
 import org.apache.wicket.pageStore.PageWindowManager;
 import org.apache.wicket.pageStore.PageWindowManager.PageWindow;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * @author Matej Knopp
  */
-public class PageWindowManagerTest extends Assert
+public class PageWindowManagerTest
 {
 	/**
 	 * https://issues.apache.org/jira/browse/WICKET-4572
 	 */
 	@Test
-	public void removeObsoleteIndices()
+	void removeObsoleteIndices()
 	{
 		int page0id = 0,
 			page1id = 1,
@@ -56,21 +60,21 @@ public class PageWindowManagerTest extends Assert
 		assertWindow(page1Window, page1id, page1Window.getFilePartOffset(), page1Window.getFilePartSize());
 
 		// Try to get a page which has been lost with the adding of page1
-		assertNull("Page0 must be lost when Page1 has been added.", manager.getPageWindow(page0id));
+		assertNull(manager.getPageWindow(page0id), "Page0 must be lost when Page1 has been added.");
 
 		manager.createPageWindow(page2id, maxSize);
 		PageWindow page2Window = manager.getPageWindow(page2id);
 		assertWindow(page2Window, page2id, page2Window.getFilePartOffset(), page2Window.getFilePartSize());
 
 		// Try to get a page which has been lost with the adding of page2
-		assertNull("Page1 must be lost when Page2 has been added.", manager.getPageWindow(page1id));
+		assertNull(manager.getPageWindow(page1id), "Page1 must be lost when Page2 has been added.");
 	}
 
 	/**
 	 * 
 	 */
 	@Test
-	public void addRemove()
+	void addRemove()
 	{
 		PageWindowManager manager = new PageWindowManager(300);
 		PageWindow window;
@@ -99,7 +103,7 @@ public class PageWindowManagerTest extends Assert
 	 * 
 	 */
 	@Test
-	public void pageWindowCycle()
+	void pageWindowCycle()
 	{
 		PageWindowManager manager = new PageWindowManager(100);
 		PageWindow window;
@@ -211,7 +215,7 @@ public class PageWindowManagerTest extends Assert
 	 * @throws Exception
 	 */
 	@Test
-	public void randomOperations() throws Exception
+	void randomOperations() throws Exception
 	{
 		ExecutorService executorService = Executors.newFixedThreadPool(50);
 
@@ -229,7 +233,7 @@ public class PageWindowManagerTest extends Assert
 		/** the ids for the stored/removed pages */
 		private static final int[] PAGE_IDS = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
 
-		protected final PageWindowManager pageWindowManager;
+		final PageWindowManager pageWindowManager;
 
 		private AbstractTask(PageWindowManager pageWindowManager)
 		{
@@ -251,7 +255,7 @@ public class PageWindowManagerTest extends Assert
 			}
 		}
 
-		protected int getPageId()
+		int getPageId()
 		{
 			return PAGE_IDS[RND.nextInt(PAGE_IDS.length)];
 		}

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/pageStore/AbstractPageStoreTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/pageStore/AbstractPageStoreTest.java b/wicket-core/src/test/java/org/apache/wicket/pageStore/AbstractPageStoreTest.java
index 0ab35fd..17dd2c3 100644
--- a/wicket-core/src/test/java/org/apache/wicket/pageStore/AbstractPageStoreTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/pageStore/AbstractPageStoreTest.java
@@ -16,33 +16,35 @@
  */
 package org.apache.wicket.pageStore;
 
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
 import org.apache.wicket.MockPage;
 import org.apache.wicket.serialize.ISerializer;
 import org.apache.wicket.serialize.java.JavaSerializer;
-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;
+import org.junit.jupiter.api.Test;
 
-public abstract class AbstractPageStoreTest extends Assert
+abstract class AbstractPageStoreTest
 {
-	protected final String sessionId = "1234567890";
-	protected final int pageId = 123;
-	protected final ISerializer serializer = new JavaSerializer(getClass().getName());
-	protected final IDataStore dataStore = new NoopDataStore();
-	protected int maxEntries = 1;
-	protected IPageStore pageStore = null;
-
-	@Before
-	public void before()
+	final String sessionId = "1234567890";
+	final int pageId = 123;
+	private final ISerializer serializer = new JavaSerializer(getClass().getName());
+	private final IDataStore dataStore = new NoopDataStore();
+	private int maxEntries = 1;
+	IPageStore pageStore = null;
+
+	@BeforeEach
+	void before()
 	{
 		pageStore = createPageStore(serializer, dataStore, maxEntries);
 	}
 
-	protected abstract IPageStore createPageStore(ISerializer serializer, IDataStore dataStore, int maxEntries);
+	abstract IPageStore createPageStore(ISerializer serializer, IDataStore dataStore, int maxEntries);
 
-	@After
-	public void after()
+	@AfterEach
+	void after()
 	{
 		if (pageStore != null)
 		{
@@ -55,7 +57,7 @@ public abstract class AbstractPageStoreTest extends Assert
 	 * Assert that a stored page is available to be read
 	 */
 	@Test
-	public void storePage()
+	void storePage()
 	{
 		pageStore.storePage(sessionId, new MockPage(pageId));
 
@@ -66,7 +68,7 @@ public abstract class AbstractPageStoreTest extends Assert
 	 * Assert that storing a page twice won't keep two entries
 	 */
 	@Test
-	public void storePage2()
+	void storePage2()
 	{
 		int maxEntries = 10;
 
@@ -83,7 +85,7 @@ public abstract class AbstractPageStoreTest extends Assert
 	}
 
 	@Test
-	public void removePage()
+	void removePage()
 	{
 		pageStore.storePage(sessionId, new MockPage(pageId));
 
@@ -98,7 +100,7 @@ public abstract class AbstractPageStoreTest extends Assert
 	 * Verify that at most {@code maxEntries} per session can be put in the cache
 	 */
 	@Test
-	public void maxSizeSameSession()
+	void maxSizeSameSession()
 	{
 		pageStore.storePage(sessionId, new MockPage(pageId));
 
@@ -115,7 +117,7 @@ public abstract class AbstractPageStoreTest extends Assert
 	 * if they are in different sessions
 	 */
 	@Test
-	public void maxSizeDifferentSessions()
+	void maxSizeDifferentSessions()
 	{
 		String sessionId2 = "0987654321";
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/pageStore/AsynchronousDataStoreTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/pageStore/AsynchronousDataStoreTest.java b/wicket-core/src/test/java/org/apache/wicket/pageStore/AsynchronousDataStoreTest.java
index 7f5b2c1..3c02261 100644
--- a/wicket-core/src/test/java/org/apache/wicket/pageStore/AsynchronousDataStoreTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/pageStore/AsynchronousDataStoreTest.java
@@ -22,7 +22,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
 import org.apache.wicket.versioning.InMemoryPageStore;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Tests for {@link AsynchronousDataStore}
@@ -63,7 +63,7 @@ public class AsynchronousDataStoreTest
 	 * @throws Exception
 	 */
 	@Test
-	public void randomOperations() throws Exception
+    void randomOperations() throws Exception
 	{
 		ExecutorService executorService = Executors.newFixedThreadPool(50);
 
@@ -94,12 +94,12 @@ public class AsynchronousDataStoreTest
 			}
 		}
 
-		protected String getSessionId()
+		String getSessionId()
 		{
 			return SESSIONS[RND.nextInt(SESSIONS.length)];
 		}
 
-		protected int getPageId()
+		int getPageId()
 		{
 			return PAGE_IDS[RND.nextInt(PAGE_IDS.length)];
 		}

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/pageStore/AsynchronousPageStoreTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/pageStore/AsynchronousPageStoreTest.java b/wicket-core/src/test/java/org/apache/wicket/pageStore/AsynchronousPageStoreTest.java
index 4b17f69..b4fb451 100644
--- a/wicket-core/src/test/java/org/apache/wicket/pageStore/AsynchronousPageStoreTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/pageStore/AsynchronousPageStoreTest.java
@@ -16,9 +16,9 @@
  */
 package org.apache.wicket.pageStore;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
@@ -30,18 +30,18 @@ import java.util.List;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import com.google.common.base.Stopwatch;
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.wicket.page.IManageablePage;
 import org.apache.wicket.serialize.ISerializer;
 import org.apache.wicket.serialize.java.DeflatedJavaSerializer;
-import org.apache.wicket.util.SlowTests;
+import org.apache.wicket.util.WicketTestTag;
 import org.apache.wicket.util.file.File;
 import org.apache.wicket.util.lang.Bytes;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import com.google.common.base.Stopwatch;
 
 
 /**
@@ -49,8 +49,8 @@ import org.slf4j.LoggerFactory;
  *
  * @author manuelbarzi
  */
-@Category(SlowTests.class)
-public class AsynchronousPageStoreTest
+@Tag(WicketTestTag.SLOW)
+class AsynchronousPageStoreTest
 {
 	/** Log for reporting. */
 	private static final Logger log = LoggerFactory.getLogger(AsynchronousPageStoreTest.class);
@@ -153,7 +153,7 @@ public class AsynchronousPageStoreTest
 	 * @throws InterruptedException
 	 */
 	@Test
-	public void storeReturnsSameInstanceOnClosePageRequest() throws InterruptedException
+	void storeReturnsSameInstanceOnClosePageRequest() throws InterruptedException
 	{
 
 		ISerializer serializer = new DeflatedJavaSerializer("applicationKey");
@@ -189,7 +189,7 @@ public class AsynchronousPageStoreTest
 	 * @throws InterruptedException
 	 */
 	@Test
-	public void storeReturnsRestoredInstanceOnDistantPageRequest() throws InterruptedException
+	void storeReturnsRestoredInstanceOnDistantPageRequest() throws InterruptedException
 	{
 
 		ISerializer serializer = new DeflatedJavaSerializer("applicationKey");
@@ -225,7 +225,7 @@ public class AsynchronousPageStoreTest
 	 * @throws InterruptedException
 	 */
 	@Test
-	public void storeBehavesAsyncWhenNotExceedingStoreCapacity() throws InterruptedException
+	void storeBehavesAsyncWhenNotExceedingStoreCapacity() throws InterruptedException
 	{
 		int sessions = 2;
 		int pages = 5;
@@ -254,7 +254,7 @@ public class AsynchronousPageStoreTest
 	 * @throws InterruptedException
 	 */
 	@Test
-	public void storeBehavesSyncFromWhenExceedingStoreCapacity() throws InterruptedException
+	void storeBehavesSyncFromWhenExceedingStoreCapacity() throws InterruptedException
 	{
 		int sessions = 2;
 		int pages = 5;

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/pageStore/DiskDataStoreTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/pageStore/DiskDataStoreTest.java b/wicket-core/src/test/java/org/apache/wicket/pageStore/DiskDataStoreTest.java
index e69ead6..9187f79 100644
--- a/wicket-core/src/test/java/org/apache/wicket/pageStore/DiskDataStoreTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/pageStore/DiskDataStoreTest.java
@@ -16,6 +16,10 @@
  */
 package org.apache.wicket.pageStore;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -27,18 +31,17 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.wicket.settings.StoreSettings;
-import org.apache.wicket.util.SlowTests;
+import org.apache.wicket.util.WicketTestTag;
 import org.apache.wicket.util.lang.Bytes;
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  */
-@Category(SlowTests.class)
-public class DiskDataStoreTest extends Assert
+@Tag(WicketTestTag.SLOW)
+public class DiskDataStoreTest
 {
 	/** Log for reporting. */
 	private static final Logger log = LoggerFactory.getLogger(DiskDataStoreTest.class);
@@ -46,7 +49,7 @@ public class DiskDataStoreTest extends Assert
 	/**
 	 * Construct.
 	 */
-	public DiskDataStoreTest()
+	DiskDataStoreTest()
 	{
 	}
 
@@ -69,23 +72,23 @@ public class DiskDataStoreTest extends Assert
 		private byte last;
 		private int length;
 
-		public File(String sessionId, int id)
+		File(String sessionId, int id)
 		{
 			this.sessionId = sessionId;
 			this.id = id;
 		}
 
-		public String getSessionId()
+		String getSessionId()
 		{
 			return sessionId;
 		}
 
-		public int getId()
+		int getId()
 		{
 			return id;
 		}
 
-		public byte[] generateData()
+		byte[] generateData()
 		{
 			length = FILE_SIZE_MIN + random.nextInt(FILE_SIZE_MAX - FILE_SIZE_MIN);
 			byte data[] = new byte[length];
@@ -95,7 +98,7 @@ public class DiskDataStoreTest extends Assert
 			return data;
 		}
 
-		public boolean checkData(byte data[])
+		boolean checkData(byte data[])
 		{
 			if (data == null)
 			{
@@ -364,7 +367,7 @@ public class DiskDataStoreTest extends Assert
 	 * store()
 	 */
 	@Test
-	public void store()
+	void store()
 	{
 		generateFiles();
 
@@ -387,7 +390,7 @@ public class DiskDataStoreTest extends Assert
 	 * it is put in folders which names are automatically calculated on the fly.
 	 */
 	@Test
-	public void sessionFolderName()
+	void sessionFolderName()
 	{
 		StoreSettings storeSettings = new StoreSettings(null);
 		java.io.File fileStoreFolder = storeSettings.getFileStoreFolder();

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/pageStore/NoopDataStore.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/pageStore/NoopDataStore.java b/wicket-core/src/test/java/org/apache/wicket/pageStore/NoopDataStore.java
index 0cadaee..8242d4f 100644
--- a/wicket-core/src/test/java/org/apache/wicket/pageStore/NoopDataStore.java
+++ b/wicket-core/src/test/java/org/apache/wicket/pageStore/NoopDataStore.java
@@ -19,7 +19,7 @@ package org.apache.wicket.pageStore;
 /**
  * An implementation of IDataStore that does nothing
  */
-public class NoopDataStore implements IDataStore
+class NoopDataStore implements IDataStore
 {
 	@Override
 	public byte[] getData(String sessionId, int id)

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/pageStore/PerSessionPageStoreTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/pageStore/PerSessionPageStoreTest.java b/wicket-core/src/test/java/org/apache/wicket/pageStore/PerSessionPageStoreTest.java
index 0cd4a2a..7205659 100644
--- a/wicket-core/src/test/java/org/apache/wicket/pageStore/PerSessionPageStoreTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/pageStore/PerSessionPageStoreTest.java
@@ -16,9 +16,11 @@
  */
 package org.apache.wicket.pageStore;
 
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
 import org.apache.wicket.MockPage;
 import org.apache.wicket.serialize.ISerializer;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Tests for PerSessionPageStore
@@ -26,7 +28,7 @@ import org.junit.Test;
 public class PerSessionPageStoreTest extends AbstractPageStoreTest
 {
 	@Override
-	protected IPageStore createPageStore(ISerializer serializer, IDataStore dataStore, int maxEntries)
+	IPageStore createPageStore(ISerializer serializer, IDataStore dataStore, int maxEntries)
 	{
 		return new PerSessionPageStore(serializer, dataStore, maxEntries);
 	}
@@ -37,7 +39,7 @@ public class PerSessionPageStoreTest extends AbstractPageStoreTest
 	 */
 	@Test
 	@Override
-	public void maxSizeDifferentSessions()
+	void maxSizeDifferentSessions()
 	{
 		String sessionId2 = "0987654321";
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/DummyPageManagerContext.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/DummyPageManagerContext.java b/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/DummyPageManagerContext.java
index 99d4c90..6018ded 100644
--- a/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/DummyPageManagerContext.java
+++ b/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/DummyPageManagerContext.java
@@ -25,8 +25,8 @@ import org.apache.wicket.page.IPageManagerContext;
 public class DummyPageManagerContext implements IPageManagerContext
 {
 
-	Serializable attribute = null;
-	Object requestData;
+	private Serializable attribute = null;
+	private Object requestData;
 
 	@Override
 	public void setRequestData(Object data)

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/HttpSessionDataStoreTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/HttpSessionDataStoreTest.java b/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/HttpSessionDataStoreTest.java
index 10b5268..a1010c4 100644
--- a/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/HttpSessionDataStoreTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/HttpSessionDataStoreTest.java
@@ -16,31 +16,33 @@
  */
 package org.apache.wicket.pageStore.memory;
 
-import static org.junit.Assert.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 import org.apache.wicket.util.tester.WicketTestCase;
-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.junit.jupiter.api.Test;
 
 /**
  */
-public class HttpSessionDataStoreTest extends WicketTestCase
+class HttpSessionDataStoreTest extends WicketTestCase
 {
-	final String sessionId = "anything";
+	private final String sessionId = "anything";
 
-	final int pageId = 1;
+	private final int pageId = 1;
 
-	final byte[] PAGE1 = new byte[] { 1 };
+	private final byte[] PAGE1 = new byte[] { 1 };
 	final byte[] PAGE2 = new byte[] { 2 };
 
-	HttpSessionDataStore store;
+	private HttpSessionDataStore store;
 
 	/**
 	 * before()
 	 */
-	@Before
-	public void before()
+	@BeforeEach
+    void before()
 	{
 		store = new HttpSessionDataStore(new DummyPageManagerContext(), new NoopEvictionStrategy());
 	}
@@ -48,8 +50,8 @@ public class HttpSessionDataStoreTest extends WicketTestCase
 	/**
 	 * after()
 	 */
-	@After
-	public void after()
+	@AfterEach
+    void after()
 	{
 		store.destroy();
 	}
@@ -58,7 +60,7 @@ public class HttpSessionDataStoreTest extends WicketTestCase
 	 * storePage()
 	 */
 	@Test
-	public void storePage()
+    void storePage()
 	{
 		assertNull(store.getData(sessionId, pageId));
 
@@ -70,7 +72,7 @@ public class HttpSessionDataStoreTest extends WicketTestCase
 	 * removePage1()
 	 */
 	@Test
-	public void removePage1()
+    void removePage1()
 	{
 		assertNull(store.getData(sessionId, pageId));
 
@@ -87,7 +89,7 @@ public class HttpSessionDataStoreTest extends WicketTestCase
 	 * removePage2()
 	 */
 	@Test
-	public void removePage2()
+    void removePage2()
 	{
 		assertNull(store.getData(sessionId, pageId));
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/MemorySizeEvictionStrategyTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/MemorySizeEvictionStrategyTest.java b/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/MemorySizeEvictionStrategyTest.java
index 50033fa..daacc62 100644
--- a/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/MemorySizeEvictionStrategyTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/MemorySizeEvictionStrategyTest.java
@@ -16,22 +16,22 @@
  */
 package org.apache.wicket.pageStore.memory;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import org.apache.wicket.util.lang.Bytes;
 import org.apache.wicket.core.util.lang.WicketObjects;
-import org.junit.Test;
+import org.apache.wicket.util.lang.Bytes;
+import org.junit.jupiter.api.Test;
 
 /***/
-public class MemorySizeEvictionStrategyTest
+class MemorySizeEvictionStrategyTest
 {
-	final byte[] PAGE1 = new byte[] { 1 };
-	final byte[] PAGE2 = new byte[] { 2, 3 };
+	private final byte[] PAGE1 = new byte[] { 1 };
+	private final byte[] PAGE2 = new byte[] { 2, 3 };
 
 	/***/
 	@Test
-	public void evict()
+	void evict()
 	{
 		PageTable pageTable = new PageTable();
 
@@ -45,8 +45,8 @@ public class MemorySizeEvictionStrategyTest
 		strategy.evict(pageTable);
 		assertEquals(0, pageTable.size());
 		long currentSize = WicketObjects.sizeof(pageTable);
-		assertTrue("Current size: |" + currentSize + "|, strategy size: |" + sizeOfEmptyPageTable +
-			"|", currentSize <= sizeOfEmptyPageTable);
+		assertTrue(currentSize <= sizeOfEmptyPageTable, "Current size: |" + currentSize + "|, strategy size: |" + sizeOfEmptyPageTable +
+				"|");
 
 		// evict to page table with size: empty + PAGE2
 		pageTable.storePage(PAGE2.length, PAGE2);
@@ -59,7 +59,6 @@ public class MemorySizeEvictionStrategyTest
 		// bigger size than PAGE1
 		assertEquals(1, pageTable.size());
 		currentSize = WicketObjects.sizeof(pageTable);
-		assertTrue("Current size: |" + currentSize + "|, strategy size: |" + sizeOfWithPage2 + "|",
-			currentSize <= sizeOfWithPage2);
+		assertTrue(currentSize <= sizeOfWithPage2, "Current size: |" + currentSize + "|, strategy size: |" + sizeOfWithPage2 + "|");
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/PageNumberEvictionStrategyTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/PageNumberEvictionStrategyTest.java b/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/PageNumberEvictionStrategyTest.java
index d3bf35b..f0ca167 100644
--- a/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/PageNumberEvictionStrategyTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/PageNumberEvictionStrategyTest.java
@@ -16,22 +16,23 @@
  */
 package org.apache.wicket.pageStore.memory;
 
-import static org.junit.Assert.assertEquals;
-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.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /***/
-public class PageNumberEvictionStrategyTest
+class PageNumberEvictionStrategyTest
 {
 
-	final byte[] PAGE1 = new byte[] { 1 };
-	final byte[] PAGE2 = new byte[] { 2, 3 };
+	private final byte[] PAGE1 = new byte[] { 1 };
+	private final byte[] PAGE2 = new byte[] { 2, 3 };
 
 	/***/
 	@Test
-	public void evict()
+	void evict()
 	{
 		// evict to page table with one page only
 		PageNumberEvictionStrategy strategy = new PageNumberEvictionStrategy(1);
@@ -55,9 +56,11 @@ public class PageNumberEvictionStrategyTest
 	/**
 	 * The number of pages must be at least '1'
 	 */
-	@Test(expected = IllegalArgumentException.class)
-	public void greaterThanZero()
+	@Test
+	void greaterThanZero()
 	{
-		new PageNumberEvictionStrategy(0);
+		assertThrows(IllegalArgumentException.class, () -> {
+			new PageNumberEvictionStrategy(0);
+		});
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/PageTableTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/PageTableTest.java b/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/PageTableTest.java
index 062068f..9c03545 100644
--- a/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/PageTableTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/pageStore/memory/PageTableTest.java
@@ -16,20 +16,20 @@
  */
 package org.apache.wicket.pageStore.memory;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /***/
-public class PageTableTest
+class PageTableTest
 {
 
-	final byte[] data = new byte[] { 1 };
+	private final byte[] data = new byte[] { 1 };
 
 	/***/
 	@Test
-	public void getOldest()
+	void getOldest()
 	{
 		PageTable pageTable = new PageTable();
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/properties/MyTesterApplication.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/properties/MyTesterApplication.java b/wicket-core/src/test/java/org/apache/wicket/properties/MyTesterApplication.java
index 556d08b..ef9c704 100644
--- a/wicket-core/src/test/java/org/apache/wicket/properties/MyTesterApplication.java
+++ b/wicket-core/src/test/java/org/apache/wicket/properties/MyTesterApplication.java
@@ -20,7 +20,7 @@ import org.apache.wicket.mock.MockApplication;
 
 /**
  */
-public class MyTesterApplication extends MockApplication
+class MyTesterApplication extends MockApplication
 {
 
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/properties/PropertiesTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/properties/PropertiesTest.java b/wicket-core/src/test/java/org/apache/wicket/properties/PropertiesTest.java
index a5fbc64..da1f76a 100644
--- a/wicket-core/src/test/java/org/apache/wicket/properties/PropertiesTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/properties/PropertiesTest.java
@@ -16,17 +16,19 @@
  */
 package org.apache.wicket.properties;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
 import java.util.Locale;
 
 import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.util.tester.WicketTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * 
  * @author Juergen Donnerstag
  */
-public class PropertiesTest extends WicketTestCase
+class PropertiesTest extends WicketTestCase
 {
 	@Override
 	protected WebApplication newApplication()
@@ -37,7 +39,7 @@ public class PropertiesTest extends WicketTestCase
 	/**
 	 */
 	@Test
-	public void test_1()
+	void test_1()
 	{
 		tester.getSession().setLocale(Locale.GERMANY);
 		tester.getSession().setStyle("mystyle");
@@ -58,7 +60,7 @@ public class PropertiesTest extends WicketTestCase
 	/**
 	 */
 	@Test
-	public void test_2()
+	void test_2()
 	{
 		tester.getSession().setLocale(Locale.GERMANY);
 		TestPage page = new TestPage()

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/properties/TestPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/properties/TestPage.java b/wicket-core/src/test/java/org/apache/wicket/properties/TestPage.java
index e11aa65..6ff7c85 100644
--- a/wicket-core/src/test/java/org/apache/wicket/properties/TestPage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/properties/TestPage.java
@@ -223,7 +223,7 @@ public class TestPage extends WebPage
 		 * @param id
 		 * @param input
 		 */
-		public MyTextField(final String id, final String input)
+        MyTextField(final String id, final String input)
 		{
 			super(id);
 			this.input = input;

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/protocol/http/AbstractRequestLoggerTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/protocol/http/AbstractRequestLoggerTest.java b/wicket-core/src/test/java/org/apache/wicket/protocol/http/AbstractRequestLoggerTest.java
index 86ec61e..d72574d 100644
--- a/wicket-core/src/test/java/org/apache/wicket/protocol/http/AbstractRequestLoggerTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/protocol/http/AbstractRequestLoggerTest.java
@@ -16,19 +16,21 @@
  */
 package org.apache.wicket.protocol.http;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
 import org.apache.wicket.protocol.http.IRequestLogger.RequestData;
 import org.apache.wicket.util.tester.WicketTestCase;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test for {@link AbstractRequestLogger}.
  */
-public class AbstractRequestLoggerTest extends WicketTestCase
+class AbstractRequestLoggerTest extends WicketTestCase
 {
 	private int counter;
 	
 	@Test
-	public void foo()
+	void foo()
 	{
 		tester.getApplication().getRequestLoggerSettings().setRequestsWindowSize(4);
 		

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/protocol/http/BufferedWebResponseTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/protocol/http/BufferedWebResponseTest.java b/wicket-core/src/test/java/org/apache/wicket/protocol/http/BufferedWebResponseTest.java
index bf71075..9f1d2e1 100644
--- a/wicket-core/src/test/java/org/apache/wicket/protocol/http/BufferedWebResponseTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/protocol/http/BufferedWebResponseTest.java
@@ -16,13 +16,14 @@
  */
 package org.apache.wicket.protocol.http;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
 import java.util.ArrayList;
 
 import org.apache.wicket.mock.MockWebResponse;
 import org.apache.wicket.request.http.WebResponse;
 import org.apache.wicket.util.tester.WicketTestCase;
-import org.junit.Test;
-
+import org.junit.jupiter.api.Test;
 
 /**
  * @author Pedro Santos
@@ -39,7 +40,7 @@ public class BufferedWebResponseTest extends WicketTestCase
 	 * WICKET-3618
 	 */
 	@Test
-	public void testBufferedResponsePostponeWriteResponseAction()
+	void testBufferedResponsePostponeWriteResponseAction()
 	{
 		final ArrayList<TestAction> actionsSequence = new ArrayList<TestAction>();
 		WebResponse originalResponse = new MockWebResponse()

http://git-wip-us.apache.org/repos/asf/wicket/blob/645f239c/wicket-core/src/test/java/org/apache/wicket/protocol/http/ClientPropertiesTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/protocol/http/ClientPropertiesTest.java b/wicket-core/src/test/java/org/apache/wicket/protocol/http/ClientPropertiesTest.java
index 560c9e5..aeb69dc 100644
--- a/wicket-core/src/test/java/org/apache/wicket/protocol/http/ClientPropertiesTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/protocol/http/ClientPropertiesTest.java
@@ -16,23 +16,26 @@
  */
 package org.apache.wicket.protocol.http;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 import java.util.TimeZone;
 
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Tests for ClientProperties that failed on Mac OS X Java platform.
  * 
  * @author Martijn Dashorst
  */
-public class ClientPropertiesTest extends Assert
+class ClientPropertiesTest
 {
 	/**
 	 * Tests GMT-2:00
 	 */
 	@Test
-	public void timezoneMinus2()
+	void timezoneMinus2()
 	{
 		String utc = "-2.0";
 		ClientProperties props = new ClientProperties();
@@ -45,7 +48,7 @@ public class ClientPropertiesTest extends Assert
 	 * Tests GMT+2:00
 	 */
 	@Test
-	public void timezonePlus2()
+	void timezonePlus2()
 	{
 		String utc = "+2.0";
 		ClientProperties props = new ClientProperties();
@@ -58,7 +61,7 @@ public class ClientPropertiesTest extends Assert
 	 * Tests GMT+11:00
 	 */
 	@Test
-	public void timezonePlus10()
+	void timezonePlus10()
 	{
 		String utc = "+11.0";
 		ClientProperties props = new ClientProperties();
@@ -71,7 +74,7 @@ public class ClientPropertiesTest extends Assert
 	 * Tests GMT+2:30
 	 */
 	@Test
-	public void timezonePlus2andAHalf()
+	void timezonePlus2andAHalf()
 	{
 		String utc = "+2.5";
 		ClientProperties props = new ClientProperties();
@@ -84,7 +87,7 @@ public class ClientPropertiesTest extends Assert
 	 * Tests GMT-2:30
 	 */
 	@Test
-	public void timezoneMinus2andAHalf()
+	void timezoneMinus2andAHalf()
 	{
 		String utc = "-2.5";
 		ClientProperties props = new ClientProperties();
@@ -97,7 +100,7 @@ public class ClientPropertiesTest extends Assert
 	 * Tests GMT+3:00
 	 */
 	@Test
-	public void timezonePlus3()
+	void timezonePlus3()
 	{
 		String utc = "3";
 		ClientProperties props = new ClientProperties();
@@ -110,7 +113,7 @@ public class ClientPropertiesTest extends Assert
 	 * Tests GMT-3:00
 	 */
 	@Test
-	public void timezoneMinus3()
+	void timezoneMinus3()
 	{
 		String utc = "-3";
 		ClientProperties props = new ClientProperties();
@@ -123,7 +126,7 @@ public class ClientPropertiesTest extends Assert
 	 * WICKET-5396.
 	 */
 	@Test
-	public void integerToString()
+	void integerToString()
 	{
 		ClientProperties props = new ClientProperties();