You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by GitBox <gi...@apache.org> on 2018/08/21 21:36:06 UTC

[GitHub] smoyer64 closed pull request #22: Port UTs to JUnit 5

smoyer64 closed pull request #22: Port UTs to JUnit 5
URL: https://github.com/apache/directory-scimple/pull/22
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/pom.xml b/pom.xml
index b28a92b..f411993 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,9 +37,6 @@
     <maven.compiler.target>8</maven.compiler.target>
 
     <version.jackson>2.9.5</version.jackson>
-    <version.junit5-minor>2.0</version.junit5-minor>
-    <version.junit5-platform>1.${version.junit5-minor}</version.junit5-platform>
-    <version.junit5-jupiter>5.${version.junit5-minor}</version.junit5-jupiter>
     <version.lombok>1.16.14</version.lombok>
     <version.lombok.plugin>${version.lombok}.0</version.lombok.plugin>
     <version.restfuse>1.2.0</version.restfuse>
@@ -184,17 +181,12 @@
         <version>${version.lombok}</version>
       </dependency>
 
-      <dependency>
-        <groupId>junit</groupId>
-        <artifactId>junit</artifactId>
-        <version>4.12</version>
-        <scope>test</scope>
-      </dependency>
       <dependency>
         <groupId>org.junit</groupId>
         <artifactId>junit-bom</artifactId>
-        <version>${version.junit5-jupiter}</version>
-        <scope>test</scope>
+        <version>5.2.0</version>
+        <scope>import</scope>
+        <type>pom</type>
       </dependency>
       <dependency>
         <groupId>com.fasterxml.jackson</groupId>
@@ -211,12 +203,6 @@
         <type>pom</type>
         <scope>import</scope>
       </dependency>
-      <dependency>
-        <groupId>pl.pragmatists</groupId>
-        <artifactId>JUnitParams</artifactId>
-        <version>1.0.4</version>
-        <scope>test</scope>
-      </dependency>
       <dependency>
         <groupId>org.hibernate</groupId>
         <artifactId>hibernate-validator</artifactId>
@@ -254,8 +240,14 @@
       </dependency>
       <dependency>
         <groupId>org.mockito</groupId>
-        <artifactId>mockito-all</artifactId>
-        <version>1.10.19</version>
+        <artifactId>mockito-core</artifactId>
+        <version>2.21.0</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.mockito</groupId>
+        <artifactId>mockito-junit-jupiter</artifactId>
+        <version>2.21.0</version>
         <scope>test</scope>
       </dependency>
       <dependency>
@@ -281,6 +273,7 @@
         <version>1.4.6</version>
         <scope>test</scope>
       </dependency>
+
     </dependencies>
   </dependencyManagement>
 
@@ -454,6 +447,7 @@
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-surefire-plugin</artifactId>
+            <version>2.22.0</version>
             <configuration>
               <!-- parent pom overrides the default, so we MUST set the jacoco argline directly -->
               <argLine>@{jacoco.argline}</argLine>
diff --git a/scim-client/pom.xml b/scim-client/pom.xml
index 33f6430..5a6298b 100644
--- a/scim-client/pom.xml
+++ b/scim-client/pom.xml
@@ -34,18 +34,10 @@
       <groupId>org.apache.directory.scim</groupId>
       <artifactId>scim-spec-protocol</artifactId>
     </dependency>
-    <dependency>
-        <groupId>junit</groupId>
-        <artifactId>junit</artifactId>
-    </dependency>
     <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>slf4j-simple</artifactId>
-        <version>1.7.21</version>
-    </dependency>
-    <dependency>
-        <groupId>pl.pragmatists</groupId>
-        <artifactId>JUnitParams</artifactId>
+        <scope>test</scope>
     </dependency>
     <dependency>
         <groupId>org.apache.directory.scim</groupId>
@@ -60,6 +52,21 @@
       <artifactId>lombok</artifactId>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-api</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-params</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+        <groupId>org.junit.jupiter</groupId>
+        <artifactId>junit-jupiter-engine</artifactId>
+        <scope>test</scope>
+    </dependency>
   </dependencies>
   
 </project>
diff --git a/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderGreaterTest.java b/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderGreaterTest.java
index 17a576f..834d8a3 100644
--- a/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderGreaterTest.java
+++ b/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderGreaterTest.java
@@ -25,17 +25,15 @@
 import java.time.LocalDateTime;
 import java.util.Date;
 
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
 
 import org.apache.directory.scim.spec.protocol.filter.FilterParseException;
 import org.apache.directory.scim.spec.protocol.search.Filter;
-import junitparams.JUnitParamsRunner;
-import junitparams.Parameters;
 import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.params.provider.MethodSource;
 
 @Slf4j
-@RunWith(JUnitParamsRunner.class)
 public class FilterBuilderGreaterTest {
 
   static final Integer[] INT_EXAMPLES = { -1, -10, -111, 1, 12, 123, 1234, 12345, 123456 };
@@ -43,48 +41,48 @@
   static final Float [] FLOAT_EXAMPLES = {.14f, 3.14f, 2.1415f, 3.14E+10f, 333.14f};
   static final Double [] DOUBLE_EXAMPLES = {.14, 3.14, 2.1415, 3.14E+10, 333.14};
  
-  Integer [] getIntExamples() {
+  static Integer[] getIntExamples() {
     return INT_EXAMPLES;
   }
   
-  Long [] getLongExamples() {
+  static Long[] getLongExamples() {
     return LONG_EXAMPLES;
   }
   
-  Float [] getFloatExamples() {
+  static Float[] getFloatExamples() {
     return FLOAT_EXAMPLES;
   }
   
-  Double [] getDoubleExamples() {
+  static Double[] getDoubleExamples() {
     return DOUBLE_EXAMPLES;
   }
   
-  @Test
-  @Parameters(method="getIntExamples")
+  @ParameterizedTest
+  @MethodSource("getIntExamples")
   public void testGreaterThanT_Int(Integer arg) throws UnsupportedEncodingException, FilterParseException {
     
     String encoded = FilterClient.builder().greaterThan("dog.weight", arg).toString();
     Filter filter = new Filter(decode(encoded));
   }
 
-  @Test
-  @Parameters(method="getLongExamples")
-  public void testGreaterThanT_Long(Long arg) throws UnsupportedEncodingException, FilterParseException {
+  @ParameterizedTest
+  @MethodSource("getLongExamples")
+  public void getLongExamples(Long arg) throws UnsupportedEncodingException, FilterParseException {
     
     String encoded = FilterClient.builder().greaterThan("dog.weight", arg).toString();
     Filter filter = new Filter(decode(encoded));
   }
   
-  @Test
-  @Parameters(method="getFloatExamples")
+  @ParameterizedTest
+  @MethodSource("getFloatExamples")
   public void testGreaterThanT_Float(Float arg) throws UnsupportedEncodingException, FilterParseException {
     
     String encoded = FilterClient.builder().greaterThan("dog.weight", arg).toString();
     Filter filter = new Filter(decode(encoded));
   }
   
-  @Test
-  @Parameters(method="getDoubleExamples")
+  @ParameterizedTest
+  @MethodSource("getDoubleExamples")
   public void testGreaterThanT_Double(Double arg) throws UnsupportedEncodingException, FilterParseException {
     
     String encoded = FilterClient.builder().greaterThan("dog.weight", arg).toString();
@@ -109,32 +107,32 @@ public void testGreaterThanLocalDateTime() throws UnsupportedEncodingException,
     Filter filter = new Filter(decode(encoded));
   }
 
-  @Test
-  @Parameters(method="getIntExamples")
+  @ParameterizedTest
+  @MethodSource("getIntExamples")
   public void testGreaterThanOrEqualsT_Int(Integer arg) throws UnsupportedEncodingException, FilterParseException {
     
     String encoded = FilterClient.builder().greaterThanOrEquals("dog.weight", arg).toString();
     Filter filter = new Filter(decode(encoded));
   }
 
-  @Test
-  @Parameters(method="getLongExamples")
+  @ParameterizedTest
+  @MethodSource("getLongExamples")
   public void testGreaterThanOrEqualsT_Long(Long arg) throws UnsupportedEncodingException, FilterParseException {
     
     String encoded = FilterClient.builder().greaterThanOrEquals("dog.weight", arg).toString();
     Filter filter = new Filter(decode(encoded));
   }
   
-  @Test
-  @Parameters(method="getFloatExamples")
+  @ParameterizedTest
+  @MethodSource("getFloatExamples")
   public void testGreaterThanOrEqualsT_Float(Float arg) throws UnsupportedEncodingException, FilterParseException {
     
     String encoded = FilterClient.builder().greaterThanOrEquals("dog.weight", arg).toString();
     Filter filter = new Filter(decode(encoded));
   }
   
-  @Test
-  @Parameters(method="getDoubleExamples")
+  @ParameterizedTest
+  @MethodSource("getDoubleExamples")
   public void testGreaterThanOrEqualsT_Double(Double arg) throws UnsupportedEncodingException, FilterParseException {
     
     String encoded = FilterClient.builder().greaterThanOrEquals("dog.weight", arg).toString();
diff --git a/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderLessThanTest.java b/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderLessThanTest.java
index f0369de..d2bc362 100644
--- a/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderLessThanTest.java
+++ b/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderLessThanTest.java
@@ -25,17 +25,15 @@
 import java.time.LocalDateTime;
 import java.util.Date;
 
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
 import org.apache.directory.scim.spec.protocol.filter.FilterParseException;
 import org.apache.directory.scim.spec.protocol.search.Filter;
-import junitparams.JUnitParamsRunner;
-import junitparams.Parameters;
 import lombok.extern.slf4j.Slf4j;
 
 @Slf4j
-@RunWith(JUnitParamsRunner.class)
 public class FilterBuilderLessThanTest {
 
   static final Integer[] INT_EXAMPLES = { 1, 12, 123, 1234, 12345, 123456 };
@@ -43,48 +41,48 @@
   static final Float [] FLOAT_EXAMPLES = {.14f, 3.14f, 2.1415f, 3.14E+10f, 333.14f};
   static final Double [] DOUBLE_EXAMPLES = {.14, 3.14, 2.1415, 3.14E+10, 333.14};
  
-  Integer [] getIntExamples() {
+  static Integer[] getIntExamples() {
     return INT_EXAMPLES;
   }
   
-  Long [] getLongExamples() {
+  static Long[] getLongExamples() {
     return LONG_EXAMPLES;
   }
   
-  Float [] getFloatExamples() {
+  static Float[] getFloatExamples() {
     return FLOAT_EXAMPLES;
   }
   
-  Double [] getDoubleExamples() {
+  static Double[] getDoubleExamples() {
     return DOUBLE_EXAMPLES;
   }
   
-  @Test
-  @Parameters(method="getIntExamples")
+  @ParameterizedTest
+  @MethodSource("getIntExamples")
   public void testLessThanT_Int(Integer arg) throws UnsupportedEncodingException, FilterParseException {
     
     String encoded = FilterClient.builder().lessThan("dog.weight", arg).toString();
     Filter filter = new Filter(decode(encoded));
   }
 
-  @Test
-  @Parameters(method="getLongExamples")
+  @ParameterizedTest
+  @MethodSource("getLongExamples")
   public void testLessThanT_Long(Long arg) throws UnsupportedEncodingException, FilterParseException {
     
     String encoded = FilterClient.builder().lessThan("dog.weight", arg).toString();
     Filter filter = new Filter(decode(encoded));
   }
   
-  @Test
-  @Parameters(method="getFloatExamples")
+  @ParameterizedTest
+  @MethodSource("getFloatExamples")
   public void testLessThanT_Float(Float arg) throws UnsupportedEncodingException, FilterParseException {
     
     String encoded = FilterClient.builder().lessThan("dog.weight", arg).toString();
     Filter filter = new Filter(decode(encoded));
   }
   
-  @Test
-  @Parameters(method="getDoubleExamples")
+  @ParameterizedTest
+  @MethodSource("getDoubleExamples")
   public void testLessThanT_Double(Double arg) throws UnsupportedEncodingException, FilterParseException {
     
     String encoded = FilterClient.builder().lessThan("dog.weight", arg).toString();
@@ -110,32 +108,32 @@ public void testLessThanLocalDateTime() throws UnsupportedEncodingException, Fil
     Filter filter = new Filter(decode(encoded));
   }
 
-  @Test
-  @Parameters(method="getIntExamples")
+  @ParameterizedTest
+  @MethodSource("getIntExamples")
   public void testLessThanOrEqualsT_Int(Integer arg) throws UnsupportedEncodingException, FilterParseException {
     
     String encoded = FilterClient.builder().lessThanOrEquals("dog.weight", arg).toString();
     Filter filter = new Filter(decode(encoded));
   }
 
-  @Test
-  @Parameters(method="getLongExamples")
+  @ParameterizedTest
+  @MethodSource("getLongExamples")
   public void testLessThanOrEqualsT_Long(Long arg) throws UnsupportedEncodingException, FilterParseException {
     
     String encoded = FilterClient.builder().lessThanOrEquals("dog.weight", arg).toString();
     Filter filter = new Filter(decode(encoded));
   }
   
-  @Test
-  @Parameters(method="getFloatExamples")
+  @ParameterizedTest
+  @MethodSource("getFloatExamples")
   public void testLessThanOrEqualsT_Float(Float arg) throws UnsupportedEncodingException, FilterParseException {
     
     String encoded = FilterClient.builder().lessThanOrEquals("dog.weight", arg).toString();
     Filter filter = new Filter(decode(encoded));
   }
   
-  @Test
-  @Parameters(method="getDoubleExamples")
+  @ParameterizedTest
+  @MethodSource("getDoubleExamples")
   public void testLessThanOrEqualsT_Double(Double arg) throws UnsupportedEncodingException, FilterParseException {
     
     String encoded = FilterClient.builder().lessThanOrEquals("dog.weight", arg).toString();
diff --git a/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderStringTests.java b/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderStringTests.java
index 047a851..2f0ba91 100644
--- a/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderStringTests.java
+++ b/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderStringTests.java
@@ -22,12 +22,10 @@
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 
-import org.junit.Before;
-import org.junit.Test;
-
 import org.apache.directory.scim.spec.protocol.filter.FilterParseException;
 import org.apache.directory.scim.spec.protocol.search.Filter;
 import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
 
 @Slf4j
 public class FilterBuilderStringTests {
diff --git a/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderTest.java b/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderTest.java
index 1b44b57..a241cd8 100644
--- a/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderTest.java
+++ b/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderTest.java
@@ -22,18 +22,14 @@
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.junit.runner.RunWith;
-
 import org.apache.directory.scim.spec.protocol.filter.FilterParseException;
 import org.apache.directory.scim.spec.protocol.search.Filter;
-import junitparams.JUnitParamsRunner;
 import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 @Slf4j
-@RunWith(JUnitParamsRunner.class)
 public class FilterBuilderTest {
 
 //  address.type EQ "work"
@@ -72,9 +68,6 @@
 //  address.2type EQ "work"
 
   
-  @Rule
-  public ExpectedException thrown = ExpectedException.none();
-  
   @Test
   public void testSimpleAnd() throws UnsupportedEncodingException, FilterParseException {
   
@@ -156,8 +149,7 @@ public void testAttributeContains() throws UnsupportedEncodingException, FilterP
   
   @Test
   public void testAttributeContainsEmbedded() throws UnsupportedEncodingException, FilterParseException {
-    
-    thrown.expect(FilterParseException.class);
+
     FilterClient.Builder b1 = FilterClient.builder().equalTo("name.givenName", "Bilbo").or().equalTo("name.givenName", "Frodo").and().equalTo("name.familyName", "Baggins");
     FilterClient.Builder b2 = FilterClient.builder().attributeHas("address", b1.filter());
     
@@ -166,22 +158,22 @@ public void testAttributeContainsEmbedded() throws UnsupportedEncodingException,
     String encoded = b3.toString();
     
     String decoded = decode(encoded);
-    Filter filter = new Filter(decoded); 
+
+    assertThrows(FilterParseException.class, () -> new Filter(decoded));
   }
   
   @Test
   public void testAttributeContainsDeeplyEmbedded() throws UnsupportedEncodingException, FilterParseException {
-    
-    thrown.expect(FilterParseException.class);
-    FilterClient.Builder b1 = FilterClient.builder().equalTo("name.givenName", "Bilbo").or().equalTo("name.givenName", "Frodo").and().equalTo("name.familyName", "Baggins");
-    FilterClient.Builder b2 = FilterClient.builder().attributeHas("address", b1.filter());
-    FilterClient.Builder b3 = FilterClient.builder().equalTo("name.giveName", "Gandalf").and(b2.filter());
-    FilterClient.Builder b4 = FilterClient.builder().attributeHas("address", b3.filter());
-   
-    String encoded = b4.toString();
-    
-    String decoded = decode(encoded);
-    Filter filter = new Filter(decoded); 
+
+      FilterClient.Builder b1 = FilterClient.builder().equalTo("name.givenName", "Bilbo").or().equalTo("name.givenName", "Frodo").and().equalTo("name.familyName", "Baggins");
+      FilterClient.Builder b2 = FilterClient.builder().attributeHas("address", b1.filter());
+      FilterClient.Builder b3 = FilterClient.builder().equalTo("name.giveName", "Gandalf").and(b2.filter());
+      FilterClient.Builder b4 = FilterClient.builder().attributeHas("address", b3.filter());
+
+      String encoded = b4.toString();
+
+      String decoded = decode(encoded);
+      assertThrows(FilterParseException.class, () -> new Filter(decoded));
   }
   //@Test
 //  public void testNotSingleArg() throws UnsupportedEncodingException, FilterParseException {
diff --git a/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderTestEquals.java b/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderTestEquals.java
index de04964..4253b14 100644
--- a/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderTestEquals.java
+++ b/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderTestEquals.java
@@ -19,20 +19,16 @@
 
 package org.apache.directory.scim.client.filter;
 
-import static org.junit.Assert.fail;
-
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.Date;
 
-import org.junit.Before;
-import org.junit.Test;
-
 import org.apache.directory.scim.spec.protocol.filter.FilterParseException;
 import org.apache.directory.scim.spec.protocol.search.Filter;
 import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
 
 @Slf4j
 public class FilterBuilderTestEquals {
diff --git a/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderTestNotEquals.java b/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderTestNotEquals.java
index 3be4d0d..d9f8944 100644
--- a/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderTestNotEquals.java
+++ b/scim-client/src/test/java/org/apache/directory/scim/client/filter/FilterBuilderTestNotEquals.java
@@ -25,11 +25,10 @@
 import java.time.LocalDateTime;
 import java.util.Date;
 
-import org.junit.Test;
-
 import org.apache.directory.scim.spec.protocol.filter.FilterParseException;
 import org.apache.directory.scim.spec.protocol.search.Filter;
 import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
 
 @Slf4j
 public class FilterBuilderTestNotEquals {
diff --git a/scim-compliance/scim-compliance-server/pom.xml b/scim-compliance/scim-compliance-server/pom.xml
index d4aa3f2..9862040 100644
--- a/scim-compliance/scim-compliance-server/pom.xml
+++ b/scim-compliance/scim-compliance-server/pom.xml
@@ -41,9 +41,8 @@
       <artifactId>scim-spec-protocol</artifactId>
     </dependency>
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>compile</scope>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
     </dependency>
     <dependency>
       <groupId>org.projectlombok</groupId>
diff --git a/scim-server/scim-server-common/pom.xml b/scim-server/scim-server-common/pom.xml
index 8ba3af1..f7bc18e 100644
--- a/scim-server/scim-server-common/pom.xml
+++ b/scim-server/scim-server-common/pom.xml
@@ -55,8 +55,18 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-api</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-params</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-engine</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -70,13 +80,13 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>pl.pragmatists</groupId>
-      <artifactId>JUnitParams</artifactId>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.mockito</groupId>
-      <artifactId>mockito-all</artifactId>
+      <artifactId>mockito-junit-jupiter</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/PrioritySortingComparitorTest.java b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/PrioritySortingComparitorTest.java
index 46006e0..5a4d71f 100644
--- a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/PrioritySortingComparitorTest.java
+++ b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/PrioritySortingComparitorTest.java
@@ -26,7 +26,7 @@
 import java.util.Set;
 
 import org.assertj.core.api.Assertions;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class PrioritySortingComparitorTest {
 
diff --git a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/ProviderRegistryTest.java b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/ProviderRegistryTest.java
index a010fee..c9e0c8e 100644
--- a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/ProviderRegistryTest.java
+++ b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/ProviderRegistryTest.java
@@ -21,13 +21,12 @@
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import java.util.Collections;
-
 import javax.enterprise.inject.Instance;
 
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.junit.MockitoJUnit;
@@ -36,11 +35,11 @@
 import org.apache.directory.scim.server.schema.Registry;
 import org.apache.directory.scim.spec.resources.ScimUser;
 import org.apache.directory.scim.spec.schema.Schema;
+import org.mockito.junit.jupiter.MockitoExtension;
 
+@ExtendWith(MockitoExtension.class)
 public class ProviderRegistryTest {
-  
-  @Rule
-  public MockitoRule mockito = MockitoJUnit.rule();
+
   
   Registry registry;
   
@@ -58,7 +57,7 @@ public ProviderRegistryTest() {
     providerRegistry.registry = registry;
   }
   
-  @Before
+  @BeforeEach
   public void initialize() {
     Mockito.when(providerInstance.get()).thenReturn(provider);
 //  Mockito.when(provider.getExtensionList()).thenReturn(Collections.singletonList(Enterprise));
diff --git a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/ProviderTest.java b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/ProviderTest.java
index 012223b..c179e6e 100644
--- a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/ProviderTest.java
+++ b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/ProviderTest.java
@@ -7,7 +7,7 @@
 import org.apache.directory.scim.spec.protocol.search.SortRequest;
 import org.apache.directory.scim.spec.resources.ScimExtension;
 import org.apache.directory.scim.spec.resources.ScimResource;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.Response;
diff --git a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/UpdateRequestTest.java b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/UpdateRequestTest.java
index 85bd800..164f1c6 100644
--- a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/UpdateRequestTest.java
+++ b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/UpdateRequestTest.java
@@ -19,8 +19,6 @@
 
 package org.apache.directory.scim.server.provider;
 
-import static org.junit.Assert.assertEquals;
-
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
@@ -29,24 +27,20 @@
 
 import javax.enterprise.inject.Instance;
 
-import junitparams.JUnitParamsRunner;
-import junitparams.Parameters;
+import jdk.nashorn.internal.ir.annotations.Ignore;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 
 import org.apache.directory.scim.server.rest.ObjectMapperFactory;
 import org.assertj.core.api.Assertions;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 
@@ -68,9 +62,17 @@
 import org.apache.directory.scim.spec.resources.PhoneNumber.GlobalPhoneNumberBuilder;
 import org.apache.directory.scim.spec.resources.Photo;
 import org.apache.directory.scim.spec.resources.ScimUser;
+import org.mockito.junit.jupiter.MockitoExtension;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 @Slf4j
-@RunWith(JUnitParamsRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class UpdateRequestTest {
   
   private static final String FIRST = "first";
@@ -82,8 +84,6 @@
   private static final String B = "B";
   private static final String C = "C";
 
-  @Rule
-  public MockitoRule mockito = MockitoJUnit.rule();
   private Registry registry;
 
   @Mock
@@ -94,7 +94,7 @@
 
   ProviderRegistry providerRegistry;
 
-  @Before
+  @BeforeEach
   public void initialize() throws Exception {
     providerRegistry = new ProviderRegistry();
     registry = new Registry();
@@ -130,12 +130,12 @@ public void testPatchPassthrough() throws Exception {
               .isNotNull();
   }
 
-  @Test(expected=UnsupportedOperationException.class)
+  @Test
   public void testPatchToUpdate() throws Exception {
     UpdateRequest<ScimUser> updateRequest = new UpdateRequest<>(registry);
     updateRequest.initWithPatch("1234", createUser1(), createUser1PatchOps());
         
-    updateRequest.getResource();
+    assertThrows(UnsupportedOperationException.class, () -> updateRequest.getResource());
   }
 
   @Test
@@ -228,12 +228,12 @@ public void testAddObjectToEmptyCollection() throws Exception {
     
     updateRequest.initWithResource("1234", user1, user2);
     List<PatchOperation> operations = updateRequest.getPatchOperations();
-    Assert.assertNotNull(operations);
-    Assert.assertEquals(1, operations.size());
+    assertNotNull(operations);
+    assertEquals(1, operations.size());
     PatchOperation operation = operations.get(0);
-    Assert.assertNotNull(operation.getValue());
-    Assert.assertEquals(Type.ADD, operation.getOperation());
-    Assert.assertEquals(PhoneNumber.class, operation.getValue().getClass());
+    assertNotNull(operation.getValue());
+    assertEquals(Type.ADD, operation.getOperation());
+    assertEquals(PhoneNumber.class, operation.getValue().getClass());
   }
   
   @Test
@@ -257,18 +257,18 @@ public void testAddObjectsToEmptyCollection() throws Exception {
     
     updateRequest.initWithResource("1234", user1, user2);
     List<PatchOperation> operations = updateRequest.getPatchOperations();
-    Assert.assertNotNull(operations);
-    Assert.assertEquals(2, operations.size());
+    assertNotNull(operations);
+    assertEquals(2, operations.size());
     
     PatchOperation operation = operations.get(0);
-    Assert.assertNotNull(operation.getValue());
-    Assert.assertEquals(Type.ADD, operation.getOperation());
-    Assert.assertEquals(PhoneNumber.class, operation.getValue().getClass());
+    assertNotNull(operation.getValue());
+    assertEquals(Type.ADD, operation.getOperation());
+    assertEquals(PhoneNumber.class, operation.getValue().getClass());
     
     operation = operations.get(1);
-    Assert.assertNotNull(operation.getValue());
-    Assert.assertEquals(Type.ADD, operation.getOperation());
-    Assert.assertEquals(PhoneNumber.class, operation.getValue().getClass());
+    assertNotNull(operation.getValue());
+    assertEquals(Type.ADD, operation.getOperation());
+    assertEquals(PhoneNumber.class, operation.getValue().getClass());
   }
 
   @Test
@@ -492,7 +492,7 @@ public void verifyEmptyArraysDoNotCauseMove() throws Exception {
     
     updateRequest.initWithResource("1234", user1, user2);
     List<PatchOperation> operations = updateRequest.getPatchOperations();
-    Assert.assertTrue("Empty Arrays caused a diff", operations.isEmpty());
+    assertTrue(operations.isEmpty(), "Empty Arrays caused a diff");
   }
   
   @Test
@@ -506,7 +506,7 @@ public void verifyEmptyArraysAreNulled() throws Exception {
     user1.setPhotos(new ArrayList<>());
     updateRequest.initWithResource("1234", user1, user2);
     List<PatchOperation> operations = updateRequest.getPatchOperations();
-    Assert.assertTrue("Empty Arrays are not being nulled out", operations.isEmpty());
+    assertTrue(operations.isEmpty(), "Empty Arrays are not being nulled out");
     
     //Reset user 1 and empty list on Extension and verify no differences
     user1 = createUser1();
@@ -514,7 +514,7 @@ public void verifyEmptyArraysAreNulled() throws Exception {
     ext.setList(new ArrayList<String>());
     updateRequest.initWithResource("1234", user1, user2);
     operations = updateRequest.getPatchOperations();
-    Assert.assertTrue("Empty Arrays are not being nulled out", operations.isEmpty());
+    assertTrue(operations.isEmpty(), "Empty Arrays are not being nulled out");
     
     //Reset extension and set empty list on element of extension then verify no differences
     Subobject subobject = new Subobject();
@@ -523,7 +523,7 @@ public void verifyEmptyArraysAreNulled() throws Exception {
     ext.setSubobject(subobject);
     updateRequest.initWithResource("1234", user1, user2);
     operations = updateRequest.getPatchOperations();
-    Assert.assertTrue("Empty Arrays are not being nulled out", operations.isEmpty());
+    assertTrue(operations.isEmpty(), "Empty Arrays are not being nulled out");
   }
   
   /**
@@ -552,12 +552,12 @@ public void testAddArray() throws Exception {
     
     updateRequest.initWithResource("1234", user1, user2);
     List<PatchOperation> operations = updateRequest.getPatchOperations();
-    Assert.assertNotNull(operations);
-    Assert.assertEquals(3, operations.size());
+    assertNotNull(operations);
+    assertEquals(3, operations.size());
     PatchOperation operation = operations.get(0);
-    Assert.assertNotNull(operation.getValue());
-    Assert.assertEquals(Type.ADD, operation.getOperation());
-    Assert.assertEquals(Photo.class, operation.getValue().getClass());
+    assertNotNull(operation.getValue());
+    assertEquals(Type.ADD, operation.getOperation());
+    assertEquals(Photo.class, operation.getValue().getClass());
   }
   
   @Test
@@ -583,11 +583,11 @@ public void testRemoveArray() throws Exception {
     
     updateRequest.initWithResource("1234", user1, user2);
     List<PatchOperation> operations = updateRequest.getPatchOperations();
-    Assert.assertNotNull(operations);
-    Assert.assertEquals(2, operations.size());
+    assertNotNull(operations);
+    assertEquals(2, operations.size());
     PatchOperation operation = operations.get(0);
-    Assert.assertEquals(Type.REMOVE, operation.getOperation());
-    Assert.assertNull(operation.getValue());
+    assertEquals(Type.REMOVE, operation.getOperation());
+    assertNull(operation.getValue());
   }
   
   @Test
@@ -723,8 +723,8 @@ public void testMoveFormatNameToNicknamePart5() throws Exception {
     operations.stream().forEach(op -> System.out.println(op));
   }
   
-  @Test
-  @Parameters(method = "testListOfStringsParameters")
+  @ParameterizedTest
+  @MethodSource("testListOfStringsParameters")
   public void testListOfStringsParameterized(List<String> list1, List<String> list2, List<ExpectedPatchOperation> ops) throws Exception {
     UpdateRequest<ScimUser> updateRequest = new UpdateRequest<>(registry);
 
@@ -741,16 +741,16 @@ public void testListOfStringsParameterized(List<String> list1, List<String> list
     
     updateRequest.initWithResource("1234", user1, user2);
     List<PatchOperation> operations = updateRequest.getPatchOperations();
-    Assert.assertEquals(ops.size(), operations.size());
+    assertEquals(ops.size(), operations.size());
     for(int i = 0; i < operations.size(); i++) {
       PatchOperation actualOp = operations.get(i);
       ExpectedPatchOperation expectedOp = ops.get(i);
-      Assert.assertEquals(expectedOp.getOp(), actualOp.getOperation().toString());
-      Assert.assertEquals(expectedOp.getPath(), actualOp.getPath().toString());
+      assertEquals(expectedOp.getOp(), actualOp.getOperation().toString());
+      assertEquals(expectedOp.getPath(), actualOp.getPath().toString());
       if (expectedOp.getValue() == null) {
-        Assert.assertNull(actualOp.getValue());
+        assertNull(actualOp.getValue());
       } else {
-        Assert.assertEquals(expectedOp.getValue(), actualOp.getValue().toString());
+        assertEquals(expectedOp.getValue(), actualOp.getValue().toString());
       }
       
     }
@@ -759,7 +759,7 @@ public void testListOfStringsParameterized(List<String> list1, List<String> list
   }
   
   @SuppressWarnings("unused")
-  private Object[] testListOfStringsParameters() throws Exception {
+  private static Object[] testListOfStringsParameters() throws Exception {
     List<Object> params = new ArrayList<>();
     String nickName = "John Xander Anyman";
     //Parameter order
@@ -858,13 +858,13 @@ public void testShowBugWhereDeleteIsTreatedAsMultipleReplace() throws Exception
 //    
 //    PhoneNumber workNumber = user2.getPhoneNumbers().stream().filter(p -> p.getType().equals("work")).findFirst().orElse(null);
 //    workNumber.setType("home");
-//    Assert.assertNotNull(workNumber);
+//    assertNotNull(workNumber);
 //    
 //    updateRequest.initWithResource("1234", user1, user2);
 //    List<PatchOperation> operations = updateRequest.getPatchOperations();
-//    Assert.assertNotNull(operations);
-//    Assert.assertEquals(expectedNumberOfOperationsWithBug, operations.size());
-//    Assert.assertNotEquals(expectedNumberOfOperationsWithoutBug, operations.size());
+//    assertNotNull(operations);
+//    assertEquals(expectedNumberOfOperationsWithBug, operations.size());
+//    assertNotEquals(expectedNumberOfOperationsWithoutBug, operations.size());
   }
 
   private PatchOperation assertSingleResult(List<PatchOperation> result) {
@@ -888,7 +888,7 @@ private void checkAssertions(PatchOperation actual, Type op, String path, Object
   
   @Data
   @AllArgsConstructor
-  private class ExpectedPatchOperation {
+  private static class ExpectedPatchOperation {
     private String op;
     private String path;
     private String value;
diff --git a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImplTest.java b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImplTest.java
index aedfef7..9b9ac2d 100644
--- a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImplTest.java
+++ b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImplTest.java
@@ -19,7 +19,9 @@
 
 package org.apache.directory.scim.server.rest;
 
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 import static org.mockito.Mockito.*;
 
 import java.util.ArrayList;
@@ -30,7 +32,8 @@
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.Response.Status;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 
@@ -51,7 +54,9 @@
 import org.apache.directory.scim.spec.resources.ScimUser;
 import org.apache.directory.scim.spec.resources.PhoneNumber.GlobalPhoneNumberBuilder;
 import org.apache.directory.scim.spec.resources.PhoneNumber.LocalPhoneNumberBuilder;
+import org.mockito.junit.jupiter.MockitoExtension;
 
+@ExtendWith(MockitoExtension.class)
 public class BaseResourceTypeResourceImplTest {
   
   @Mock
@@ -60,7 +65,7 @@
   AttributeReferenceListWrapper includedAttributeList = new AttributeReferenceListWrapper("name.givenName, name.familyName");
   AttributeReferenceListWrapper excludedAttributeList = new AttributeReferenceListWrapper("emails, phoneNumbers");
   
-  @Test(expected=ScimServerException.class)
+  @Test
   public void testGetProviderInternal_ScimServerExceptionThrownWhenNoProvider() throws ScimServerException {
     // given
     @SuppressWarnings("rawtypes")
@@ -69,7 +74,7 @@ public void testGetProviderInternal_ScimServerExceptionThrownWhenNoProvider() th
     when(baseResourceImpl.getProviderInternal()).thenCallRealMethod();
     
     // when
-    baseResourceImpl.getProviderInternal();
+    assertThrows(ScimServerException.class, () -> baseResourceImpl.getProviderInternal());
   }
   
   @SuppressWarnings("unchecked")
@@ -101,8 +106,7 @@ public void testQuery_NullParametersValid() {
     SearchRequest searchRequest = new SearchRequest();
     searchRequest.setAttributes(Collections.emptySet());
     searchRequest.setExcludedAttributes(Collections.emptySet());
-    
-    when(baseResourceImpl.getProvider()).thenReturn(provider);
+
     when(baseResourceImpl.find(searchRequest)).thenReturn(Response.ok().build());
     
     when(baseResourceImpl.query(null, null, null, null, null, null, null)).thenCallRealMethod();
@@ -129,8 +133,6 @@ public void testCreate_ErrorIfBothAttributesAndExcludedAttributesExist() {
       fail("Parsing phone number in getScimUser failed");
     }
     
-    when(baseResourceImpl.getProvider()).thenReturn(provider);
-    
     when(baseResourceImpl.create(scimUser, includedAttributeList, excludedAttributeList)).thenCallRealMethod();
     
     // when
@@ -152,9 +154,7 @@ public void testFind_ErrorIfBothAttributesAndExcludedAttributesExist() {
     SearchRequest searchRequest = new SearchRequest();
     searchRequest.setAttributes(includedAttributeList.getAttributeReferences());
     searchRequest.setExcludedAttributes(excludedAttributeList.getAttributeReferences());
-    
-    when(baseResourceImpl.getProvider()).thenReturn(provider);
-    
+
     when(baseResourceImpl.find(searchRequest)).thenCallRealMethod();
     
     // when
@@ -180,8 +180,6 @@ public void testUpdate_ErrorIfBothAttributesAndExcludedAttributesExist() {
       fail("Parsing phone number in getScimUser failed");
     }
     
-    when(baseResourceImpl.getProvider()).thenReturn(provider);
-    
     when(baseResourceImpl.update(scimUser, "1", includedAttributeList, excludedAttributeList)).thenCallRealMethod();
     
     // when
@@ -202,8 +200,6 @@ public void testPatch_ErrorIfBothAttributesAndExcludedAttributesExist() throws E
     
     PatchRequest patchRequest = new PatchRequest();
     
-    when(baseResourceImpl.getProvider()).thenReturn(provider);
-    
     when(baseResourceImpl.patch(patchRequest, "1", includedAttributeList, excludedAttributeList)).thenCallRealMethod();
     
     // when
diff --git a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/rest/SelfResourceImplTest.java b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/rest/SelfResourceImplTest.java
index 30f5526..52a3b63 100644
--- a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/rest/SelfResourceImplTest.java
+++ b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/rest/SelfResourceImplTest.java
@@ -5,7 +5,7 @@
 import org.apache.directory.scim.spec.protocol.UserResource;
 import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
 import org.apache.directory.scim.spec.protocol.exception.ScimException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import javax.ejb.SessionContext;
 import javax.enterprise.inject.Instance;
diff --git a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/utility/AttributeUtilTest.java b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/utility/AttributeUtilTest.java
index 17b198b..b45754f 100644
--- a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/utility/AttributeUtilTest.java
+++ b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/utility/AttributeUtilTest.java
@@ -23,20 +23,14 @@
 import java.io.StringWriter;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
 import org.assertj.core.api.Assertions;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Rule;
-import org.junit.Test;
-import org.mockito.Mock;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -57,7 +51,6 @@
 import org.apache.directory.scim.server.provider.ProviderRegistry;
 import org.apache.directory.scim.server.schema.Registry;
 import org.apache.directory.scim.server.utility.ExampleObjectExtension.ComplexObject;
-import org.apache.directory.scim.spec.exception.InvalidExtensionException;
 import org.apache.directory.scim.spec.extension.EnterpriseExtension;
 import org.apache.directory.scim.spec.extension.EnterpriseExtension.Manager;
 import org.apache.directory.scim.spec.protocol.attribute.AttributeReference;
@@ -65,7 +58,6 @@
 import org.apache.directory.scim.spec.resources.BaseResource;
 import org.apache.directory.scim.spec.resources.Name;
 import org.apache.directory.scim.spec.resources.PhoneNumber;
-import org.apache.directory.scim.spec.resources.PhoneNumber.GlobalPhoneNumberBuilder;
 import org.apache.directory.scim.spec.resources.PhoneNumber.LocalPhoneNumberBuilder;
 import org.apache.directory.scim.spec.resources.ScimUser;
 import org.apache.directory.scim.spec.schema.Schema;
@@ -74,18 +66,15 @@
 
   private static final Logger LOG = LoggerFactory.getLogger(AttributeUtilTest.class);
 
-  @Rule
-  public MockitoRule mockito = MockitoJUnit.rule();
-
-  @Mock
   Registry registry;
 
   AttributeUtil attributeUtil;
 
   private ObjectMapper objectMapper;
 
-  @Before
+  @BeforeEach
   public void setup() throws Exception {
+    registry = Mockito.mock(Registry.class);
     attributeUtil = new AttributeUtil();
     attributeUtil.registry = registry;
     Schema scimUserSchema = ProviderRegistry.generateSchema(ScimUser.class, ScimUtils.getFieldsUpTo(ScimUser.class, BaseResource.class));
diff --git a/scim-spec/scim-spec-protocol/pom.xml b/scim-spec/scim-spec-protocol/pom.xml
index 80c018e..3b766bd 100644
--- a/scim-spec/scim-spec-protocol/pom.xml
+++ b/scim-spec/scim-spec-protocol/pom.xml
@@ -75,16 +75,21 @@
 			<scope>provided</scope>
 		</dependency>
 
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>pl.pragmatists</groupId>
-			<artifactId>JUnitParams</artifactId>
-			<scope>test</scope>
-		</dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-api</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-params</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-engine</artifactId>
+      <scope>test</scope>
+    </dependency>
 		<dependency>
 			<groupId>org.slf4j</groupId>
 			<artifactId>slf4j-simple</artifactId>
diff --git a/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/attribute/AttributeReferenceTest.java b/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/attribute/AttributeReferenceTest.java
index 8435055..51ea100 100644
--- a/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/attribute/AttributeReferenceTest.java
+++ b/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/attribute/AttributeReferenceTest.java
@@ -19,14 +19,11 @@
 
 package org.apache.directory.scim.spec.protocol.attribute;
 
-import junitparams.JUnitParamsRunner;
-import junitparams.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
-@RunWith(JUnitParamsRunner.class)
 public class AttributeReferenceTest {
   
   private static final String USER_NAME = "userName";
@@ -46,18 +43,18 @@
   protected static final String EXAMPLE_6 = CORE_USER_SCHEMA + ":" + NAME_GIVEN_NAME;
   protected static final String EXAMPLE_7 = ENTERPRISE_USER_SCHEMA + ":" + EMPLOYEE_NUMBER;
   
-  @Test
-  @Parameters(method = "getAttributeReferences")
+  @ParameterizedTest
+  @MethodSource("getAttributeReferences")
   public void testAttributeParsing(String attributeReferenceString, String expectedUrn, String expectedAttriubte) {
     AttributeReference attributeReference = new AttributeReference(attributeReferenceString);
     
-    Assert.assertEquals(expectedUrn, attributeReference.getUrn());
-    Assert.assertEquals(expectedAttriubte, attributeReference.getFullAttributeName());
+    assertEquals(expectedUrn, attributeReference.getUrn());
+    assertEquals(expectedAttriubte, attributeReference.getFullAttributeName());
     
   }
   
   @SuppressWarnings("unused")
-  private String[][] getAttributeReferences() {
+  private static String[][] getAttributeReferences() {
     return new String[][] {
         {EXAMPLE_1, null, USER_NAME},
         {EXAMPLE_2, null, USER_NAME.toLowerCase()},
diff --git a/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPathTest.java b/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPathTest.java
index 700d79c..1132d8b 100644
--- a/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPathTest.java
+++ b/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPathTest.java
@@ -19,21 +19,16 @@
 
 package org.apache.directory.scim.spec.protocol.data;
 
-import java.util.Arrays;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import junitparams.JUnitParamsRunner;
-import junitparams.Parameters;
 import lombok.extern.slf4j.Slf4j;
 
 @Slf4j
-@RunWith(JUnitParamsRunner.class)
 public class PatchOperationPathTest {
 
-  public String[] pathValues() {
+  public static String[] pathValues() {
     return new String[] { "members",
         "name.familyName",
         "addresses[type eq \"work\"]",
@@ -41,16 +36,16 @@
         "members[value eq \"2819c223-7f76-453a-919d-413861904646\"].displayName" };
   }
 
-  @Test
-  @Parameters(method = "pathValues")
+  @ParameterizedTest
+  @MethodSource("pathValues")
   public void testPathParsing(String value) throws Exception {
     PatchOperationPath path = new PatchOperationPath(value);
     log.info("ValuePathExpression: " + path.getValuePathExpression());
     
     String result = path.toString();
     log.info(result);
-    Assert.assertNotNull(path.getValuePathExpression());
-    Assert.assertEquals(value.toLowerCase(), result.toLowerCase());
+    Assertions.assertNotNull(path.getValuePathExpression());
+    Assertions.assertEquals(value.toLowerCase(), result.toLowerCase());
   }
 
 }
diff --git a/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterTest.java b/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterTest.java
index f75ad5b..a73e60f 100644
--- a/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterTest.java
+++ b/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterTest.java
@@ -19,34 +19,30 @@
 
 package org.apache.directory.scim.spec.protocol.filter;
 
-import junitparams.JUnitParamsRunner;
-import junitparams.Parameters;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.directory.scim.spec.protocol.search.Filter;
 
-@RunWith(JUnitParamsRunner.class)
 public class FilterTest extends AbstractLexerParserTest {
 
   private static final Logger LOG = LoggerFactory.getLogger(FilterTest.class);
 
   @SuppressWarnings("unused")
-  private String[] getAllFilters() {
+  private static String[] getAllFilters() {
     return ALL;
   }
 
-  @Test
-  @Parameters(method = "getAllFilters")
+  @ParameterizedTest
+  @MethodSource("getAllFilters")
   public void test(String filterText) throws Exception {
     LOG.info("Running Filter Parser test on input: " + filterText);
     Filter filter = new Filter(filterText);
     FilterExpression expression = filter.getExpression();
     LOG.info("Parsed String: " + expression.toFilter());
-    Assert.assertNotNull(expression);
+    Assertions.assertNotNull(expression);
   }
 }
diff --git a/scim-spec/scim-spec-schema/pom.xml b/scim-spec/scim-spec-schema/pom.xml
index 0200a01..9d14edb 100644
--- a/scim-spec/scim-spec-schema/pom.xml
+++ b/scim-spec/scim-spec-schema/pom.xml
@@ -42,18 +42,25 @@
 			<scope>provided</scope>
 		</dependency>
 
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-		</dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-api</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-params</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-engine</artifactId>
+      <scope>test</scope>
+    </dependency>
 		<dependency>
 			<groupId>com.fasterxml.jackson.jaxrs</groupId>
 			<artifactId>jackson-jaxrs-json-provider</artifactId>
 		</dependency>
-		<dependency>
-			<groupId>pl.pragmatists</groupId>
-			<artifactId>JUnitParams</artifactId>
-		</dependency>
 		<dependency>
 			<groupId>org.hibernate</groupId>
 			<artifactId>hibernate-validator</artifactId>
diff --git a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/phonenumber/PhoneNumberTest.java b/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/phonenumber/PhoneNumberTest.java
index 98a91c6..63f8385 100644
--- a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/phonenumber/PhoneNumberTest.java
+++ b/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/phonenumber/PhoneNumberTest.java
@@ -19,22 +19,21 @@
 
 package org.apache.directory.scim.spec.phonenumber;
 
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.directory.scim.spec.resources.PhoneNumber;
-import junitparams.JUnitParamsRunner;
-import junitparams.Parameters;
 
-@RunWith(JUnitParamsRunner.class)
 public class PhoneNumberTest {
   
   private static final Logger LOGGER = LoggerFactory.getLogger(PhoneNumberTest.class);
   
   @SuppressWarnings("unused")
-  private String[] getAllValidPhones() {
+  private static String[] getAllValidPhones() {
     return new String[] { 
       "tel:7042;phone-context=example.com",//local number
       "tel:863-1234;phone-context=+1-914-555",//local number
@@ -131,7 +130,7 @@
   }
   
   @SuppressWarnings("unused")
-  private String[] getAllInvalidPhones() {
+  private static String[] getAllInvalidPhones() {
     return new String[] {
       "",//missing prefix and numbers
       "tel:",//missing numbers
@@ -159,20 +158,21 @@
     };
   }
 	
-	@Test
-	@Parameters(method = "getAllValidPhones")
+	@ParameterizedTest
+	@MethodSource("getAllValidPhones")
 	public void test_parser_with_valid_phone_numbers(String phoneUri) throws Exception {
 	  LOGGER.info("valid phones (" + phoneUri + ") start");
 		PhoneNumber phoneNumber = new PhoneNumber();
 		phoneNumber.setValue(phoneUri);
 	}
 	
-	@Test(expected = PhoneNumberParseException.class)
-  @Parameters(method = "getAllInvalidPhones")
+	@ParameterizedTest
+  @MethodSource("getAllInvalidPhones")
   public void test_parser_with_invalid_phone_numbers(String phoneUri) throws PhoneNumberParseException {
 	  LOGGER.info("invalid phones (" + phoneUri + ") start");
     PhoneNumber phoneNumber = new PhoneNumber();
-    phoneNumber.setValue(phoneUri);
+
+    Assertions.assertThrows(PhoneNumberParseException.class, () -> phoneNumber.setValue(phoneUri));
   }
 
 }
diff --git a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberBuilderTest.java b/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberBuilderTest.java
index 5cc5abe..ec4570b 100644
--- a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberBuilderTest.java
+++ b/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberBuilderTest.java
@@ -19,22 +19,25 @@
 
 package org.apache.directory.scim.spec.resources;
 
-import static org.junit.Assert.*;
-
 import java.util.HashMap;
 
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.directory.scim.spec.phonenumber.PhoneNumberParseException;
 import org.apache.directory.scim.spec.resources.PhoneNumber.GlobalPhoneNumberBuilder;
 import org.apache.directory.scim.spec.resources.PhoneNumber.LocalPhoneNumberBuilder;
-import junitparams.JUnitParamsRunner;
-import junitparams.Parameters;
 
-@RunWith(JUnitParamsRunner.class)
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.fail;
+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.assertTrue;
+
 public class PhoneNumberBuilderTest {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(PhoneNumberBuilderTest.class);
@@ -50,7 +53,7 @@
   private static final String FAILED_TO_PARSE = "failed to parse";
 
   @SuppressWarnings("unused")
-  private String[] getInvalidSubscriberNumbers() {
+  private static String[] getInvalidSubscriberNumbers() {
     return new String[] { 
        null,
        "",
@@ -69,7 +72,7 @@
   }
   
   @SuppressWarnings("unused")
-  private String[] getValidSubscriberNumbers() {
+  private static String[] getValidSubscriberNumbers() {
     return new String[] { 
        "1",
        "1234",
@@ -95,8 +98,8 @@
     };
   }
 
-  @Test
-	@Parameters(method = "getInvalidSubscriberNumbers")
+  @ParameterizedTest
+	@MethodSource("getInvalidSubscriberNumbers")
   public void test_invalid_subscriberNumber_for_LocalPhoneNumberBuilder(String invalidSubscriberNumber) throws Exception {
 
     LOGGER.info("invalid subscriber number '" + invalidSubscriberNumber + "' start");
@@ -129,8 +132,8 @@ public void test_invalid_padded_subscriberNumber_for_LocalPhoneNumberBuilder() t
     }
   }
   
-  @Test
-  @Parameters(method = "getValidSubscriberNumbers")
+  @ParameterizedTest
+  @MethodSource("getValidSubscriberNumbers")
   public void test_valid_subscriberNumber_for_LocalPhoneNumberBuilder(String validSubscriberNumber) throws Exception {
 
     LOGGER.info("valid subscriber number '" + validSubscriberNumber + "' start");
@@ -138,12 +141,12 @@ public void test_valid_subscriberNumber_for_LocalPhoneNumberBuilder(String valid
       new LocalPhoneNumberBuilder().subscriberNumber(validSubscriberNumber).build();
       fail(FAILURE_MESSAGE);
     } catch (IllegalArgumentException ex) {
-      assertTrue("Exception should have been for country code.", ex.getMessage().contains(COUNTRY_CODE));
+      assertTrue(ex.getMessage().contains(COUNTRY_CODE), "Exception should have been for country code.");
     }
   }
   
   @SuppressWarnings("unused")
-    private String[] getInvalidCountryCodes() {
+    private static String[] getInvalidCountryCodes() {
       return new String[] { 
          null,
          "",
@@ -170,7 +173,7 @@ public void test_valid_subscriberNumber_for_LocalPhoneNumberBuilder(String valid
     }
     
     @SuppressWarnings("unused")
-    private String[] getValidCountryCodes() {
+    private static String[] getValidCountryCodes() {
       return new String[] { 
          "+1",
          "1",
@@ -183,8 +186,8 @@ public void test_valid_subscriberNumber_for_LocalPhoneNumberBuilder(String valid
       };
     }
     
-    @Test
-    @Parameters(method = "getInvalidCountryCodes")
+    @ParameterizedTest
+    @MethodSource("getInvalidCountryCodes")
     public void test_invalid_countryCode_for_LocalPhoneNumberBuilder(String invalidCountryCode) throws Exception {
 
       LOGGER.info("invalid country code '" + invalidCountryCode + "' start");
@@ -206,15 +209,15 @@ public void test_invalid_countryCode_for_LocalPhoneNumberBuilder(String invalidC
       }
     }
     
-    @Test
-    @Parameters(method = "getValidCountryCodes")
+    @ParameterizedTest
+    @MethodSource("getValidCountryCodes")
     public void test_valid_countryCode_for_LocalPhoneNumberBuilder(String validCountryCode) throws Exception {
 
       LOGGER.info("valid country code '" + validCountryCode + "' start");
 
       PhoneNumber phoneNumber = new LocalPhoneNumberBuilder().subscriberNumber("123-4567").countryCode(validCountryCode).build();
-      assertNull("Extension should be null", phoneNumber.getExtension());
-      assertNull("SubAddress should be null", phoneNumber.getSubAddress());
+      assertNull(phoneNumber.getExtension(), "Extension should be null");
+      assertNull(phoneNumber.getSubAddress(), "SubAddress should be null");
       assertEquals("123-4567", phoneNumber.getNumber());
       
       
@@ -225,7 +228,7 @@ public void test_valid_countryCode_for_LocalPhoneNumberBuilder(String validCount
     }
     
     @SuppressWarnings("unused")
-    private String[] getInvalidAreaCodes() {
+    private static String[] getInvalidAreaCodes() {
       return new String[] { 
          "",
          "A",
@@ -243,7 +246,7 @@ public void test_valid_countryCode_for_LocalPhoneNumberBuilder(String validCount
     }
     
     @SuppressWarnings("unused")
-    private String[] getValidAreaCodes() {
+    private static String[] getValidAreaCodes() {
       return new String[] { 
          "1",
          "30",
@@ -252,8 +255,8 @@ public void test_valid_countryCode_for_LocalPhoneNumberBuilder(String validCount
       };
     }
     
-    @Test
-    @Parameters(method = "getInvalidAreaCodes")
+    @ParameterizedTest
+    @MethodSource("getInvalidAreaCodes")
     public void test_invalid_areaCode_for_LocalPhoneNumberBuilder(String invalidAreaCode) throws Exception {
 
     LOGGER.info("invalid area code '" + invalidAreaCode + "' start");
@@ -297,29 +300,29 @@ public void test_invalid_padded_areaCode_for_LocalPhoneNumberBuilder() throws Ex
   @Test
   public void test_areaCode_can_be_null_for_LocalPhoneNumberBuilder() throws Exception {
     PhoneNumber phoneNumber = new LocalPhoneNumberBuilder().subscriberNumber("123-4567").countryCode("23").build();
-    assertNull("Extension should be null", phoneNumber.getExtension());
-    assertNull("SubAddress should be null", phoneNumber.getSubAddress());
+    assertNull(phoneNumber.getExtension(), "Extension should be null");
+    assertNull(phoneNumber.getSubAddress(), "SubAddress should be null");
     assertEquals("123-4567", phoneNumber.getNumber());
     assertEquals("+23", phoneNumber.getPhoneContext());
     assertEquals("tel:123-4567;phone-context=+23", phoneNumber.getValue());    
   } 
   
-  @Test
-  @Parameters(method = "getValidAreaCodes")
+  @ParameterizedTest
+  @MethodSource("getValidAreaCodes")
   public void test_valid_areaCode_for_LocalPhoneNumberBuilder(String validAreaCode) throws Exception {
 
     LOGGER.info("valid area code '" + validAreaCode + "' start");
     
     PhoneNumber phoneNumber = new LocalPhoneNumberBuilder().subscriberNumber("123-4567").countryCode("23").areaCode(validAreaCode).build();
-    assertNull("Extension should be null", phoneNumber.getExtension());
-    assertNull("SubAddress should be null", phoneNumber.getSubAddress());
+    assertNull(phoneNumber.getExtension(), "Extension should be null");
+    assertNull(phoneNumber.getSubAddress(), "SubAddress should be null");
     assertEquals("123-4567", phoneNumber.getNumber());
     assertEquals(("+23-" + validAreaCode), phoneNumber.getPhoneContext());
     assertEquals(("tel:123-4567;phone-context=+23-"+validAreaCode), phoneNumber.getValue());
   }
   
   @SuppressWarnings("unused")
-  private String[] getInvalidGlobalNumbers() {
+  private static String[] getInvalidGlobalNumbers() {
     return new String[] { 
        null,
        "",
@@ -338,7 +341,7 @@ public void test_valid_areaCode_for_LocalPhoneNumberBuilder(String validAreaCode
   }
   
   @SuppressWarnings("unused")
-  private String[] getValidGlobalNumbers() {
+  private static String[] getValidGlobalNumbers() {
     return new String[] { 
       "+44-20-1234-5678",//global with visualSeparator -
       "+44.20.1234.5678",//global with visualSeparator .
@@ -421,8 +424,8 @@ public void test_valid_areaCode_for_LocalPhoneNumberBuilder(String validAreaCode
     };
   }
 
-  @Test
-  @Parameters(method = "getInvalidGlobalNumbers")
+  @ParameterizedTest
+  @MethodSource("getInvalidGlobalNumbers")
   public void test_invalid_globalNumber_for_GlobalPhoneNumberBuilder(String invalidGlobalNumber) throws Exception {
 
     LOGGER.info("invalid global number '" + invalidGlobalNumber + "' start");
@@ -455,39 +458,39 @@ public void test_invalid_padded_gloablNumber_for_GlobalPhoneNumberBuilder() thro
     }
   }
   
-  @Test
-  @Parameters(method = "getValidGlobalNumbers")
+  @ParameterizedTest
+  @MethodSource("getValidGlobalNumbers")
   public void test_valid_globalNumber_for_GlobalPhoneNumberBuilder(String validGlobalNumber) throws Exception {
 
     LOGGER.info("valid global number '" + validGlobalNumber + "' start");
     
     PhoneNumber phoneNumber = new GlobalPhoneNumberBuilder().globalNumber(validGlobalNumber).build();
-    assertNull("Extension should be null", phoneNumber.getExtension());
-    assertNull("SubAddress should be null", phoneNumber.getSubAddress());
-    assertNull("PhoneContext should be null", phoneNumber.getPhoneContext());
+    assertNull(phoneNumber.getExtension(), "Extension should be null");
+    assertNull(phoneNumber.getSubAddress(), "SubAddress should be null");
+    assertNull(phoneNumber.getPhoneContext(), "PhoneContext should be null");
     
     assertEquals(validGlobalNumber, phoneNumber.getNumber());
     assertEquals(("tel:"+validGlobalNumber), phoneNumber.getValue());
 
   }
   
-  @Test
-  @Parameters(method = "getValidGlobalNumbers")
+  @ParameterizedTest
+  @MethodSource("getValidGlobalNumbers")
   public void test_valid_noPlusSymbol_globalNumber_for_GlobalPhoneNumberBuilder(String validGlobalNumber) throws Exception {
     String temp = validGlobalNumber.replace("+", "");
     LOGGER.info("valid global number '" + temp + "' start");
     
     PhoneNumber phoneNumber = new GlobalPhoneNumberBuilder().globalNumber(temp).build();
-    assertNull("Extension should be null", phoneNumber.getExtension());
-    assertNull("SubAddress should be null", phoneNumber.getSubAddress());
-    assertNull("PhoneContext should be null", phoneNumber.getPhoneContext());
+    assertNull(phoneNumber.getExtension(), "Extension should be null");
+    assertNull(phoneNumber.getSubAddress(), "SubAddress should be null");
+    assertNull(phoneNumber.getPhoneContext(), "PhoneContext should be null");
 
     assertEquals("+" + temp, phoneNumber.getNumber());
     assertEquals(("tel:+" + temp), phoneNumber.getValue());
   }
   
   @SuppressWarnings("unused")
-  private String[] getInvalidDomainNames() {
+  private static String[] getInvalidDomainNames() {
     return new String[] { 
        "#1",
        "*1",
@@ -502,7 +505,7 @@ public void test_valid_noPlusSymbol_globalNumber_for_GlobalPhoneNumberBuilder(St
   }
   
   @SuppressWarnings("unused")
-  private String[] getValidDomainNames() {
+  private static String[] getValidDomainNames() {
     return new String[] { 
       "google.com",
       "2xkcd-ex.com",
@@ -511,8 +514,8 @@ public void test_valid_noPlusSymbol_globalNumber_for_GlobalPhoneNumberBuilder(St
     };
   }
   
-  @Test
-  @Parameters(method = "getInvalidDomainNames")
+  @ParameterizedTest
+  @MethodSource("getInvalidDomainNames")
   public void test_invalid_domainName_for_LocalPhoneNumberBuilder(String invalidDomainName) throws Exception {
 
     LOGGER.info("invalid domain name '" + invalidDomainName + "' start");
@@ -590,15 +593,15 @@ public void test_no_domainName_coutryCode_or_areaCode_for_LocalPhoneNumberBuilde
     }
   }
   
-  @Test
-  @Parameters(method = "getValidDomainNames")
+  @ParameterizedTest
+  @MethodSource("getValidDomainNames")
   public void test_valid_domainName_for_LocalPhoneNumberBuilder(String validDomainName) throws Exception {
 
     LOGGER.info("valid domain name '" + validDomainName + "' start");
     
     PhoneNumber phoneNumber = new LocalPhoneNumberBuilder().subscriberNumber("1707").domainName(validDomainName).build();
-    assertNull("Extension should be null", phoneNumber.getExtension());
-    assertNull("SubAddress should be null", phoneNumber.getSubAddress());
+    assertNull(phoneNumber.getExtension(), "Extension should be null");
+    assertNull(phoneNumber.getSubAddress(), "SubAddress should be null");
    
     assertEquals("1707", phoneNumber.getNumber());
     assertEquals(validDomainName, phoneNumber.getPhoneContext());
@@ -643,8 +646,8 @@ public void test_extension_for_GlobalPhoneNumberBuilder() throws PhoneNumberPars
                               .extension("1234")
                               .build();
     
-    assertNull("SubAddress should be null", phoneNumber.getSubAddress());
-    assertNull("PhoneContext should be null", phoneNumber.getPhoneContext());
+    assertNull(phoneNumber.getSubAddress(), "SubAddress should be null");
+    assertNull(phoneNumber.getPhoneContext(), "PhoneContext should be null");
 
     assertEquals("+1-888-888-5555", phoneNumber.getNumber());
     assertEquals("1234", phoneNumber.getExtension());
@@ -657,7 +660,7 @@ public void test_extension_for_LocalPhoneNumberBuilder() throws PhoneNumberParse
                               .extension("1234")
                               .build();
     
-    assertNull("SubAddress should be null", phoneNumber.getSubAddress());
+    assertNull(phoneNumber.getSubAddress(), "SubAddress should be null");
 
     assertEquals("888-5555", phoneNumber.getNumber());
     assertEquals("+1-888", phoneNumber.getPhoneContext());
@@ -671,8 +674,8 @@ public void test_subAddress_for_GlobalPhoneNumberBuilder() throws PhoneNumberPar
                               .subAddress("example.a.com")
                               .build();
     
-    assertNull("Extension should be null", phoneNumber.getExtension());
-    assertNull("PhoneContext should be null", phoneNumber.getPhoneContext());
+    assertNull(phoneNumber.getExtension(), "Extension should be null");
+    assertNull(phoneNumber.getPhoneContext(), "PhoneContext should be null");
 
     assertEquals("+1-888-888-5555", phoneNumber.getNumber());
     assertEquals("example.a.com", phoneNumber.getSubAddress());
@@ -685,7 +688,7 @@ public void test_subAddress_for_LocalPhoneNumberBuilder() throws PhoneNumberPars
                               .subAddress("example.a.com")
                               .build();
     
-    assertNull("Extension should be null", phoneNumber.getExtension());
+    assertNull(phoneNumber.getExtension(), "Extension should be null");
 
     assertEquals("888-5555", phoneNumber.getNumber());
     assertEquals("+1-888", phoneNumber.getPhoneContext());
@@ -701,8 +704,8 @@ public void test_adding_params_for_GlobalPhoneNumberBuilder() throws PhoneNumber
         .param("milhouse", "simpson")
         .build();
     
-    assertNull("SubAddress should be null", phoneNumber.getSubAddress());
-    assertNull("PhoneContext should be null", phoneNumber.getPhoneContext());
+    assertNull(phoneNumber.getSubAddress(), "SubAddress should be null");
+    assertNull(phoneNumber.getPhoneContext(), "PhoneContext should be null");
 
     assertEquals("+1-888-888-5555", phoneNumber.getNumber());
     assertEquals("1234", phoneNumber.getExtension());
@@ -717,7 +720,7 @@ public void test_adding_params_for_LocalPhoneNumberBuilder() throws PhoneNumberP
         .param("milhouse", "simpson")
         .build();
     
-    assertNull("Extension should be null", phoneNumber.getExtension());
+    assertNull(phoneNumber.getExtension(), "Extension should be null");
     
     assertEquals("888-5555", phoneNumber.getNumber());
     assertEquals("+1-888", phoneNumber.getPhoneContext());
@@ -825,7 +828,7 @@ public void test_valid_subAddress() throws PhoneNumberParseException {
                               .subAddress("%20azAZ09?@=,+$&/:_!~.-()")
                               .build();
     
-    assertNull("Extension should be null", phoneNumber.getExtension());
+    assertNull(phoneNumber.getExtension(), "Extension should be null");
     
     assertEquals("1707", phoneNumber.getNumber());
     assertEquals("example.a.com", phoneNumber.getPhoneContext());
@@ -844,7 +847,7 @@ public void test_invalid_subAddress() {
   }
   
   @SuppressWarnings("unused")
-  private String[] getInvalidExtensions() {
+  private static String[] getInvalidExtensions() {
     return new String[] { 
        "",
        "A",
@@ -862,7 +865,7 @@ public void test_invalid_subAddress() {
   }
   
   @SuppressWarnings("unused")
-  private String[] getValidExtensions() {
+  private static String[] getValidExtensions() {
     return new String[] { 
        "1",
        "1234",
@@ -888,8 +891,8 @@ public void test_invalid_subAddress() {
     };
   }
   
-  @Test
-  @Parameters(method = "getValidExtensions")
+  @ParameterizedTest
+  @MethodSource("getValidExtensions")
   public void test_valid_extension(String validExtension) throws PhoneNumberParseException {
     LOGGER.info("valid extension '" + validExtension + "' start");
     
@@ -898,15 +901,15 @@ public void test_valid_extension(String validExtension) throws PhoneNumberParseE
                               .build();
     
     assertEquals(validExtension, phoneNumber.getExtension());
-    assertNull("SubAddress should be null", phoneNumber.getSubAddress());
+    assertNull(phoneNumber.getSubAddress(), "SubAddress should be null");
     assertEquals("1234-5678", phoneNumber.getNumber());
     assertEquals("+44-20", phoneNumber.getPhoneContext());
     
     assertEquals(("tel:1234-5678;ext=" + validExtension + ";phone-context=+44-20"), phoneNumber.getValue());
   }
   
-  @Test
-  @Parameters(method = "getInvalidExtensions")
+  @ParameterizedTest
+  @MethodSource("getInvalidExtensions")
   public void test_invalid_extension(String invalidExtension) throws PhoneNumberParseException {
     LOGGER.info("invalid extension " + invalidExtension);
     try {
diff --git a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberJsonTest.java b/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberJsonTest.java
index 35cd514..4bce35a 100644
--- a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberJsonTest.java
+++ b/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberJsonTest.java
@@ -19,9 +19,6 @@
 
 package org.apache.directory.scim.spec.resources;
 
-import org.junit.Assert;
-import org.junit.Test;
-
 import com.fasterxml.jackson.annotation.JsonInclude.Include;
 import com.fasterxml.jackson.databind.AnnotationIntrospector;
 import com.fasterxml.jackson.databind.DeserializationFeature;
@@ -32,6 +29,9 @@
 import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule;
 
 import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 @Slf4j
 public class PhoneNumberJsonTest {
@@ -49,16 +49,16 @@ public void testPhoneNumberJson() throws Exception {
     
     PhoneNumber readValue = objectMapper.readValue(json, PhoneNumber.class);
     
-    Assert.assertEquals(phoneNumber.getNumber(), readValue.getNumber());
-    Assert.assertEquals(phoneNumber.getExtension(), readValue.getExtension());
-    Assert.assertEquals(phoneNumber.isDomainPhoneContext(), readValue.isDomainPhoneContext());
-    Assert.assertEquals(phoneNumber.isGlobalNumber(), readValue.isGlobalNumber());
-    Assert.assertEquals(phoneNumber.getPhoneContext(), readValue.getPhoneContext());
-    Assert.assertEquals(phoneNumber.getSubAddress(), readValue.getSubAddress());
-    Assert.assertEquals(phoneNumber.getPrimary(), readValue.getPrimary());
-    Assert.assertEquals(phoneNumber.getDisplay(), readValue.getDisplay());
-    Assert.assertEquals(phoneNumber.getType(), readValue.getType());
-    Assert.assertEquals(phoneNumber.getValue(), readValue.getValue());
+    assertEquals(phoneNumber.getNumber(), readValue.getNumber());
+    assertEquals(phoneNumber.getExtension(), readValue.getExtension());
+    assertEquals(phoneNumber.isDomainPhoneContext(), readValue.isDomainPhoneContext());
+    assertEquals(phoneNumber.isGlobalNumber(), readValue.isGlobalNumber());
+    assertEquals(phoneNumber.getPhoneContext(), readValue.getPhoneContext());
+    assertEquals(phoneNumber.getSubAddress(), readValue.getSubAddress());
+    assertEquals(phoneNumber.getPrimary(), readValue.getPrimary());
+    assertEquals(phoneNumber.getDisplay(), readValue.getDisplay());
+    assertEquals(phoneNumber.getType(), readValue.getType());
+    assertEquals(phoneNumber.getValue(), readValue.getValue());
 
     
     log.info("done");
diff --git a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/schema/SchemaTest.java b/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/schema/SchemaTest.java
index e31913c..75717ee 100644
--- a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/schema/SchemaTest.java
+++ b/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/schema/SchemaTest.java
@@ -19,10 +19,6 @@
 
 package org.apache.directory.scim.spec.schema;
 
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
 import java.io.InputStream;
 import java.util.Set;
 
@@ -31,30 +27,29 @@
 import javax.validation.Validator;
 import javax.validation.ValidatorFactory;
 
-import junitparams.JUnitParamsRunner;
-import junitparams.Parameters;
-
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
 import com.fasterxml.jackson.databind.AnnotationIntrospector;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
 import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule;
 
+import jdk.nashorn.internal.ir.annotations.Ignore;
 import org.apache.directory.scim.spec.schema.Schema.Attribute;
-import org.apache.directory.scim.spec.schema.Meta;
-import org.apache.directory.scim.spec.schema.Schema;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
+
+import static org.junit.jupiter.api.Assertions.fail;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-@RunWith(JUnitParamsRunner.class)
 public class SchemaTest {
 
   static ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory();;
   Validator validator;
 
-  @Before
+  @BeforeEach
   public void setUp() {
     validator = validatorFactory.getValidator();
   }
@@ -68,8 +63,8 @@ public void setUp() {
    *          the name of the resource on the classpath that contains the JSON
    *          representation of the schema.
    */
-  @Test
-  @Parameters({
+  @ParameterizedTest
+  @ValueSource( strings = {
       "schemas/urn:ietf:params:scim:schemas:core:2.0:User.json",
       "schemas/urn:ietf:params:scim:schemas:core:2.0:Group.json",
       "schemas/urn:ietf:params:scim:schemas:core:2.0:ResourceType.json",
@@ -117,50 +112,50 @@ public void testUnmarshallingProvidedSchemas(String schemaFileName) {
     }
   }
 
-  @Ignore
   @Test
+  @Disabled
   public void testGetId() {
     fail("Not yet implemented");
   }
 
-  @Ignore
   @Test
+  @Disabled
   public void testSetId() {
     fail("Not yet implemented");
   }
 
-  @Ignore
   @Test
+  @Disabled
   public void testGetName() {
     fail("Not yet implemented");
   }
 
-  @Ignore
   @Test
+  @Disabled
   public void testSetName() {
     fail("Not yet implemented");
   }
 
-  @Ignore
   @Test
+  @Disabled
   public void testGetDescription() {
     fail("Not yet implemented");
   }
 
-  @Ignore
   @Test
+  @Disabled
   public void testSetDescription() {
     fail("Not yet implemented");
   }
 
-  @Ignore
   @Test
+  @Disabled
   public void testGetAttributes() {
     fail("Not yet implemented");
   }
 
-  @Ignore
   @Test
+  @Disabled
   public void testSetAttributes() {
     fail("Not yet implemented");
   }
diff --git a/scim-tools/scim-tools-common/pom.xml b/scim-tools/scim-tools-common/pom.xml
index be535a5..4704a80 100644
--- a/scim-tools/scim-tools-common/pom.xml
+++ b/scim-tools/scim-tools-common/pom.xml
@@ -28,14 +28,6 @@
   <name>SCIM - Tools - Common</name>
 
   <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>pl.pragmatists</groupId>
-      <artifactId>JUnitParams</artifactId>
-    </dependency>
     <dependency>
       <groupId>com.fasterxml.jackson.jaxrs</groupId>
       <artifactId>jackson-jaxrs-json-provider</artifactId>
@@ -49,6 +41,21 @@
       <artifactId>jsondiff</artifactId>
       <version>2.0.0</version>
     </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-api</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-params</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-engine</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/scim-tools/scim-tools-common/src/test/java/org/apache/directory/scim/spec/schema/MapperTest.java b/scim-tools/scim-tools-common/src/test/java/org/apache/directory/scim/spec/schema/MapperTest.java
index 6111ba1..136d325 100644
--- a/scim-tools/scim-tools-common/src/test/java/org/apache/directory/scim/spec/schema/MapperTest.java
+++ b/scim-tools/scim-tools-common/src/test/java/org/apache/directory/scim/spec/schema/MapperTest.java
@@ -19,12 +19,6 @@
 
 package org.apache.directory.scim.spec.schema;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeNotNull;
-import static org.junit.Assume.assumeTrue;
-
 import java.text.ParseException;
 import java.util.Calendar;
 import java.util.Date;
@@ -34,15 +28,18 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import junitparams.JUnitParamsRunner;
-import junitparams.Parameters;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.CsvSource;
+import org.junit.jupiter.params.provider.MethodSource;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
 
-@RunWith(JUnitParamsRunner.class)
 public class MapperTest {
 
   static final String[] ISO_DATETIME_EXAMPLES = {
@@ -50,14 +47,7 @@
       "2015-04-26T01:37:17Z"
   };
 
-  Mapper mapper;
-
-  @Before
-  public void setUp() {
-    mapper = new Mapper();
-  }
-
-  String[] getIsoDateTimeExamples() {
+  static String[] getIsoDateTimeExamples() {
     return ISO_DATETIME_EXAMPLES;
   }
 
@@ -67,8 +57,8 @@ public void setUp() {
    * 
    * @param isoDateTime a String[] of examples to test.
    */
-  @Test
-  @Parameters(method = "getIsoDateTimeExamples")
+  @ParameterizedTest
+  @MethodSource("getIsoDateTimeExamples")
   public void testDateTimePatternWorksForIso8601Strings(String isoDateTime) {
     Pattern pattern = Pattern.compile(Mapper.ISO8601_PATTERN);
     assertNotNull(pattern);
@@ -82,11 +72,10 @@ public void testDateTimePatternWorksForIso8601Strings(String isoDateTime) {
    * 
    * @param isoDateTime a String[] of examples to test.
    */
-  @Test
-  @Parameters(method = "getIsoDateTimeExamples")
+  @ParameterizedTest
+  @MethodSource("getIsoDateTimeExamples")
   public void testDateTimeGroupIndexesProvideCorrectSubstrings(String isoDateTime) {
     Pattern pattern = Pattern.compile(Mapper.ISO8601_PATTERN);
-    assumeNotNull(pattern);
     Matcher matcher = pattern.matcher(isoDateTime);
     assumeTrue(matcher.matches());
     assertEquals("2015", matcher.group(Mapper.DATE_COMPONENT_INDEX_YEAR));
@@ -99,9 +88,10 @@ public void testDateTimeGroupIndexesProvideCorrectSubstrings(String isoDateTime)
         "Z".equals(matcher.group(Mapper.TIMEZONE_COMPONENT_INDEX)));
   }
   
-  @Test
-  @Parameters(method = "getIsoDateTimeExamples")
+  @ParameterizedTest
+  @MethodSource("getIsoDateTimeExamples")
   public void testConvertDateTimeFromString(String isoDateTime) throws ParseException {
+    Mapper mapper = new Mapper();
     Date date = mapper.convertDateTime(isoDateTime);
     TimeZone timeZone = new SimpleTimeZone(0, "GMT");
     GregorianCalendar calendar = new GregorianCalendar(timeZone);
@@ -115,8 +105,9 @@ public void testConvertDateTimeFromString(String isoDateTime) throws ParseExcept
   }
   
   @Test
-  @Ignore //TODO
-  public void testConvertDateTimeFromDate() {
+  @Disabled
+  public void convertDateTimeFromDate() {
+    Mapper mapper = new Mapper();
     TimeZone timeZone = new SimpleTimeZone(0, "GMT");
     GregorianCalendar calendar = new GregorianCalendar(timeZone);
     calendar.set(Calendar.YEAR, 2015);
@@ -138,8 +129,8 @@ public void testConvertDateTimeFromDate() {
    * @param expectedHours the expected hours.
    * @param expectedMinutes the expected minutes.
    */
-  @Test
-  @Parameters({
+  @ParameterizedTest
+  @CsvSource({
       " 00:00,   0,    0",
       "+00:00,   0,    0",
       "-00:00,  -0,    0",
@@ -159,6 +150,7 @@ public void testConvertDateTimeFromDate() {
       "-05,     -5,    0",
   })
   public void testConvertTimeZone(String isoTimeZone, int expectedHours, int expectedMinutes) {
+    Mapper mapper = new Mapper();
     TimeZone timeZone = mapper.convertTimeZone(isoTimeZone);
     int actualOffsetMinutes = timeZone.getRawOffset() / 1000;
     int actualHours = actualOffsetMinutes / 60;
diff --git a/scim-tools/scim-tools-common/src/test/java/org/apache/directory/scim/tools/common/LintTest.java b/scim-tools/scim-tools-common/src/test/java/org/apache/directory/scim/tools/common/LintTest.java
index 4b80445..1490580 100644
--- a/scim-tools/scim-tools-common/src/test/java/org/apache/directory/scim/tools/common/LintTest.java
+++ b/scim-tools/scim-tools-common/src/test/java/org/apache/directory/scim/tools/common/LintTest.java
@@ -19,39 +19,27 @@
 
 package org.apache.directory.scim.tools.common;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.JsonNode;
 
-import junitparams.JUnitParamsRunner;
-import junitparams.Parameters;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
+
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.fail;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-@RunWith(JUnitParamsRunner.class)
 public class LintTest {
-  
-  Lint lint;
-  
-  @Before
-  public void setUp() {
-    lint = new Lint();
-  }
 
-  @Test
-  @Ignore // TODO - Change the file names to match those provided by the
+  @ParameterizedTest
+  @Disabled // TODO - Change the file names to match those provided by the
           //        scim-spec-schema module and figure out why some schemas
           //        don't have meta attributes.
-  @Parameters({
+  @ValueSource(strings = {
     "schemas/user-schema.json",
     "schemas/group-schema.json",
     "schemas/resource-type-schema.json",
@@ -60,6 +48,7 @@ public void setUp() {
     "schemas/enterprise-user-schema.json"
   })
   public void testConvertWithSchemas(String schemaFileName) throws IOException {
+    Lint lint = new Lint();
     ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
     InputStream inputStream = classLoader.getResourceAsStream(schemaFileName);
 
@@ -73,8 +62,8 @@ public void testConvertWithSchemas(String schemaFileName) throws IOException {
     }
   }
 
-  @Test
-  @Parameters({
+  @ParameterizedTest
+  @ValueSource(strings = {
     "examples/enterprise-user-example.json",
     "examples/full-user-example.json",
     "examples/group-example.json",
@@ -83,6 +72,7 @@ public void testConvertWithSchemas(String schemaFileName) throws IOException {
     "examples/resource-type-user-example.json"
   })
   public void testConvertWithExamples(String exampleFileName) throws IOException {
+    Lint lint = new Lint();
     ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
     InputStream inputStream = classLoader.getResourceAsStream(exampleFileName);
 


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services