You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by co...@apache.org on 2021/02/26 08:35:09 UTC

[directory-server] branch master updated: Switched kerberos-codec to Junit5

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

coheigea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/directory-server.git


The following commit(s) were added to refs/heads/master by this push:
     new eb240df  Switched kerberos-codec to Junit5
eb240df is described below

commit eb240dff966279bc8bc6ca82df013bc17c8c8192
Author: Colm O hEigeartaigh <co...@apache.org>
AuthorDate: Fri Feb 26 08:29:49 2021 +0000

    Switched kerberos-codec to Junit5
---
 .../server/kerberos/shared/KerberosUtilsTest.java  |  11 +--
 .../crypto/encryption/AesEncryptionTest.java       |   7 +-
 .../crypto/encryption/CipherTextHandlerTest.java   |   7 +-
 .../encryption/Des3CbcSha1KdEncryptionTest.java    |   7 +-
 .../crypto/encryption/DesCbcCrcEncryptionTest.java |   7 +-
 .../crypto/encryption/DesCbcMd5EncryptionTest.java |   7 +-
 .../crypto/encryption/DesStringToKeyTest.java      |   7 +-
 .../crypto/encryption/KerberosKeyFactoryTest.java  |   7 +-
 .../shared/crypto/encryption/KeyTypeTest.java      |   7 +-
 .../shared/crypto/encryption/NFoldTest.java        |   7 +-
 .../crypto/encryption/RandomKeyFactoryTest.java    |   7 +-
 .../server/kerberos/shared/keytab/KeytabTest.java  |   7 +-
 .../shared/messages/components/TicketTest.java     |   7 +-
 .../messages/value/AuthorizationDataTest.java      |   7 +-
 .../shared/messages/value/ChecksumTest.java        |  11 +--
 .../shared/messages/value/EncryptedDataTest.java   |   7 +-
 .../shared/messages/value/EncryptionKeyTest.java   |  11 +--
 .../shared/messages/value/KdcOptionsTest.java      |   7 +-
 .../kerberos/shared/messages/value/PaDataTest.java |   7 +-
 .../shared/messages/value/PrincipalNameTest.java   |   7 +-
 .../value/flags/AbstractKerberosFlagsTest.java     |   7 +-
 .../messages/value/flags/TicketFlagsTest.java      |   7 +-
 .../shared/replay/ReplayCacheImplTest.java         |   2 +-
 .../shared/kerberos/codec/AdAndOrDecoderTest.java  |  52 ++++++-----
 .../kerberos/codec/AdIfRelevantDecoderTest.java    |   2 +-
 .../kerberos/codec/AdKdcIssuedDecoderTest.java     |  14 ++-
 .../codec/AdMandatoryForKdcDecoderTest.java        |   2 +-
 .../shared/kerberos/codec/ApRepDecoderTest.java    |  53 +++++------
 .../shared/kerberos/codec/ApReqDecoderTest.java    |  30 +++---
 .../shared/kerberos/codec/AsRepDecoderTest.java    |  35 ++++---
 .../shared/kerberos/codec/AsReqDecoderTest.java    |  22 ++---
 .../kerberos/codec/AuthenticatorDecoderTest.java   |  43 ++++-----
 .../codec/AuthorizationDataDecoderTest.java        |  59 +++++++-----
 .../codec/ChangePasswdDataDecoderTest.java         |   2 +-
 .../shared/kerberos/codec/ChecksumDecoderTest.java |  24 +++--
 .../kerberos/codec/ETypeInfo2DecoderTest.java      |  26 +++---
 .../kerberos/codec/ETypeInfo2EntryDecoderTest.java |  38 ++++----
 .../kerberos/codec/ETypeInfoDecoderTest.java       |  26 +++---
 .../kerberos/codec/ETypeInfoEntryDecoderTest.java  |  38 ++++----
 .../kerberos/codec/EncApRepPartDecoderTest.java    |  43 ++++-----
 .../kerberos/codec/EncAsRepPartDecoderTest.java    |  22 ++---
 .../kerberos/codec/EncKdcRepPartDecoderTest.java   |  59 +++++++-----
 .../kerberos/codec/EncKrbCredPartDecoderTest.java  |   6 +-
 .../kerberos/codec/EncKrbPrivPartDecoderTest.java  |   2 +-
 .../kerberos/codec/EncTgsRepPartDecoderTest.java   |  22 ++---
 .../kerberos/codec/EncTicketPartDecoderTest.java   |   6 +-
 .../kerberos/codec/EncryptedDataDecoderTest.java   |  63 +++++++------
 .../kerberos/codec/EncryptionKeyDecoderTest.java   |  54 ++++++-----
 .../kerberos/codec/HostAddressDecoderTest.java     |  58 ++++++------
 .../kerberos/codec/HostAddressesDecoderTest.java   |  23 +++--
 .../shared/kerberos/codec/KdcRepDecoderTest.java   |  29 +++---
 .../kerberos/codec/KdcReqBodyDecoderTest.java      |  36 +++----
 .../shared/kerberos/codec/KdcReqDecoderTest.java   |  30 +++---
 .../kerberos/codec/KerberosMessageDecoderTest.java |   7 +-
 .../shared/kerberos/codec/KrbCredDecoderTest.java  |   2 +-
 .../kerberos/codec/KrbCredInfoDecoderTest.java     |   6 +-
 .../shared/kerberos/codec/KrbErrorDecoderTest.java |   2 +-
 .../shared/kerberos/codec/KrbPrivDecoderTest.java  |   2 +-
 .../kerberos/codec/KrbSafeBodyDecoderTest.java     |   2 +-
 .../shared/kerberos/codec/KrbSafeDecoderTest.java  |   9 +-
 .../shared/kerberos/codec/LastReqDecoderTest.java  |  39 ++++----
 .../kerberos/codec/MethodDataDecoderTest.java      |  23 ++---
 .../shared/kerberos/codec/PaDataDecoderTest.java   |  19 ++--
 .../kerberos/codec/PaEncTimestampDecoderTest.java  |   7 +-
 .../kerberos/codec/PaEncTsEncDecoderTest.java      |  39 ++++----
 .../kerberos/codec/PrincipalNameDecoderTest.java   |  69 ++++++++------
 .../shared/kerberos/codec/TgsRepDecoderTest.java   |  35 ++++---
 .../shared/kerberos/codec/TgsReqDecoderTest.java   |  26 +++---
 .../shared/kerberos/codec/TicketDecoderTest.java   | 104 +++++++++++++--------
 .../codec/TransitedEncodingDecoderTest.java        |  50 +++++-----
 .../kerberos/codec/TypedDataDecoderTest.java       |  39 ++++----
 .../kerberos/codec/flags/TicketFlagsTest.java      |   2 +-
 .../shared/kerberos/codec/options/OptionsTest.java |   2 +-
 73 files changed, 775 insertions(+), 796 deletions(-)

diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/KerberosUtilsTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/KerberosUtilsTest.java
index c942803..7e7e0fd 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/KerberosUtilsTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/KerberosUtilsTest.java
@@ -26,12 +26,9 @@ import java.util.List;
 
 import javax.security.auth.kerberos.KerberosPrincipal;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 import org.apache.directory.api.util.Network;
 import org.apache.directory.shared.kerberos.KerberosUtils;
 
@@ -41,11 +38,9 @@ import org.apache.directory.shared.kerberos.KerberosUtils;
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class KerberosUtilsTest
 {
-    @BeforeClass
+    @BeforeAll
     public static void setUp() throws Exception
     {
         // First setup a default realm
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/AesEncryptionTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/AesEncryptionTest.java
index 3cb3a15..8681adf 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/AesEncryptionTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/AesEncryptionTest.java
@@ -29,10 +29,7 @@ import javax.crypto.SecretKey;
 import javax.crypto.spec.IvParameterSpec;
 import javax.crypto.spec.SecretKeySpec;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -44,8 +41,6 @@ import static org.junit.Assert.assertTrue;
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class AesEncryptionTest
 {
     private static final byte[] KEY_BYTES =
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/CipherTextHandlerTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/CipherTextHandlerTest.java
index fac900e..89e6b89 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/CipherTextHandlerTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/CipherTextHandlerTest.java
@@ -36,11 +36,8 @@ import org.apache.directory.shared.kerberos.components.EncryptedData;
 import org.apache.directory.shared.kerberos.components.EncryptionKey;
 import org.apache.directory.shared.kerberos.components.PaEncTsEnc;
 import org.apache.directory.shared.kerberos.exceptions.KerberosException;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.shared.kerberos.KerberosUtils;
 
@@ -49,8 +46,6 @@ import org.apache.directory.shared.kerberos.KerberosUtils;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class CipherTextHandlerTest
 {
     private static final byte[] DES_ENCRYPTED_TIME_STAMP =
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/Des3CbcSha1KdEncryptionTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/Des3CbcSha1KdEncryptionTest.java
index 15693c9..79baf85 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/Des3CbcSha1KdEncryptionTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/Des3CbcSha1KdEncryptionTest.java
@@ -25,10 +25,7 @@ import java.util.Arrays;
 import javax.security.auth.kerberos.KerberosKey;
 import javax.security.auth.kerberos.KerberosPrincipal;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -40,8 +37,6 @@ import static org.junit.Assert.assertTrue;
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class Des3CbcSha1KdEncryptionTest
 {
     private static final Des3CbcSha1KdEncryption keyDerivationFunction = new Des3CbcSha1KdEncryption();
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/DesCbcCrcEncryptionTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/DesCbcCrcEncryptionTest.java
index 67aa969..24fc19d 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/DesCbcCrcEncryptionTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/DesCbcCrcEncryptionTest.java
@@ -25,13 +25,10 @@ import static org.junit.Assert.assertTrue;
 import javax.security.auth.kerberos.KerberosKey;
 import javax.security.auth.kerberos.KerberosPrincipal;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 import org.apache.directory.shared.kerberos.components.EncryptedData;
 import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
 import org.apache.directory.shared.kerberos.components.EncryptionKey;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -39,8 +36,6 @@ import org.junit.runner.RunWith;
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class DesCbcCrcEncryptionTest
 {
     private static final char[] PASSWORD = "password".toCharArray();
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/DesCbcMd5EncryptionTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/DesCbcMd5EncryptionTest.java
index c91cd12..2dcfa74 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/DesCbcMd5EncryptionTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/DesCbcMd5EncryptionTest.java
@@ -25,13 +25,10 @@ import static org.junit.Assert.assertTrue;
 import javax.security.auth.kerberos.KerberosKey;
 import javax.security.auth.kerberos.KerberosPrincipal;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 import org.apache.directory.shared.kerberos.components.EncryptedData;
 import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
 import org.apache.directory.shared.kerberos.components.EncryptionKey;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -39,8 +36,6 @@ import org.junit.runner.RunWith;
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class DesCbcMd5EncryptionTest
 {
     private static final char[] PASSWORD = "password".toCharArray();
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/DesStringToKeyTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/DesStringToKeyTest.java
index 273def1..a9fdbac 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/DesStringToKeyTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/DesStringToKeyTest.java
@@ -25,10 +25,7 @@ import java.util.Arrays;
 
 import javax.crypto.spec.DESKeySpec;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
 import static org.junit.Assert.assertTrue;
 
@@ -39,8 +36,6 @@ import static org.junit.Assert.assertTrue;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class DesStringToKeyTest
 {
     private static final byte[] FAN_FOLD1 =
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/KerberosKeyFactoryTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/KerberosKeyFactoryTest.java
index 93d3b52..fa63ea8 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/KerberosKeyFactoryTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/KerberosKeyFactoryTest.java
@@ -31,12 +31,9 @@ import java.util.Set;
 import javax.security.auth.kerberos.KerberosKey;
 import javax.security.auth.kerberos.KerberosPrincipal;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
 import org.apache.directory.shared.kerberos.components.EncryptionKey;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -45,8 +42,6 @@ import org.junit.runner.RunWith;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class KerberosKeyFactoryTest
 {
     /**
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/KeyTypeTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/KeyTypeTest.java
index 4e2229c..8526978 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/KeyTypeTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/KeyTypeTest.java
@@ -40,11 +40,8 @@ import javax.crypto.SecretKeyFactory;
 import javax.crypto.spec.DESKeySpec;
 
 import org.apache.directory.api.util.Strings;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 
 /**
@@ -64,8 +61,6 @@ import com.mycila.junit.concurrent.ConcurrentJunitRunner;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class KeyTypeTest
 {
     /**
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/NFoldTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/NFoldTest.java
index 4a5466c..0f9ff4e 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/NFoldTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/NFoldTest.java
@@ -26,11 +26,8 @@ import static org.junit.Assert.assertTrue;
 import java.util.Arrays;
 
 import org.apache.directory.api.util.Strings;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 
 /**
@@ -39,8 +36,6 @@ import com.mycila.junit.concurrent.ConcurrentJunitRunner;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class NFoldTest
 {
     /**
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/RandomKeyFactoryTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/RandomKeyFactoryTest.java
index d14b248..238f75f 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/RandomKeyFactoryTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/crypto/encryption/RandomKeyFactoryTest.java
@@ -31,12 +31,9 @@ import javax.crypto.KeyGenerator;
 import javax.crypto.SecretKey;
 import javax.crypto.spec.DESKeySpec;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
 import org.apache.directory.shared.kerberos.components.EncryptionKey;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -45,8 +42,6 @@ import org.junit.runner.RunWith;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class RandomKeyFactoryTest
 {
     /**
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/keytab/KeytabTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/keytab/KeytabTest.java
index 7305193..163e9e8 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/keytab/KeytabTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/keytab/KeytabTest.java
@@ -40,11 +40,8 @@ import org.apache.directory.shared.kerberos.KerberosTime;
 import org.apache.directory.shared.kerberos.KerberosUtils;
 import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
 import org.apache.directory.shared.kerberos.components.EncryptionKey;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 
 /**
@@ -54,8 +51,6 @@ import com.mycila.junit.concurrent.ConcurrentJunitRunner;
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class KeytabTest
 {
     private static final byte[] keytab1 = new byte[]
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/components/TicketTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/components/TicketTest.java
index dd73fe3..4237597 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/components/TicketTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/components/TicketTest.java
@@ -28,11 +28,8 @@ import org.apache.directory.api.util.Strings;
 import org.apache.directory.server.kerberos.shared.store.TicketFactory;
 import org.apache.directory.shared.kerberos.components.EncryptionKey;
 import org.apache.directory.shared.kerberos.messages.Ticket;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 
 /**
@@ -40,8 +37,6 @@ import com.mycila.junit.concurrent.ConcurrentJunitRunner;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class TicketTest
 {
     @Test
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/AuthorizationDataTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/AuthorizationDataTest.java
index c0b2b0f..1532fc2 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/AuthorizationDataTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/AuthorizationDataTest.java
@@ -25,13 +25,10 @@ import static org.junit.Assert.assertTrue;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 import org.apache.directory.shared.kerberos.codec.types.AuthorizationType;
 import org.apache.directory.shared.kerberos.components.AuthorizationData;
 import org.apache.directory.shared.kerberos.components.AuthorizationDataEntry;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -39,8 +36,6 @@ import org.junit.runner.RunWith;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class AuthorizationDataTest
 {
     @Test
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/ChecksumTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/ChecksumTest.java
index 9575881..4fffdbd 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/ChecksumTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/ChecksumTest.java
@@ -27,13 +27,10 @@ import static org.junit.Assert.assertTrue;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 import org.apache.directory.shared.kerberos.components.Checksum;
 import org.apache.directory.shared.kerberos.crypto.checksum.ChecksumType;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -41,8 +38,6 @@ import org.junit.runner.RunWith;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class ChecksumTest
 {
     private static Checksum checksumA;
@@ -65,7 +60,7 @@ public class ChecksumTest
     /**
      * Initialize name instances
      */
-    @BeforeClass
+    @BeforeAll
     public static void initNames() throws Exception
     {
         checksumA = new Checksum( ChecksumType.RSA_MD5, CHECKSUM_VALUE_A );
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/EncryptedDataTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/EncryptedDataTest.java
index 5991045..15010e2 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/EncryptedDataTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/EncryptedDataTest.java
@@ -26,14 +26,11 @@ import static org.junit.Assert.assertTrue;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
 import org.apache.directory.shared.kerberos.components.EncryptedData;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -41,8 +38,6 @@ import org.junit.runner.RunWith;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class EncryptedDataTest
 {
     @Test
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/EncryptionKeyTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/EncryptionKeyTest.java
index f6c6b35..0a05136 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/EncryptionKeyTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/EncryptionKeyTest.java
@@ -27,15 +27,12 @@ import static org.junit.Assert.assertTrue;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.EncoderException;
 import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
 import org.apache.directory.shared.kerberos.components.EncryptionKey;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -43,8 +40,6 @@ import org.junit.runner.RunWith;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class EncryptionKeyTest
 {
     private static EncryptionKey encryptionA;
@@ -64,7 +59,7 @@ public class EncryptionKeyTest
     /**
      * Initialize name instances
      */
-    @BeforeClass
+    @BeforeAll
     public static void initNames() throws Exception
     {
         encryptionA = new EncryptionKey( EncryptionType.AES128_CTS_HMAC_SHA1_96, ENCRYPTION_VALUE_A );
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/KdcOptionsTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/KdcOptionsTest.java
index ec0209b..9108113 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/KdcOptionsTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/KdcOptionsTest.java
@@ -24,18 +24,13 @@ import static org.junit.Assert.assertTrue;
 
 import java.util.Arrays;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 import org.apache.directory.shared.kerberos.codec.options.KdcOptions;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
 
 /**
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class KdcOptionsTest
 {
     private static final byte[] fpriOptions =
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/PaDataTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/PaDataTest.java
index 82aeb3a..0c59ea0 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/PaDataTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/PaDataTest.java
@@ -25,12 +25,9 @@ import static org.junit.Assert.assertTrue;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 import org.apache.directory.shared.kerberos.codec.types.PaDataType;
 import org.apache.directory.shared.kerberos.components.PaData;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -38,8 +35,6 @@ import org.junit.runner.RunWith;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class PaDataTest
 {
     @Test
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/PrincipalNameTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/PrincipalNameTest.java
index 5c80b8a..035070c 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/PrincipalNameTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/PrincipalNameTest.java
@@ -27,11 +27,8 @@ import java.nio.ByteBuffer;
 import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.types.PrincipalNameType;
 import org.apache.directory.shared.kerberos.components.PrincipalName;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 
 /**
@@ -39,8 +36,6 @@ import com.mycila.junit.concurrent.ConcurrentJunitRunner;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class PrincipalNameTest
 {
     @Test
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/flags/AbstractKerberosFlagsTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/flags/AbstractKerberosFlagsTest.java
index 88eafbd..dc40ae7 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/flags/AbstractKerberosFlagsTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/flags/AbstractKerberosFlagsTest.java
@@ -26,11 +26,8 @@ import static org.junit.Assert.assertTrue;
 
 import org.apache.directory.shared.kerberos.flags.AbstractKerberosFlags;
 import org.apache.directory.shared.kerberos.flags.TicketFlag;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 
 /**
@@ -38,8 +35,6 @@ import com.mycila.junit.concurrent.ConcurrentJunitRunner;
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class AbstractKerberosFlagsTest
 {
     @Test
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/flags/TicketFlagsTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/flags/TicketFlagsTest.java
index 92f1ead..d7da6a3 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/flags/TicketFlagsTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/flags/TicketFlagsTest.java
@@ -24,12 +24,9 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 import org.apache.directory.shared.kerberos.flags.TicketFlag;
 import org.apache.directory.shared.kerberos.flags.TicketFlags;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -37,8 +34,6 @@ import org.junit.runner.RunWith;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class TicketFlagsTest
 {
 
diff --git a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/replay/ReplayCacheImplTest.java b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/replay/ReplayCacheImplTest.java
index 4827553..9728e20 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/replay/ReplayCacheImplTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/server/kerberos/shared/replay/ReplayCacheImplTest.java
@@ -37,7 +37,7 @@ import org.apache.directory.junit.tools.MultiThreadedMultiInvoker;
 import org.apache.directory.shared.kerberos.KerberosTime;
 import org.apache.directory.shared.kerberos.codec.types.PrincipalNameType;
 import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.junit.runner.RunWith;
 
 import com.mycila.junit.concurrent.Concurrency;
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AdAndOrDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AdAndOrDecoderTest.java
index 8075da6..7e5ac13 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AdAndOrDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AdAndOrDecoderTest.java
@@ -32,7 +32,8 @@ import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.adAndOr.AdAndOrContainer;
 import org.apache.directory.shared.kerberos.components.AdAndOr;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -133,7 +134,7 @@ public class AdAndOrDecoderTest
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeAdAndOrWithEmptySeq() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 2 );
@@ -148,12 +149,13 @@ public class AdAndOrDecoderTest
         AdAndOrContainer adAndOrContainer = new AdAndOrContainer();
         adAndOrContainer.setStream( stream );
 
-        Asn1Decoder.decode( stream, adAndOrContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, adAndOrContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeAdAndOrEmptyConditionCount() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 4 );
@@ -169,12 +171,13 @@ public class AdAndOrDecoderTest
         AdAndOrContainer adAndOrContainer = new AdAndOrContainer();
         adAndOrContainer.setStream( stream );
 
-        Asn1Decoder.decode( stream, adAndOrContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, adAndOrContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeAdAndOrNullConditionCount() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 6 );
@@ -191,12 +194,13 @@ public class AdAndOrDecoderTest
         AdAndOrContainer adAndOrContainer = new AdAndOrContainer();
         adAndOrContainer.setStream( stream );
 
-        Asn1Decoder.decode( stream, adAndOrContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, adAndOrContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeAdAndOrNoConditionCount() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 0x28 );
@@ -248,12 +252,13 @@ public class AdAndOrDecoderTest
         AdAndOrContainer adAndOrContainer = new AdAndOrContainer();
         adAndOrContainer.setStream( stream );
 
-        Asn1Decoder.decode( stream, adAndOrContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, adAndOrContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeAdAndOrNoElements() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 0x07 );
@@ -272,12 +277,13 @@ public class AdAndOrDecoderTest
         AdAndOrContainer adAndOrContainer = new AdAndOrContainer();
         adAndOrContainer.setStream( stream );
 
-        Asn1Decoder.decode( stream, adAndOrContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, adAndOrContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeAdAndOrEmptyElements() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 0x09 );
@@ -297,12 +303,13 @@ public class AdAndOrDecoderTest
 
         AdAndOrContainer adAndOrContainer = new AdAndOrContainer();
 
-        Asn1Decoder.decode( stream, adAndOrContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, adAndOrContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeAdAndOrNullElements() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 0x0B );
@@ -325,7 +332,8 @@ public class AdAndOrDecoderTest
         AdAndOrContainer adAndOrContainer = new AdAndOrContainer();
         adAndOrContainer.setStream( stream );
 
-        Asn1Decoder.decode( stream, adAndOrContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, adAndOrContainer);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AdIfRelevantDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AdIfRelevantDecoderTest.java
index 4708a46..570e107 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AdIfRelevantDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AdIfRelevantDecoderTest.java
@@ -37,7 +37,7 @@ import org.apache.directory.shared.kerberos.codec.adIfRelevant.AdIfRelevantConta
 import org.apache.directory.shared.kerberos.codec.types.AuthorizationType;
 import org.apache.directory.shared.kerberos.components.AdIfRelevant;
 import org.apache.directory.shared.kerberos.components.AuthorizationDataEntry;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 /**
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AdKdcIssuedDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AdKdcIssuedDecoderTest.java
index b5da36d..2b3fbf4 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AdKdcIssuedDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AdKdcIssuedDecoderTest.java
@@ -29,8 +29,6 @@ import static org.junit.Assert.fail;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -46,16 +44,14 @@ import org.apache.directory.shared.kerberos.components.AuthorizationDataEntry;
 import org.apache.directory.shared.kerberos.components.Checksum;
 import org.apache.directory.shared.kerberos.components.PrincipalName;
 import org.apache.directory.shared.kerberos.crypto.checksum.ChecksumType;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
  * Test cases for AD-KDCIssued decoder.
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class AdKdcIssuedDecoderTest
 {
     /**
@@ -374,7 +370,7 @@ public class AdKdcIssuedDecoderTest
     /**
      * Test the decoding of an empty AdKDCIssued message
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketEmpty() throws Exception
     {
         ByteBuffer stream = ByteBuffer.allocate( 0x02 );
@@ -389,6 +385,8 @@ public class AdKdcIssuedDecoderTest
         adKdcIssuedContainer.setStream( stream );
 
         // Decode the AdKDCIssued PDU
-        Asn1Decoder.decode( stream, adKdcIssuedContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, adKdcIssuedContainer);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AdMandatoryForKdcDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AdMandatoryForKdcDecoderTest.java
index 34f6230..93f209e 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AdMandatoryForKdcDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AdMandatoryForKdcDecoderTest.java
@@ -37,7 +37,7 @@ import org.apache.directory.shared.kerberos.codec.adMandatoryForKdc.AdMandatoryF
 import org.apache.directory.shared.kerberos.codec.types.AuthorizationType;
 import org.apache.directory.shared.kerberos.components.AdMandatoryForKdc;
 import org.apache.directory.shared.kerberos.components.AuthorizationDataEntry;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 /**
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ApRepDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ApRepDecoderTest.java
index e1e1057..2ee18fe 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ApRepDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ApRepDecoderTest.java
@@ -25,8 +25,6 @@ import static org.junit.Assert.fail;
 
 import java.nio.ByteBuffer;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -34,16 +32,14 @@ import org.apache.directory.api.asn1.ber.Asn1Container;
 import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.shared.kerberos.codec.apRep.ApRepContainer;
 import org.apache.directory.shared.kerberos.messages.ApRep;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
  * Test the decoder for a AP-REP
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class ApRepDecoderTest
 {
     /**
@@ -132,7 +128,7 @@ public class ApRepDecoderTest
     /**
      * Test the decoding of a AP-REP message with a wrong msg-type
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeFullApRepWrongMsgType() throws Exception
     {
 
@@ -175,18 +171,19 @@ public class ApRepDecoderTest
         stream.flip();
 
         // Allocate a AsRep Container
-        ApRepContainer apRepContainer = new ApRepContainer( stream );
+        ApRepContainer container = new ApRepContainer( stream );
 
         // Decode the ApRep PDU
-        Asn1Decoder.decode( stream, apRepContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
     /**
      * Test the decoding of a AP-REP with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testApRepEmpty() throws DecoderException
     {
 
@@ -198,18 +195,19 @@ public class ApRepDecoderTest
         stream.flip();
 
         // Allocate a AP-REP Container
-        Asn1Container apRepContainer = new ApRepContainer( stream );
+        Asn1Container container = new ApRepContainer( stream );
 
         // Decode the AP-REP PDU
-        Asn1Decoder.decode( stream, apRepContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
     /**
      * Test the decoding of a AP-REP with empty SEQ
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testApRepEmptSEQ() throws DecoderException
     {
 
@@ -224,18 +222,19 @@ public class ApRepDecoderTest
         stream.flip();
 
         // Allocate a AP-REP Container
-        Asn1Container apRepContainer = new ApRepContainer( stream );
+        Asn1Container container = new ApRepContainer( stream );
 
         // Decode the AP-REP PDU
-        Asn1Decoder.decode( stream, apRepContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
     /**
      * Test the decoding of a AP-REP with empty Pvno tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testApRepEmptyPvnoTag() throws DecoderException
     {
 
@@ -251,18 +250,19 @@ public class ApRepDecoderTest
         stream.flip();
 
         // Allocate a AP-REP Container
-        Asn1Container apRepContainer = new ApRepContainer( stream );
+        Asn1Container container = new ApRepContainer( stream );
 
         // Decode the AP-REP PDU
-        Asn1Decoder.decode( stream, apRepContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
     /**
      * Test the decoding of a AP-REP with empty Pvno value
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testAsRepEmptyPvnoValue() throws DecoderException
     {
 
@@ -279,10 +279,11 @@ public class ApRepDecoderTest
         stream.flip();
 
         // Allocate a AP-REP Container
-        Asn1Container apRepContainer = new ApRepContainer( stream );
+        Asn1Container container = new ApRepContainer( stream );
 
         // Decode the AP-REP PDU
-        Asn1Decoder.decode( stream, apRepContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ApReqDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ApReqDecoderTest.java
index ace1ec7..7450dae 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ApReqDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ApReqDecoderTest.java
@@ -32,20 +32,16 @@ import org.apache.directory.api.asn1.ber.Asn1Container;
 import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.shared.kerberos.codec.apReq.ApReqContainer;
 import org.apache.directory.shared.kerberos.messages.ApReq;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 
 /**
  * Test the decoder for a ApReq
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class ApReqDecoderTest
 {
     /**
@@ -211,7 +207,7 @@ public class ApReqDecoderTest
     /**
      * Test the decoding of a ApReq message with a bad MsgType
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeFullApReqBadMsgType() throws Exception
     {
 
@@ -329,18 +325,19 @@ public class ApReqDecoderTest
         stream.flip();
 
         // Allocate a ApReq Container
-        ApReqContainer apReqContainer = new ApReqContainer( stream );
+        ApReqContainer container = new ApReqContainer( stream );
 
         // Decode the ApReq PDU
-        Asn1Decoder.decode( stream, apReqContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
     /**
      * Test the decoding of a AP-REQ with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testApReqEmpty() throws DecoderException
     {
 
@@ -352,16 +349,17 @@ public class ApReqDecoderTest
         stream.flip();
 
         // Allocate a AP-REQ Container
-        Asn1Container apReqContainer = new ApReqContainer( stream );
+        Asn1Container container = new ApReqContainer( stream );
 
         // Decode the AP-REQ PDU
-        Asn1Decoder.decode( stream, apReqContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
     @Test
-    @Ignore
+    @Disabled
     public void testDecodeFullApReqPerf() throws Exception
     {
         ByteBuffer stream = ByteBuffer.allocate( 0x6C );
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AsRepDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AsRepDecoderTest.java
index 65bffdb..46f4558 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AsRepDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AsRepDecoderTest.java
@@ -31,19 +31,15 @@ import org.apache.directory.api.asn1.ber.Asn1Container;
 import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.shared.kerberos.codec.asRep.AsRepContainer;
 import org.apache.directory.shared.kerberos.messages.AsRep;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 
 /**
  * Test the decoder for a AS-REP
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class AsRepDecoderTest
 {
     /**
@@ -269,7 +265,7 @@ public class AsRepDecoderTest
     /**
      * Test the decoding of a AS-REP with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testAsRepEmpty() throws DecoderException
     {
 
@@ -281,18 +277,19 @@ public class AsRepDecoderTest
         stream.flip();
 
         // Allocate a AS-REP Container
-        Asn1Container asRepContainer = new AsRepContainer( stream );
+        Asn1Container container = new AsRepContainer( stream );
 
         // Decode the AS-REP PDU
-        Asn1Decoder.decode( stream, asRepContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
     /**
      * Test the decoding of a AS-REP with empty Pvno tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testAsRepEmptyPvnoTag() throws DecoderException
     {
 
@@ -307,18 +304,19 @@ public class AsRepDecoderTest
         stream.flip();
 
         // Allocate a AS-REP Container
-        Asn1Container asRepContainer = new AsRepContainer( stream );
+        Asn1Container container = new AsRepContainer( stream );
 
         // Decode the AS-REP PDU
-        Asn1Decoder.decode( stream, asRepContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
     /**
      * Test the decoding of a AS-REP with empty Pvno value
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testAsRepEmptyPvnoValue() throws DecoderException
     {
 
@@ -334,11 +332,12 @@ public class AsRepDecoderTest
         stream.flip();
 
         // Allocate a AS-REP Container
-        Asn1Container asRepContainer = new AsRepContainer( stream );
+        Asn1Container container = new AsRepContainer( stream );
 
         // Decode the AS-REP PDU
-        Asn1Decoder.decode( stream, asRepContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AsReqDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AsReqDecoderTest.java
index 3090644..9aef39f 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AsReqDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AsReqDecoderTest.java
@@ -26,8 +26,6 @@ import static org.junit.Assert.fail;
 
 import java.nio.ByteBuffer;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -35,16 +33,14 @@ import org.apache.directory.api.asn1.ber.Asn1Container;
 import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.shared.kerberos.codec.asReq.AsReqContainer;
 import org.apache.directory.shared.kerberos.messages.AsReq;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
  * Test the decoder for a AsReq
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class AsReqDecoderTest
 {
     /**
@@ -231,7 +227,7 @@ public class AsReqDecoderTest
     /**
      * Test the decoding of a AsReq message with a bad MsgType
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeFullAsReqBadMsgType() throws Exception
     {
 
@@ -373,15 +369,16 @@ public class AsReqDecoderTest
         AsReqContainer asReqContainer = new AsReqContainer( stream );
 
         // Decode the AsReq PDU
-        Asn1Decoder.decode( stream, asReqContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, asReqContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a AS-REQ with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testAsReqEmpty() throws DecoderException
     {
 
@@ -396,8 +393,9 @@ public class AsReqDecoderTest
         Asn1Container asReqContainer = new AsReqContainer( stream );
 
         // Decode the AS-REQ PDU
-        Asn1Decoder.decode( stream, asReqContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, asReqContainer);
+        } );
     }
 
 
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AuthenticatorDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AuthenticatorDecoderTest.java
index b709442..1ca17aa 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AuthenticatorDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AuthenticatorDecoderTest.java
@@ -25,8 +25,6 @@ import static org.junit.Assert.fail;
 
 import java.nio.ByteBuffer;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -35,16 +33,14 @@ import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.authenticator.AuthenticatorContainer;
 import org.apache.directory.shared.kerberos.messages.Authenticator;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
  * Test the decoder for a Authenticator message
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class AuthenticatorDecoderTest
 {
     /**
@@ -249,7 +245,7 @@ public class AuthenticatorDecoderTest
     /**
      * Test the decoding of a Authenticator with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testAuthenticatorEmpty() throws DecoderException
     {
 
@@ -264,15 +260,16 @@ public class AuthenticatorDecoderTest
         Asn1Container authenticatorContainer = new AuthenticatorContainer( stream );
 
         // Decode the Authenticator PDU
-        Asn1Decoder.decode( stream, authenticatorContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, authenticatorContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a Authenticator with empty sequence
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testKdcReqBodyEmptySequence() throws DecoderException
     {
 
@@ -290,15 +287,16 @@ public class AuthenticatorDecoderTest
         Asn1Container authenticatorContainer = new AuthenticatorContainer( stream );
 
         // Decode the Authenticator PDU
-        Asn1Decoder.decode( stream, authenticatorContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, authenticatorContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a Authenticator with empty authenticator-vno tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testKdcReqBodyEmptyAuthenticatorTag() throws DecoderException
     {
 
@@ -317,15 +315,16 @@ public class AuthenticatorDecoderTest
         Asn1Container authenticatorContainer = new AuthenticatorContainer( stream );
 
         // Decode the Authenticator PDU
-        Asn1Decoder.decode( stream, authenticatorContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, authenticatorContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a Authenticator with empty authenticator-vno value
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testKdcReqBodyEmptyAuthenticatorValue() throws DecoderException
     {
 
@@ -345,15 +344,16 @@ public class AuthenticatorDecoderTest
         Asn1Container authenticatorContainer = new AuthenticatorContainer( stream );
 
         // Decode the Authenticator PDU
-        Asn1Decoder.decode( stream, authenticatorContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, authenticatorContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a Authenticator with no authenticator-vno
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testKdcReqBodyNoOptions() throws DecoderException
     {
 
@@ -473,7 +473,8 @@ public class AuthenticatorDecoderTest
         Asn1Container authenticatorContainer = new AuthenticatorContainer( stream );
 
         // Decode the Authenticator PDU
-        Asn1Decoder.decode( stream, authenticatorContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, authenticatorContainer);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AuthorizationDataDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AuthorizationDataDecoderTest.java
index 472c42f..41eae8d 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AuthorizationDataDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/AuthorizationDataDecoderTest.java
@@ -37,7 +37,8 @@ import org.apache.directory.shared.kerberos.codec.authorizationData.Authorizatio
 import org.apache.directory.shared.kerberos.codec.types.AuthorizationType;
 import org.apache.directory.shared.kerberos.components.AuthorizationData;
 import org.apache.directory.shared.kerberos.components.AuthorizationDataEntry;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -140,7 +141,7 @@ public class AuthorizationDataDecoderTest
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testAuthorizationDataEmptyPdu() throws DecoderException
     {
 
@@ -155,12 +156,13 @@ public class AuthorizationDataDecoderTest
 
         AuthorizationDataContainer authDataContainer = new AuthorizationDataContainer();
 
-        Asn1Decoder.decode( stream, authDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, authDataContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testAuthorizationDataWithNoInnerData() throws DecoderException
     {
 
@@ -176,12 +178,13 @@ public class AuthorizationDataDecoderTest
 
         AuthorizationDataContainer authDataContainer = new AuthorizationDataContainer();
 
-        Asn1Decoder.decode( stream, authDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, authDataContainer);
+        } );;
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testAuthorizationDataEmptyTypeTag() throws DecoderException
     {
 
@@ -198,12 +201,13 @@ public class AuthorizationDataDecoderTest
 
         AuthorizationDataContainer authDataContainer = new AuthorizationDataContainer();
 
-        Asn1Decoder.decode( stream, authDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, authDataContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testAuthorizationDataEmptyTypeValue() throws DecoderException
     {
 
@@ -222,12 +226,13 @@ public class AuthorizationDataDecoderTest
 
         AuthorizationDataContainer authDataContainer = new AuthorizationDataContainer();
 
-        Asn1Decoder.decode( stream, authDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, authDataContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testAuthorizationDataWithoutType() throws DecoderException
     {
 
@@ -247,12 +252,13 @@ public class AuthorizationDataDecoderTest
 
         AuthorizationDataContainer authDataContainer = new AuthorizationDataContainer();
 
-        Asn1Decoder.decode( stream, authDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, authDataContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testAuthorizationDataWithoutData() throws DecoderException
     {
 
@@ -272,12 +278,13 @@ public class AuthorizationDataDecoderTest
 
         AuthorizationDataContainer authDataContainer = new AuthorizationDataContainer();
 
-        Asn1Decoder.decode( stream, authDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, authDataContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testAuthorizationDataWithEmptyDataTag() throws DecoderException
     {
 
@@ -299,12 +306,13 @@ public class AuthorizationDataDecoderTest
 
         AuthorizationDataContainer authDataContainer = new AuthorizationDataContainer();
 
-        Asn1Decoder.decode( stream, authDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, authDataContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testAuthorizationDataWithEmptyData() throws DecoderException
     {
 
@@ -328,7 +336,8 @@ public class AuthorizationDataDecoderTest
 
         AuthorizationDataContainer authDataContainer = new AuthorizationDataContainer();
 
-        Asn1Decoder.decode( stream, authDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, authDataContainer);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ChangePasswdDataDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ChangePasswdDataDecoderTest.java
index 48c3629..11075d6 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ChangePasswdDataDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ChangePasswdDataDecoderTest.java
@@ -29,7 +29,7 @@ import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.changePwdData.ChangePasswdDataContainer;
 import org.apache.directory.shared.kerberos.messages.ChangePasswdData;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 /**
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ChecksumDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ChecksumDecoderTest.java
index 68f9e6e..7ebbfe5 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ChecksumDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ChecksumDecoderTest.java
@@ -35,7 +35,8 @@ import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.checksum.ChecksumContainer;
 import org.apache.directory.shared.kerberos.components.Checksum;
 import org.apache.directory.shared.kerberos.crypto.checksum.ChecksumType;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -109,7 +110,7 @@ public class ChecksumDecoderTest
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeChecksumWithoutType() throws DecoderException
     {
 
@@ -133,12 +134,13 @@ public class ChecksumDecoderTest
 
         ChecksumContainer chkContainer = new ChecksumContainer();
 
-        Asn1Decoder.decode( stream, chkContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, chkContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeChecksumWithoutChecksumValue() throws DecoderException
     {
 
@@ -157,12 +159,13 @@ public class ChecksumDecoderTest
 
         ChecksumContainer chkContainer = new ChecksumContainer();
 
-        Asn1Decoder.decode( stream, chkContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, chkContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeChecksumWithEmptySeq() throws DecoderException
     {
 
@@ -177,8 +180,9 @@ public class ChecksumDecoderTest
 
         ChecksumContainer chkContainer = new ChecksumContainer();
 
-        Asn1Decoder.decode( stream, chkContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, chkContainer);
+        } );
     }
 
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ETypeInfo2DecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ETypeInfo2DecoderTest.java
index f098aa9..279fbce 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ETypeInfo2DecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ETypeInfo2DecoderTest.java
@@ -25,8 +25,6 @@ import static org.junit.Assert.fail;
 
 import java.nio.ByteBuffer;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -37,8 +35,8 @@ import org.apache.directory.shared.kerberos.codec.etypeInfo2.ETypeInfo2Container
 import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
 import org.apache.directory.shared.kerberos.components.ETypeInfo2;
 import org.apache.directory.shared.kerberos.components.ETypeInfo2Entry;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -46,8 +44,6 @@ import org.junit.runner.RunWith;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class ETypeInfo2DecoderTest
 {
     /**
@@ -149,7 +145,7 @@ public class ETypeInfo2DecoderTest
     /**
      * Test the decoding of a ETypeInfo2 with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testETypeInfo2Empty() throws DecoderException
     {
 
@@ -161,18 +157,19 @@ public class ETypeInfo2DecoderTest
         stream.flip();
 
         // Allocate a ETypeInfo2 Container
-        Asn1Container etypeInfo2Container = new ETypeInfo2Container();
+        Asn1Container container = new ETypeInfo2Container();
 
         // Decode the ETypeInfo2 PDU
-        Asn1Decoder.decode( stream, etypeInfo2Container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
     /**
      * Test the decoding of a ETypeInfo2 with empty ETypeInfo2Entry in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testETypeInfo2NoETypeInfo2Entry() throws DecoderException
     {
 
@@ -187,10 +184,11 @@ public class ETypeInfo2DecoderTest
         stream.flip();
 
         // Allocate a ETypeInfo2 Container
-        Asn1Container etypeInfo2Container = new ETypeInfo2Container();
+        Asn1Container container = new ETypeInfo2Container();
 
         // Decode the ETypeInfo2 PDU
-        Asn1Decoder.decode( stream, etypeInfo2Container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ETypeInfo2EntryDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ETypeInfo2EntryDecoderTest.java
index 80bc9ac..10efd4a 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ETypeInfo2EntryDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ETypeInfo2EntryDecoderTest.java
@@ -36,7 +36,8 @@ import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.etypeInfo2Entry.ETypeInfo2EntryContainer;
 import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
 import org.apache.directory.shared.kerberos.components.ETypeInfo2Entry;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -185,7 +186,7 @@ public class ETypeInfo2EntryDecoderTest
     /**
      * Test the decoding of a ETYPE-INFO2-ENTRY with an empty salt
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeETypeInfo2EntryEmptySalt() throws DecoderException
     {
 
@@ -206,8 +207,9 @@ public class ETypeInfo2EntryDecoderTest
 
         ETypeInfo2EntryContainer container = new ETypeInfo2EntryContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
@@ -291,7 +293,7 @@ public class ETypeInfo2EntryDecoderTest
      * Test the decoding of an empty ETYPE-INFO2-ENTRY
      * @throws DecoderException
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEmptyETypeInfo2Entry() throws DecoderException
     {
 
@@ -306,8 +308,9 @@ public class ETypeInfo2EntryDecoderTest
 
         ETypeInfo2EntryContainer container = new ETypeInfo2EntryContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
@@ -315,7 +318,7 @@ public class ETypeInfo2EntryDecoderTest
      * Test the decoding of an ETYPE-INFO2-ENTRY with no etype
      * @throws DecoderException
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEmptyETypeInfo2EntryNoEType() throws DecoderException
     {
 
@@ -332,8 +335,9 @@ public class ETypeInfo2EntryDecoderTest
 
         ETypeInfo2EntryContainer container = new ETypeInfo2EntryContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
@@ -341,7 +345,7 @@ public class ETypeInfo2EntryDecoderTest
      * Test the decoding of an ETYPE-INFO2-ENTRY with an empty etype
      * @throws DecoderException
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEmptyETypeInfo2EntryEmptyEType() throws DecoderException
     {
 
@@ -357,8 +361,9 @@ public class ETypeInfo2EntryDecoderTest
 
         ETypeInfo2EntryContainer container = new ETypeInfo2EntryContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
@@ -366,7 +371,7 @@ public class ETypeInfo2EntryDecoderTest
      * Test the decoding of an ETYPE-INFO2-ENTRY with a empty etype tag
      * @throws DecoderException
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEmptyETypeInfo2EntryEmptyETypeTag() throws DecoderException
     {
 
@@ -383,8 +388,9 @@ public class ETypeInfo2EntryDecoderTest
 
         ETypeInfo2EntryContainer container = new ETypeInfo2EntryContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ETypeInfoDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ETypeInfoDecoderTest.java
index 55cb89e..cb7d280 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ETypeInfoDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ETypeInfoDecoderTest.java
@@ -27,8 +27,6 @@ import static org.junit.Assert.fail;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -39,8 +37,8 @@ import org.apache.directory.shared.kerberos.codec.etypeInfo.ETypeInfoContainer;
 import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
 import org.apache.directory.shared.kerberos.components.ETypeInfo;
 import org.apache.directory.shared.kerberos.components.ETypeInfoEntry;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -48,8 +46,6 @@ import org.junit.runner.RunWith;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class ETypeInfoDecoderTest
 {
     /**
@@ -151,7 +147,7 @@ public class ETypeInfoDecoderTest
     /**
      * Test the decoding of a ETypeInfo with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testETypeInfoEmpty() throws DecoderException
     {
 
@@ -163,18 +159,19 @@ public class ETypeInfoDecoderTest
         stream.flip();
 
         // Allocate a ETypeInfo Container
-        Asn1Container etypeInfoContainer = new ETypeInfoContainer();
+        Asn1Container container = new ETypeInfoContainer();
 
         // Decode the ETypeInfo PDU
-        Asn1Decoder.decode( stream, etypeInfoContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
     /**
      * Test the decoding of a ETypeInfo with empty ETypeInfoEntry in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testETypeInfoNoETypeInfoEntry() throws DecoderException
     {
 
@@ -189,10 +186,11 @@ public class ETypeInfoDecoderTest
         stream.flip();
 
         // Allocate a ETypeInfo Container
-        Asn1Container etypeInfoContainer = new ETypeInfoContainer();
+        Asn1Container container = new ETypeInfoContainer();
 
         // Decode the ETypeInfo PDU
-        Asn1Decoder.decode( stream, etypeInfoContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ETypeInfoEntryDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ETypeInfoEntryDecoderTest.java
index 21bff4b..d5d15d4 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ETypeInfoEntryDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/ETypeInfoEntryDecoderTest.java
@@ -36,7 +36,8 @@ import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.etypeInfoEntry.ETypeInfoEntryContainer;
 import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
 import org.apache.directory.shared.kerberos.components.ETypeInfoEntry;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -175,7 +176,7 @@ public class ETypeInfoEntryDecoderTest
     /**
      * Test the decoding of a ETYPE-INFO-ENTRY with an empty salt
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeETypeInfoEntryEmptySalt() throws DecoderException
     {
 
@@ -196,8 +197,9 @@ public class ETypeInfoEntryDecoderTest
 
         ETypeInfoEntryContainer container = new ETypeInfoEntryContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
@@ -280,7 +282,7 @@ public class ETypeInfoEntryDecoderTest
      * Test the decoding of an empty ETYPE-INFO-ENTRY
      * @throws DecoderException
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEmptyETypeInforEntry() throws DecoderException
     {
 
@@ -295,8 +297,9 @@ public class ETypeInfoEntryDecoderTest
 
         ETypeInfoEntryContainer container = new ETypeInfoEntryContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
@@ -304,7 +307,7 @@ public class ETypeInfoEntryDecoderTest
      * Test the decoding of an ETYPE-INFO-ENTRY with no etype
      * @throws DecoderException
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEmptyETypeInfoEntryNoEType() throws DecoderException
     {
 
@@ -321,8 +324,9 @@ public class ETypeInfoEntryDecoderTest
 
         ETypeInfoEntryContainer container = new ETypeInfoEntryContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
@@ -330,7 +334,7 @@ public class ETypeInfoEntryDecoderTest
      * Test the decoding of an ETYPE-INFO-ENTRY with an empty etype
      * @throws org.apache.directory.api.asn1.DecoderException
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEmptyETypeInfoEntryEmptyEType() throws DecoderException
     {
 
@@ -346,8 +350,9 @@ public class ETypeInfoEntryDecoderTest
 
         ETypeInfoEntryContainer container = new ETypeInfoEntryContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
@@ -355,7 +360,7 @@ public class ETypeInfoEntryDecoderTest
      * Test the decoding of an ETYPE-INFO-ENTRY with a empty etype tag
      * @throws DecoderException
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEmptyETypeInfoEntryEmptyETypeTag() throws DecoderException
     {
 
@@ -372,8 +377,9 @@ public class ETypeInfoEntryDecoderTest
 
         ETypeInfoEntryContainer container = new ETypeInfoEntryContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncApRepPartDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncApRepPartDecoderTest.java
index e19bb78..156cb40 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncApRepPartDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncApRepPartDecoderTest.java
@@ -25,8 +25,6 @@ import static org.junit.Assert.fail;
 
 import java.nio.ByteBuffer;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -35,16 +33,14 @@ import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.encApRepPart.EncApRepPartContainer;
 import org.apache.directory.shared.kerberos.messages.EncApRepPart;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
  * Test the decoder for a EncApRepPart message
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class EncApRepPartDecoderTest
 {
     /**
@@ -153,7 +149,7 @@ public class EncApRepPartDecoderTest
     /**
      * Test the decoding of a EncApRepPart with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testAuthenticatorEmpty() throws DecoderException
     {
 
@@ -168,15 +164,16 @@ public class EncApRepPartDecoderTest
         Asn1Container encApRepPartContainer = new EncApRepPartContainer( stream );
 
         // Decode the EncApRepPart PDU
-        Asn1Decoder.decode( stream, encApRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encApRepPartContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a EncApRepPart with empty sequence
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testEncApRepPartEmptySequence() throws DecoderException
     {
 
@@ -194,15 +191,16 @@ public class EncApRepPartDecoderTest
         Asn1Container encApRepPartContainer = new EncApRepPartContainer( stream );
 
         // Decode the EncApRepPart PDU
-        Asn1Decoder.decode( stream, encApRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encApRepPartContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a EncApRepPart with empty ctime tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testEncApRepPartEmptyCTimeg() throws DecoderException
     {
 
@@ -221,15 +219,16 @@ public class EncApRepPartDecoderTest
         Asn1Container encApRepPartContainer = new EncApRepPartContainer( stream );
 
         // Decode the EncApRepPart PDU
-        Asn1Decoder.decode( stream, encApRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encApRepPartContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a EncApRepPart with no CTime
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testEncApRepPartNoCtime() throws DecoderException
     {
 
@@ -274,15 +273,16 @@ public class EncApRepPartDecoderTest
         Asn1Container encApRepPartContainer = new EncApRepPartContainer( stream );
 
         // Decode the EncApRepPart PDU
-        Asn1Decoder.decode( stream, encApRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encApRepPartContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a EncApRepPart with no cusec
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testEncApRepPartNoCusec() throws DecoderException
     {
 
@@ -341,8 +341,9 @@ public class EncApRepPartDecoderTest
         Asn1Container encApRepPartContainer = new EncApRepPartContainer( stream );
 
         // Decode the EncApRepPart PDU
-        Asn1Decoder.decode( stream, encApRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encApRepPartContainer);
+        } );
     }
 
 
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncAsRepPartDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncAsRepPartDecoderTest.java
index fb72dd5..c943aab 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncAsRepPartDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncAsRepPartDecoderTest.java
@@ -25,8 +25,6 @@ import static org.junit.Assert.fail;
 
 import java.nio.ByteBuffer;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -34,16 +32,14 @@ import org.apache.directory.api.asn1.ber.Asn1Container;
 import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.shared.kerberos.codec.encAsRepPart.EncAsRepPartContainer;
 import org.apache.directory.shared.kerberos.messages.EncAsRepPart;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
  * Test the decoder for a EncAsRepPart
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class EncAsRepPartDecoderTest
 {
     /**
@@ -145,7 +141,7 @@ public class EncAsRepPartDecoderTest
     /**
      * Test the decoding of a EncAsRepPart with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testEncAsRepPartEmpty() throws DecoderException
     {
 
@@ -160,15 +156,16 @@ public class EncAsRepPartDecoderTest
         Asn1Container encAsRepPartContainer = new EncAsRepPartContainer( stream );
 
         // Decode the EncAsRepPart PDU
-        Asn1Decoder.decode( stream, encAsRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encAsRepPartContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a EncAsRepPart with empty EncKdcRepPart tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testEncAsRepPartEmptyEncKdcRepPart() throws DecoderException
     {
 
@@ -186,7 +183,8 @@ public class EncAsRepPartDecoderTest
         Asn1Container encAsRepPartContainer = new EncAsRepPartContainer( stream );
 
         // Decode the EncAsRepPart PDU
-        Asn1Decoder.decode( stream, encAsRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encAsRepPartContainer);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncKdcRepPartDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncKdcRepPartDecoderTest.java
index e9237c2..1a7384d 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncKdcRepPartDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncKdcRepPartDecoderTest.java
@@ -33,7 +33,8 @@ import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.EncKdcRepPart.EncKdcRepPartContainer;
 import org.apache.directory.shared.kerberos.components.EncKdcRepPart;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -47,7 +48,7 @@ public class EncKdcRepPartDecoderTest
      * Test an empty EncKdcRepPart
      * @throws Exception
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEncKdcRepPartEmpty() throws Exception
     {
 
@@ -64,8 +65,9 @@ public class EncKdcRepPartDecoderTest
         Asn1Container encKdcRepPartContainer = new EncKdcRepPartContainer( stream );
 
         // Decode the EncKdcRepPart PDU
-        Asn1Decoder.decode( stream, encKdcRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encKdcRepPartContainer);
+        } );
     }
 
 
@@ -73,7 +75,7 @@ public class EncKdcRepPartDecoderTest
      * Test an EncKdcRepPart with an empty key
      * @throws Exception
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEncKdcRepPartEmptyKey() throws Exception
     {
 
@@ -91,8 +93,9 @@ public class EncKdcRepPartDecoderTest
         Asn1Container encKdcRepPartContainer = new EncKdcRepPartContainer( stream );
 
         // Decode the EncKdcRepPart PDU
-        Asn1Decoder.decode( stream, encKdcRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encKdcRepPartContainer);
+        } );
     }
 
 
@@ -100,7 +103,7 @@ public class EncKdcRepPartDecoderTest
      * Test an EncKdcRepPart with a missing key
      * @throws Exception
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEncKdcRepPartMissingKey() throws Exception
     {
 
@@ -118,8 +121,9 @@ public class EncKdcRepPartDecoderTest
         Asn1Container encKdcRepPartContainer = new EncKdcRepPartContainer( stream );
 
         // Decode the EncKdcRepPart PDU
-        Asn1Decoder.decode( stream, encKdcRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encKdcRepPartContainer);
+        } );
     }
 
 
@@ -127,7 +131,7 @@ public class EncKdcRepPartDecoderTest
      * Test an EncKdcRepPart with an empty last-req
      * @throws Exception
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEncKdcRepPartEmptylastReq() throws Exception
     {
 
@@ -152,8 +156,9 @@ public class EncKdcRepPartDecoderTest
         Asn1Container encKdcRepPartContainer = new EncKdcRepPartContainer( stream );
 
         // Decode the EncKdcRepPart PDU
-        Asn1Decoder.decode( stream, encKdcRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encKdcRepPartContainer);
+        } );
     }
 
 
@@ -161,7 +166,7 @@ public class EncKdcRepPartDecoderTest
      * Test an EncKdcRepPart with an missing last-req
      * @throws Exception
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEncKdcRepPartLastReqMissing() throws Exception
     {
 
@@ -186,8 +191,9 @@ public class EncKdcRepPartDecoderTest
         Asn1Container encKdcRepPartContainer = new EncKdcRepPartContainer( stream );
 
         // Decode the EncKdcRepPart PDU
-        Asn1Decoder.decode( stream, encKdcRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encKdcRepPartContainer);
+        } );
     }
 
 
@@ -195,7 +201,7 @@ public class EncKdcRepPartDecoderTest
      * Test an EncKdcRepPart with an empty nonce
      * @throws Exception
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEncKdcRepPartEmptyNonce() throws Exception
     {
 
@@ -234,8 +240,9 @@ public class EncKdcRepPartDecoderTest
         Asn1Container encKdcRepPartContainer = new EncKdcRepPartContainer( stream );
 
         // Decode the EncKdcRepPart PDU
-        Asn1Decoder.decode( stream, encKdcRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encKdcRepPartContainer);
+        } );
     }
 
 
@@ -243,7 +250,7 @@ public class EncKdcRepPartDecoderTest
      * Test an EncKdcRepPart with an missing nonce
      * @throws Exception
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEncKdcRepPartNonceMissing() throws Exception
     {
 
@@ -282,8 +289,9 @@ public class EncKdcRepPartDecoderTest
         Asn1Container encKdcRepPartContainer = new EncKdcRepPartContainer( stream );
 
         // Decode the EncKdcRepPart PDU
-        Asn1Decoder.decode( stream, encKdcRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encKdcRepPartContainer);
+        } );
     }
 
 
@@ -291,7 +299,7 @@ public class EncKdcRepPartDecoderTest
      * Test an EncKdcRepPart with an empty key-expiration
      * @throws Exception
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEncKdcRepPartEmptyKeyExpiration() throws Exception
     {
 
@@ -332,8 +340,9 @@ public class EncKdcRepPartDecoderTest
         Asn1Container encKdcRepPartContainer = new EncKdcRepPartContainer( stream );
 
         // Decode the EncKdcRepPart PDU
-        Asn1Decoder.decode( stream, encKdcRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encKdcRepPartContainer);
+        } );
     }
 
 
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncKrbCredPartDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncKrbCredPartDecoderTest.java
index 398b283..82ee5db 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncKrbCredPartDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncKrbCredPartDecoderTest.java
@@ -42,8 +42,8 @@ import org.apache.directory.shared.kerberos.components.EncKrbCredPart;
 import org.apache.directory.shared.kerberos.components.EncryptionKey;
 import org.apache.directory.shared.kerberos.components.HostAddress;
 import org.apache.directory.shared.kerberos.components.KrbCredInfo;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -83,7 +83,7 @@ public class EncKrbCredPartDecoderTest
     }
 
 
-    @Before
+    @BeforeEach
     public void setup() throws Exception
     {
         optionalFieldValueList = new ArrayList<FieldValueHolder>();
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncKrbPrivPartDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncKrbPrivPartDecoderTest.java
index c342ad1..4cb2fa4 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncKrbPrivPartDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncKrbPrivPartDecoderTest.java
@@ -37,7 +37,7 @@ import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.encKrbPrivPart.EncKrbPrivPartContainer;
 import org.apache.directory.shared.kerberos.components.EncKrbPrivPart;
 import org.apache.directory.shared.kerberos.components.HostAddress;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 /**
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncTgsRepPartDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncTgsRepPartDecoderTest.java
index 1efb983..e24fdac 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncTgsRepPartDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncTgsRepPartDecoderTest.java
@@ -25,8 +25,6 @@ import static org.junit.Assert.fail;
 
 import java.nio.ByteBuffer;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -34,16 +32,14 @@ import org.apache.directory.api.asn1.ber.Asn1Container;
 import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.shared.kerberos.codec.encTgsRepPart.EncTgsRepPartContainer;
 import org.apache.directory.shared.kerberos.messages.EncTgsRepPart;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
  * Test the decoder for a EncTgsRepPart
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class EncTgsRepPartDecoderTest
 {
     /**
@@ -145,7 +141,7 @@ public class EncTgsRepPartDecoderTest
     /**
      * Test the decoding of a EncAsRepPart with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testEncTgsRepPartEmpty() throws DecoderException
     {
 
@@ -160,15 +156,16 @@ public class EncTgsRepPartDecoderTest
         Asn1Container encTgsRepPartContainer = new EncTgsRepPartContainer( stream );
 
         // Decode the EncTgsRepPart PDU
-        Asn1Decoder.decode( stream, encTgsRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encTgsRepPartContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a EncTgsRepPart with empty EncKdcRepPart tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testEncTgsRepPartEmptyEncKdcRepPart() throws DecoderException
     {
 
@@ -186,7 +183,8 @@ public class EncTgsRepPartDecoderTest
         Asn1Container encTgsRepPartContainer = new EncTgsRepPartContainer( stream );
 
         // Decode the EncTgsRepPart PDU
-        Asn1Decoder.decode( stream, encTgsRepPartContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encTgsRepPartContainer);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncTicketPartDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncTicketPartDecoderTest.java
index b25b633..87adaf5 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncTicketPartDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncTicketPartDecoderTest.java
@@ -46,8 +46,8 @@ import org.apache.directory.shared.kerberos.components.PrincipalName;
 import org.apache.directory.shared.kerberos.components.TransitedEncoding;
 import org.apache.directory.shared.kerberos.flags.TicketFlag;
 import org.apache.directory.shared.kerberos.flags.TicketFlags;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -61,7 +61,7 @@ public class EncTicketPartDecoderTest
     private EncTicketPart expected;
 
 
-    @Before
+    @BeforeEach
     public void setup() throws Exception
     {
         TicketFlags flags = new TicketFlags( TicketFlag.FORWARDABLE.getValue() );
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncryptedDataDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncryptedDataDecoderTest.java
index f0a67f0..f45f054 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncryptedDataDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncryptedDataDecoderTest.java
@@ -28,8 +28,6 @@ import static org.junit.Assert.fail;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -39,8 +37,8 @@ import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.encryptedData.EncryptedDataContainer;
 import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
 import org.apache.directory.shared.kerberos.components.EncryptedData;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -48,8 +46,6 @@ import org.junit.runner.RunWith;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class EncryptedDataDecoderTest
 {
     /**
@@ -204,7 +200,7 @@ public class EncryptedDataDecoderTest
     /**
      * Test the decoding of a EncryptedData with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testEncryptedDataEmpty() throws DecoderException
     {
 
@@ -219,15 +215,16 @@ public class EncryptedDataDecoderTest
         Asn1Container encryptedDataContainer = new EncryptedDataContainer();
 
         // Decode the EncryptedData PDU
-        Asn1Decoder.decode( stream, encryptedDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encryptedDataContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a EncryptedData with no type
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testEncryptedDataNoEType() throws DecoderException
     {
 
@@ -244,15 +241,16 @@ public class EncryptedDataDecoderTest
         Asn1Container encryptedDataContainer = new EncryptedDataContainer();
 
         // Decode the EncryptedData PDU
-        Asn1Decoder.decode( stream, encryptedDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encryptedDataContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a EncryptedData with a missing type
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testEncryptedDataMissingEType() throws DecoderException
     {
 
@@ -283,15 +281,16 @@ public class EncryptedDataDecoderTest
         Asn1Container encryptedDataContainer = new EncryptedDataContainer();
 
         // Decode the EncryptedData PDU
-        Asn1Decoder.decode( stream, encryptedDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encryptedDataContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a EncryptedData with an empty type
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testEncryptedDataEmptyType() throws DecoderException
     {
 
@@ -310,15 +309,16 @@ public class EncryptedDataDecoderTest
         Asn1Container encryptedDataContainer = new EncryptedDataContainer();
 
         // Decode the EncryptedData PDU
-        Asn1Decoder.decode( stream, encryptedDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encryptedDataContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a EncryptedData with an empty kvno
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testEncryptedDataEmptyKvno() throws DecoderException
     {
 
@@ -340,15 +340,16 @@ public class EncryptedDataDecoderTest
         Asn1Container encryptedDataContainer = new EncryptedDataContainer();
 
         // Decode the EncryptedData PDU
-        Asn1Decoder.decode( stream, encryptedDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encryptedDataContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a EncryptedData with no cipher
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testEncryptedDataNoCipher() throws DecoderException
     {
 
@@ -373,15 +374,16 @@ public class EncryptedDataDecoderTest
         Asn1Container encryptedDataContainer = new EncryptedDataContainer();
 
         // Decode the EncryptedData PDU
-        Asn1Decoder.decode( stream, encryptedDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encryptedDataContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a EncryptedData empty cipher
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testEncryptedDataEmptyCipher() throws DecoderException
     {
 
@@ -408,15 +410,16 @@ public class EncryptedDataDecoderTest
         Asn1Container encryptedDataContainer = new EncryptedDataContainer();
 
         // Decode the EncryptedData PDU
-        Asn1Decoder.decode( stream, encryptedDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encryptedDataContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a EncryptedData with a null cipher
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testEncryptedDataNullCipher() throws DecoderException
     {
 
@@ -445,6 +448,8 @@ public class EncryptedDataDecoderTest
         Asn1Container encryptedDataContainer = new EncryptedDataContainer();
 
         // Decode the EncryptedData PDU
-        Asn1Decoder.decode( stream, encryptedDataContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, encryptedDataContainer);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncryptionKeyDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncryptionKeyDecoderTest.java
index ab83a6c..2a82749 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncryptionKeyDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/EncryptionKeyDecoderTest.java
@@ -35,7 +35,8 @@ import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.encryptionKey.EncryptionKeyContainer;
 import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
 import org.apache.directory.shared.kerberos.components.EncryptionKey;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -111,7 +112,7 @@ public class EncryptionKeyDecoderTest
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEncryptionKeyWithEmptySeq() throws DecoderException
     {
 
@@ -126,12 +127,13 @@ public class EncryptionKeyDecoderTest
 
         EncryptionKeyContainer container = new EncryptionKeyContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEncryptionKeyEmptyKeyTypeTag() throws DecoderException
     {
 
@@ -147,12 +149,13 @@ public class EncryptionKeyDecoderTest
 
         EncryptionKeyContainer container = new EncryptionKeyContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEncryptionKeyEmptyKeyTypeValue() throws DecoderException
     {
 
@@ -169,12 +172,13 @@ public class EncryptionKeyDecoderTest
 
         EncryptionKeyContainer container = new EncryptionKeyContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeEncryptionKeyWithoutType() throws DecoderException
     {
 
@@ -196,14 +200,15 @@ public class EncryptionKeyDecoderTest
 
         stream.flip();
 
-        EncryptionKeyContainer chkContainer = new EncryptionKeyContainer();
+        EncryptionKeyContainer container = new EncryptionKeyContainer();
 
-        Asn1Decoder.decode( stream, chkContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeChecksumWithoutEncryptionKeyValue() throws DecoderException
     {
 
@@ -222,12 +227,13 @@ public class EncryptionKeyDecoderTest
 
         EncryptionKeyContainer container = new EncryptionKeyContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeChecksumWitEmptyEncryptionKeyTag() throws DecoderException
     {
 
@@ -248,12 +254,13 @@ public class EncryptionKeyDecoderTest
 
         EncryptionKeyContainer container = new EncryptionKeyContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeChecksumWitEmptyEncryptionKeyValue() throws DecoderException
     {
 
@@ -276,7 +283,8 @@ public class EncryptionKeyDecoderTest
 
         EncryptionKeyContainer container = new EncryptionKeyContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/HostAddressDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/HostAddressDecoderTest.java
index 322e55e..e8a6552 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/HostAddressDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/HostAddressDecoderTest.java
@@ -27,8 +27,6 @@ import static org.junit.Assert.fail;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -38,8 +36,9 @@ import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.hostAddress.HostAddressContainer;
 import org.apache.directory.shared.kerberos.codec.types.HostAddrType;
 import org.apache.directory.shared.kerberos.components.HostAddress;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.Assert;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -47,8 +46,6 @@ import org.junit.runner.RunWith;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class HostAddressDecoderTest
 {
     /**
@@ -130,7 +127,7 @@ public class HostAddressDecoderTest
     /**
      * Test the decoding of a HostAddress with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testHostAddressEmpty() throws DecoderException
     {
 
@@ -145,15 +142,16 @@ public class HostAddressDecoderTest
         Asn1Container hostAddressContainer = new HostAddressContainer();
 
         // Decode the HostAddress PDU
-        Asn1Decoder.decode( stream, hostAddressContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, hostAddressContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a HostAddress with no addr-type
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testHostAddressNoAddrType() throws DecoderException
     {
 
@@ -171,15 +169,16 @@ public class HostAddressDecoderTest
         Asn1Container hostAddressContainer = new HostAddressContainer();
 
         // Decode the HostAddress PDU
-        Asn1Decoder.decode( stream, hostAddressContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, hostAddressContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a HostAddress with an empty addr-type
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testHostAddressEmptyAddrType() throws DecoderException
     {
 
@@ -199,15 +198,16 @@ public class HostAddressDecoderTest
         Asn1Container hostAddressContainer = new HostAddressContainer();
 
         // Decode the HostAddress PDU
-        Asn1Decoder.decode( stream, hostAddressContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, hostAddressContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a HostAddress with no address
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testHostAddressNoAddress() throws DecoderException
     {
 
@@ -229,15 +229,16 @@ public class HostAddressDecoderTest
         Asn1Container hostAddressContainer = new HostAddressContainer();
 
         // Decode the HostAddress PDU
-        Asn1Decoder.decode( stream, hostAddressContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, hostAddressContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a HostAddress empty address
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testHostAddressEmptyAddress() throws DecoderException
     {
 
@@ -262,15 +263,16 @@ public class HostAddressDecoderTest
         Asn1Container hostAddressContainer = new HostAddressContainer();
 
         // Decode the HostAddress PDU
-        Asn1Decoder.decode( stream, hostAddressContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, hostAddressContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a HostAddress with no add-type
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testHostAddressMissingAddrType() throws DecoderException
     {
 
@@ -301,15 +303,16 @@ public class HostAddressDecoderTest
         Asn1Container hostAddressContainer = new HostAddressContainer();
 
         // Decode the HostAddress PDU
-        Asn1Decoder.decode( stream, hostAddressContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, hostAddressContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a HostAddress with no adddress
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testHostAddressMissingAddress() throws DecoderException
     {
 
@@ -330,7 +333,8 @@ public class HostAddressDecoderTest
         Asn1Container hostAddressContainer = new HostAddressContainer();
 
         // Decode the HostAddress PDU
-        Asn1Decoder.decode( stream, hostAddressContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, hostAddressContainer);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/HostAddressesDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/HostAddressesDecoderTest.java
index 14bbeac..c37abf0 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/HostAddressesDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/HostAddressesDecoderTest.java
@@ -27,8 +27,6 @@ import static org.junit.Assert.fail;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -40,8 +38,9 @@ import org.apache.directory.shared.kerberos.codec.hostAddresses.HostAddressesCon
 import org.apache.directory.shared.kerberos.codec.types.HostAddrType;
 import org.apache.directory.shared.kerberos.components.HostAddress;
 import org.apache.directory.shared.kerberos.components.HostAddresses;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.Assert;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -49,8 +48,6 @@ import org.junit.runner.RunWith;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class HostAddressesDecoderTest
 {
     /**
@@ -188,7 +185,7 @@ public class HostAddressesDecoderTest
     /**
      * Test the decoding of a HostAddresses with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testHostAddressEmpty() throws DecoderException
     {
 
@@ -203,15 +200,16 @@ public class HostAddressesDecoderTest
         Asn1Container hostAddressesContainer = new HostAddressesContainer();
 
         // Decode the HostAddress PDU
-        Asn1Decoder.decode( stream, hostAddressesContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, hostAddressesContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a HostAddresses with empty hostAddress in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testHostAddressesNoHostAddress() throws DecoderException
     {
 
@@ -228,7 +226,8 @@ public class HostAddressesDecoderTest
         Asn1Container hostAddressesContainer = new HostAddressContainer();
 
         // Decode the HostAddresses PDU
-        Asn1Decoder.decode( stream, hostAddressesContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, hostAddressesContainer);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KdcRepDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KdcRepDecoderTest.java
index f6c27a7..0e99217 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KdcRepDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KdcRepDecoderTest.java
@@ -25,8 +25,6 @@ import static org.junit.Assert.fail;
 
 import java.nio.ByteBuffer;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -35,16 +33,14 @@ import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.shared.kerberos.codec.kdcRep.KdcRepContainer;
 import org.apache.directory.shared.kerberos.components.KdcRep;
 import org.apache.directory.shared.kerberos.messages.AsRep;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
  * Test the decoder for a KDC-REP
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class KdcRepDecoderTest
 {
     /**
@@ -270,7 +266,7 @@ public class KdcRepDecoderTest
     /**
      * Test the decoding of a KDC-REP with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testKdcRepEmpty() throws DecoderException
     {
 
@@ -285,15 +281,16 @@ public class KdcRepDecoderTest
         Asn1Container kdcRepContainer = new KdcRepContainer( stream );
 
         // Decode the KDC-REP PDU
-        Asn1Decoder.decode( stream, kdcRepContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, kdcRepContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a KDC-REP with empty Pvno tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testKdcRepEmptyPvnoTag() throws DecoderException
     {
 
@@ -311,15 +308,16 @@ public class KdcRepDecoderTest
         Asn1Container kdcRepContainer = new KdcRepContainer( stream );
 
         // Decode the KDC-REP PDU
-        Asn1Decoder.decode( stream, kdcRepContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, kdcRepContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a KDC-REP with empty Pvno value
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testKdcRepEmptyPvnoValue() throws DecoderException
     {
 
@@ -338,7 +336,8 @@ public class KdcRepDecoderTest
         Asn1Container kdcRepContainer = new KdcRepContainer( stream );
 
         // Decode the KDC-REP PDU
-        Asn1Decoder.decode( stream, kdcRepContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, kdcRepContainer);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KdcReqBodyDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KdcReqBodyDecoderTest.java
index 766952a..0c86ce1 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KdcReqBodyDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KdcReqBodyDecoderTest.java
@@ -43,19 +43,15 @@ import org.apache.directory.shared.kerberos.components.HostAddresses;
 import org.apache.directory.shared.kerberos.components.KdcReqBody;
 import org.apache.directory.shared.kerberos.components.PrincipalName;
 import org.apache.directory.shared.kerberos.messages.Ticket;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 
 /**
  * Test the decoder for a KdcReqBody
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class KdcReqBodyDecoderTest
 {
     /**
@@ -265,7 +261,7 @@ public class KdcReqBodyDecoderTest
     /**
      * Test the decoding of a KDC-REQ-BODY with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testKdcReqBodyEmpty() throws DecoderException
     {
 
@@ -280,15 +276,16 @@ public class KdcReqBodyDecoderTest
         Asn1Container kdcReqBodyContainer = new KdcReqBodyContainer( stream );
 
         // Decode the KDC-REQ-BODY PDU
-        Asn1Decoder.decode( stream, kdcReqBodyContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, kdcReqBodyContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a KDC-REQ-BODY with empty options tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testKdcReqBodyEmptyOptionTag() throws DecoderException
     {
 
@@ -306,15 +303,16 @@ public class KdcReqBodyDecoderTest
         Asn1Container kdcReqBodyContainer = new KdcReqBodyContainer( stream );
 
         // Decode the KDC-REQ-BODY PDU
-        Asn1Decoder.decode( stream, kdcReqBodyContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, kdcReqBodyContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a KDC-REQ-BODY with empty options value
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testKdcReqBodyEmptyOptionValue() throws DecoderException
     {
 
@@ -333,15 +331,16 @@ public class KdcReqBodyDecoderTest
         Asn1Container kdcReqBodyContainer = new KdcReqBodyContainer( stream );
 
         // Decode the KDC-REQ-BODY PDU
-        Asn1Decoder.decode( stream, kdcReqBodyContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+                    Asn1Decoder.decode(stream, kdcReqBodyContainer);
+                } );
     }
 
 
     /**
      * Test the decoding of a KDC-REQ-BODY with no options
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testKdcReqBodyNoOptions() throws DecoderException
     {
 
@@ -461,8 +460,9 @@ public class KdcReqBodyDecoderTest
         Asn1Container kdcReqBodyContainer = new KdcReqBodyContainer( stream );
 
         // Decode the KDC-REQ-BODY PDU
-        Asn1Decoder.decode( stream, kdcReqBodyContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, kdcReqBodyContainer);
+        } );
     }
 
 
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KdcReqDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KdcReqDecoderTest.java
index 871bcff..562d823 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KdcReqDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KdcReqDecoderTest.java
@@ -25,8 +25,6 @@ import static org.junit.Assert.fail;
 
 import java.nio.ByteBuffer;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -35,16 +33,15 @@ import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.shared.kerberos.codec.kdcReq.KdcReqContainer;
 import org.apache.directory.shared.kerberos.components.KdcReq;
 import org.apache.directory.shared.kerberos.messages.AsReq;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.Assert;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
  * Test the decoder for a KDC-REQ
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class KdcReqDecoderTest
 {
     /**
@@ -229,7 +226,7 @@ public class KdcReqDecoderTest
     /**
      * Test the decoding of a KDC-REQ with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testKdcReqEmpty() throws DecoderException
     {
 
@@ -244,15 +241,16 @@ public class KdcReqDecoderTest
         Asn1Container kdcReqContainer = new KdcReqContainer( stream );
 
         // Decode the KDC-REQ PDU
-        Asn1Decoder.decode( stream, kdcReqContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, kdcReqContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a KDC-REQ with empty Pvno tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testKdcReqEmptyPvnoTag() throws DecoderException
     {
 
@@ -270,15 +268,16 @@ public class KdcReqDecoderTest
         Asn1Container kdcReqContainer = new KdcReqContainer( stream );
 
         // Decode the KDC-REQ PDU
-        Asn1Decoder.decode( stream, kdcReqContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, kdcReqContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a KDC-REQ with empty Pvno value
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testKdcReqEmptyPvnoValue() throws DecoderException
     {
 
@@ -297,7 +296,8 @@ public class KdcReqDecoderTest
         Asn1Container kdcReqContainer = new KdcReqContainer( stream );
 
         // Decode the KDC-REQ PDU
-        Asn1Decoder.decode( stream, kdcReqContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, kdcReqContainer);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KerberosMessageDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KerberosMessageDecoderTest.java
index 4db6ef6..fc9fa68 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KerberosMessageDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KerberosMessageDecoderTest.java
@@ -34,19 +34,14 @@ import org.apache.directory.shared.kerberos.codec.tgsReq.TgsReqContainer;
 import org.apache.directory.shared.kerberos.messages.ApRep;
 import org.apache.directory.shared.kerberos.messages.AsReq;
 import org.apache.directory.shared.kerberos.messages.TgsReq;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 
 /**
  * Test the decoder for some KerberosMessage
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class KerberosMessageDecoderTest
 {
     /**
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbCredDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbCredDecoderTest.java
index 1ba515f..d350f96 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbCredDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbCredDecoderTest.java
@@ -35,7 +35,7 @@ import org.apache.directory.shared.kerberos.components.EncryptedData;
 import org.apache.directory.shared.kerberos.components.PrincipalName;
 import org.apache.directory.shared.kerberos.messages.KrbCred;
 import org.apache.directory.shared.kerberos.messages.Ticket;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 /**
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbCredInfoDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbCredInfoDecoderTest.java
index 4dcc870..35171a8 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbCredInfoDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbCredInfoDecoderTest.java
@@ -46,8 +46,8 @@ import org.apache.directory.shared.kerberos.components.KrbCredInfo;
 import org.apache.directory.shared.kerberos.components.PrincipalName;
 import org.apache.directory.shared.kerberos.flags.TicketFlag;
 import org.apache.directory.shared.kerberos.flags.TicketFlags;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -96,7 +96,7 @@ public class KrbCredInfoDecoderTest
     }
 
 
-    @Before
+    @BeforeEach
     public void setup() throws Exception
     {
         optionalFieldValueList = new ArrayList<FieldValueHolder>();
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbErrorDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbErrorDecoderTest.java
index a03ed6f..bb3a434 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbErrorDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbErrorDecoderTest.java
@@ -37,7 +37,7 @@ import org.apache.directory.shared.kerberos.KerberosMessageType;
 import org.apache.directory.shared.kerberos.codec.krbError.KrbErrorContainer;
 import org.apache.directory.shared.kerberos.exceptions.ErrorType;
 import org.apache.directory.shared.kerberos.messages.KrbError;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 /**
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbPrivDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbPrivDecoderTest.java
index d06212f..32def9c 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbPrivDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbPrivDecoderTest.java
@@ -34,7 +34,7 @@ import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.KerberosMessageType;
 import org.apache.directory.shared.kerberos.codec.krbPriv.KrbPrivContainer;
 import org.apache.directory.shared.kerberos.messages.KrbPriv;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 /**
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbSafeBodyDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbSafeBodyDecoderTest.java
index 908dede..d5fd277 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbSafeBodyDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbSafeBodyDecoderTest.java
@@ -37,7 +37,7 @@ import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.krbSafeBody.KrbSafeBodyContainer;
 import org.apache.directory.shared.kerberos.components.HostAddress;
 import org.apache.directory.shared.kerberos.components.KrbSafeBody;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 /**
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbSafeDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbSafeDecoderTest.java
index df22a70..65c3890 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbSafeDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/KrbSafeDecoderTest.java
@@ -34,7 +34,8 @@ import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.KerberosMessageType;
 import org.apache.directory.shared.kerberos.codec.krbSafe.KrbSafeContainer;
 import org.apache.directory.shared.kerberos.messages.KrbSafe;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -146,7 +147,7 @@ public class KrbSafeDecoderTest
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeKrbSafeWithIncorrectPdu() throws DecoderException
     {
         byte[] data = new byte[]
@@ -168,6 +169,8 @@ public class KrbSafeDecoderTest
 
         KrbSafeContainer container = new KrbSafeContainer( stream );
 
-        Asn1Decoder.decode( stream, container );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/LastReqDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/LastReqDecoderTest.java
index 98e962e..7ff02ed 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/LastReqDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/LastReqDecoderTest.java
@@ -35,7 +35,9 @@ import org.apache.directory.shared.kerberos.codec.lastReq.LastReqContainer;
 import org.apache.directory.shared.kerberos.codec.types.LastReqType;
 import org.apache.directory.shared.kerberos.components.LastReq;
 import org.apache.directory.shared.kerberos.components.LastReqEntry;
-import org.junit.Test;
+import org.junit.Assert;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -159,7 +161,7 @@ public class LastReqDecoderTest
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testLastReqWithoutType() throws DecoderException
     {
 
@@ -192,12 +194,13 @@ public class LastReqDecoderTest
 
         LastReqContainer lastReqContainer = new LastReqContainer();
 
-        Asn1Decoder.decode( stream, lastReqContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, lastReqContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testLastReqWithoutValue() throws DecoderException
     {
 
@@ -215,12 +218,13 @@ public class LastReqDecoderTest
 
         LastReqContainer lastReqContainer = new LastReqContainer();
 
-        Asn1Decoder.decode( stream, lastReqContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, lastReqContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testLastReqWithIncorrectPdu() throws DecoderException
     {
 
@@ -233,12 +237,13 @@ public class LastReqDecoderTest
 
         LastReqContainer lastReqContainer = new LastReqContainer();
 
-        Asn1Decoder.decode( stream, lastReqContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, lastReqContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testLastReqWithEmptyValue() throws DecoderException
     {
 
@@ -261,12 +266,13 @@ public class LastReqDecoderTest
 
         LastReqContainer lastReqContainer = new LastReqContainer();
 
-        Asn1Decoder.decode( stream, lastReqContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, lastReqContainer);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testLastReqWithEmptyType() throws DecoderException
     {
 
@@ -303,7 +309,8 @@ public class LastReqDecoderTest
 
         LastReqContainer lastReqContainer = new LastReqContainer();
 
-        Asn1Decoder.decode( stream, lastReqContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, lastReqContainer);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/MethodDataDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/MethodDataDecoderTest.java
index e92193b..58845fd 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/MethodDataDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/MethodDataDecoderTest.java
@@ -27,8 +27,6 @@ import static org.junit.Assert.fail;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -39,8 +37,8 @@ import org.apache.directory.shared.kerberos.codec.methodData.MethodDataContainer
 import org.apache.directory.shared.kerberos.codec.types.PaDataType;
 import org.apache.directory.shared.kerberos.components.MethodData;
 import org.apache.directory.shared.kerberos.components.PaData;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -48,8 +46,6 @@ import org.junit.runner.RunWith;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class MethodDataDecoderTest
 {
     /**
@@ -155,7 +151,7 @@ public class MethodDataDecoderTest
     /**
      * Test the decoding of a METHOD-DATA with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testETypeInfoEmpty() throws DecoderException
     {
 
@@ -170,15 +166,16 @@ public class MethodDataDecoderTest
         Asn1Container methodDataContainer = new MethodDataContainer();
 
         // Decode the METHOD-DATA PDU
-        Asn1Decoder.decode( stream, methodDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, methodDataContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a METHOD-DATA with empty PA-DATA in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testETypeInfoNoETypeInfoEntry() throws DecoderException
     {
 
@@ -196,8 +193,8 @@ public class MethodDataDecoderTest
         Asn1Container methodDataContainer = new MethodDataContainer();
 
         // Decode the METHOD-DATA PDU
-        Asn1Decoder.decode( stream, methodDataContainer );
-        fail();
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, methodDataContainer);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/PaDataDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/PaDataDecoderTest.java
index bf0b70d..3245333 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/PaDataDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/PaDataDecoderTest.java
@@ -35,7 +35,8 @@ import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.padata.PaDataContainer;
 import org.apache.directory.shared.kerberos.codec.types.PaDataType;
 import org.apache.directory.shared.kerberos.components.PaData;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -111,7 +112,7 @@ public class PaDataDecoderTest
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodePaDataWithoutType() throws DecoderException
     {
 
@@ -133,14 +134,15 @@ public class PaDataDecoderTest
 
         stream.flip();
 
-        PaDataContainer chkContainer = new PaDataContainer();
+        PaDataContainer container = new PaDataContainer();
 
-        Asn1Decoder.decode( stream, chkContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeChecksumWithoutPaDataValue() throws DecoderException
     {
 
@@ -159,8 +161,9 @@ public class PaDataDecoderTest
 
         PaDataContainer container = new PaDataContainer();
 
-        Asn1Decoder.decode( stream, container );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/PaEncTimestampDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/PaEncTimestampDecoderTest.java
index 2ef2973..a738062 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/PaEncTimestampDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/PaEncTimestampDecoderTest.java
@@ -27,8 +27,6 @@ import static org.junit.Assert.fail;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -38,8 +36,7 @@ import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.paEncTimestamp.PaEncTimestampContainer;
 import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
 import org.apache.directory.shared.kerberos.components.PaEncTimestamp;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -47,8 +44,6 @@ import org.junit.runner.RunWith;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class PaEncTimestampDecoderTest
 {
     /**
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/PaEncTsEncDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/PaEncTsEncDecoderTest.java
index 1e1bb8b..7afc0af 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/PaEncTsEncDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/PaEncTsEncDecoderTest.java
@@ -32,7 +32,8 @@ import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.paEncTsEnc.PaEncTsEncContainer;
 import org.apache.directory.shared.kerberos.components.PaEncTsEnc;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -115,7 +116,7 @@ public class PaEncTsEncDecoderTest
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodePaEncTsEncWithEmptySeq() throws DecoderException
     {
 
@@ -128,14 +129,15 @@ public class PaEncTsEncDecoderTest
 
         stream.flip();
 
-        PaEncTsEncContainer paEncTsEncContainer = new PaEncTsEncContainer();
+        PaEncTsEncContainer container = new PaEncTsEncContainer();
 
-        Asn1Decoder.decode( stream, paEncTsEncContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodePaEncTsEncEmptyPaTimestamp() throws DecoderException
     {
 
@@ -149,14 +151,15 @@ public class PaEncTsEncDecoderTest
 
         stream.flip();
 
-        PaEncTsEncContainer paEncTsEncContainer = new PaEncTsEncContainer();
+        PaEncTsEncContainer container = new PaEncTsEncContainer();
 
-        Asn1Decoder.decode( stream, paEncTsEncContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeAdAndOrNullPaTimestamp() throws DecoderException
     {
 
@@ -171,14 +174,15 @@ public class PaEncTsEncDecoderTest
 
         stream.flip();
 
-        PaEncTsEncContainer paEncTsEncContainer = new PaEncTsEncContainer();
+        PaEncTsEncContainer container = new PaEncTsEncContainer();
 
-        Asn1Decoder.decode( stream, paEncTsEncContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeAdAndOrNoPaTimestamp() throws DecoderException
     {
 
@@ -195,10 +199,11 @@ public class PaEncTsEncDecoderTest
 
         stream.flip();
 
-        PaEncTsEncContainer paEncTsEncContainer = new PaEncTsEncContainer();
+        PaEncTsEncContainer container = new PaEncTsEncContainer();
 
-        Asn1Decoder.decode( stream, paEncTsEncContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/PrincipalNameDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/PrincipalNameDecoderTest.java
index 7edcf9b..a75ba5b 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/PrincipalNameDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/PrincipalNameDecoderTest.java
@@ -26,8 +26,6 @@ import static org.junit.Assert.fail;
 
 import java.nio.ByteBuffer;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -37,16 +35,14 @@ import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.principalName.PrincipalNameContainer;
 import org.apache.directory.shared.kerberos.codec.types.PrincipalNameType;
 import org.apache.directory.shared.kerberos.components.PrincipalName;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
  * Test the PrincipalName decoder
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class PrincipalNameDecoderTest
 {
     /**
@@ -148,7 +144,7 @@ public class PrincipalNameDecoderTest
     /**
      * Test the decoding of a PrincipalName with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testPrincipalNameEmpty() throws DecoderException
     {
 
@@ -163,15 +159,16 @@ public class PrincipalNameDecoderTest
         Asn1Container principalNameContainer = new PrincipalNameContainer();
 
         // Decode the PrincipalName PDU
-        Asn1Decoder.decode( stream, principalNameContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, principalNameContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a PrincipalName with no type
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testPrincipalNameNoType() throws DecoderException
     {
 
@@ -188,15 +185,16 @@ public class PrincipalNameDecoderTest
         Asn1Container principalNameContainer = new PrincipalNameContainer();
 
         // Decode the PrincipalName PDU
-        Asn1Decoder.decode( stream, principalNameContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, principalNameContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a PrincipalName with an empty type
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testPrincipalNameEmptyType() throws DecoderException
     {
 
@@ -215,15 +213,16 @@ public class PrincipalNameDecoderTest
         Asn1Container principalNameContainer = new PrincipalNameContainer();
 
         // Decode the PrincipalName PDU
-        Asn1Decoder.decode( stream, principalNameContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, principalNameContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a PrincipalName with a wrong type
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testPrincipalNameBadType() throws DecoderException
     {
 
@@ -247,15 +246,16 @@ public class PrincipalNameDecoderTest
         Asn1Container principalNameContainer = new PrincipalNameContainer();
 
         // Decode the PrincipalName PDU
-        Asn1Decoder.decode( stream, principalNameContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, principalNameContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a PrincipalName with an empty name
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testPrincipalNameEmptyName() throws DecoderException
     {
 
@@ -277,15 +277,16 @@ public class PrincipalNameDecoderTest
         Asn1Container principalNameContainer = new PrincipalNameContainer();
 
         // Decode the PrincipalName PDU
-        Asn1Decoder.decode( stream, principalNameContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, principalNameContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a PrincipalName with no name
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testPrincipalNameNoName() throws DecoderException
     {
 
@@ -309,15 +310,16 @@ public class PrincipalNameDecoderTest
         Asn1Container principalNameContainer = new PrincipalNameContainer();
 
         // Decode the PrincipalName PDU
-        Asn1Decoder.decode( stream, principalNameContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, principalNameContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a PrincipalName
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testPrincipalNameBadName() throws DecoderException
     {
 
@@ -343,15 +345,16 @@ public class PrincipalNameDecoderTest
         Asn1Container principalNameContainer = new PrincipalNameContainer();
 
         // Decode the PrincipalName PDU
-        Asn1Decoder.decode( stream, principalNameContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, principalNameContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a PrincipalName
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testPrincipalNameBadName2() throws DecoderException
     {
 
@@ -405,14 +408,16 @@ public class PrincipalNameDecoderTest
         Asn1Container principalNameContainer = new PrincipalNameContainer();
 
         // Decode the PrincipalName PDU
-        Asn1Decoder.decode( stream, principalNameContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, principalNameContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a PrincipalName with no name-type
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testPrincipalNameNoNameType() throws DecoderException
     {
 
@@ -461,6 +466,8 @@ public class PrincipalNameDecoderTest
         Asn1Container principalNameContainer = new PrincipalNameContainer();
 
         // Decode the PrincipalName PDU
-        Asn1Decoder.decode( stream, principalNameContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, principalNameContainer);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TgsRepDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TgsRepDecoderTest.java
index 07e8365..5d56f0a 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TgsRepDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TgsRepDecoderTest.java
@@ -25,8 +25,6 @@ import static org.junit.Assert.fail;
 
 import java.nio.ByteBuffer;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -34,16 +32,14 @@ import org.apache.directory.api.asn1.ber.Asn1Container;
 import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.shared.kerberos.codec.tgsRep.TgsRepContainer;
 import org.apache.directory.shared.kerberos.messages.TgsRep;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
  * Test the decoder for a TGS-REP
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class TgsRepDecoderTest
 {
     /**
@@ -269,7 +265,7 @@ public class TgsRepDecoderTest
     /**
      * Test the decoding of a TGS-REP with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testTgsRepEmpty() throws DecoderException
     {
 
@@ -281,18 +277,19 @@ public class TgsRepDecoderTest
         stream.flip();
 
         // Allocate a TGS-REP Container
-        Asn1Container tgsRepContainer = new TgsRepContainer( stream );
+        Asn1Container container = new TgsRepContainer( stream );
 
         // Decode the TGS-REP PDU
-        Asn1Decoder.decode( stream, tgsRepContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
     /**
      * Test the decoding of a TGS-REP with empty Pvno tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testTgsRepEmptyPvnoTag() throws DecoderException
     {
 
@@ -307,18 +304,19 @@ public class TgsRepDecoderTest
         stream.flip();
 
         // Allocate a TGS-REP Container
-        Asn1Container tgsRepContainer = new TgsRepContainer( stream );
+        Asn1Container container = new TgsRepContainer( stream );
 
         // Decode the TGS-REP PDU
-        Asn1Decoder.decode( stream, tgsRepContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
     /**
      * Test the decoding of a TGS-REP with empty Pvno value
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testTgsRepEmptyPvnoValue() throws DecoderException
     {
 
@@ -334,10 +332,11 @@ public class TgsRepDecoderTest
         stream.flip();
 
         // Allocate a TGS-REP Container
-        Asn1Container tgsRepContainer = new TgsRepContainer( stream );
+        Asn1Container container = new TgsRepContainer( stream );
 
         // Decode the TGS-REP PDU
-        Asn1Decoder.decode( stream, tgsRepContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TgsReqDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TgsReqDecoderTest.java
index d870d42..9a925b0 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TgsReqDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TgsReqDecoderTest.java
@@ -26,8 +26,6 @@ import static org.junit.Assert.fail;
 
 import java.nio.ByteBuffer;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -35,16 +33,14 @@ import org.apache.directory.api.asn1.ber.Asn1Container;
 import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.shared.kerberos.codec.tgsReq.TgsReqContainer;
 import org.apache.directory.shared.kerberos.messages.TgsReq;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
  * Test the decoder for a TgsReq
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class TgsReqDecoderTest
 {
     /**
@@ -231,7 +227,7 @@ public class TgsReqDecoderTest
     /**
      * Test the decoding of a TgsReq message with a bad MsgType
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeFullTgsReqBadMsgType() throws Exception
     {
 
@@ -370,18 +366,19 @@ public class TgsReqDecoderTest
         stream.flip();
 
         // Allocate a TgsReq Container
-        TgsReqContainer tgsReqContainer = new TgsReqContainer( stream );
+        TgsReqContainer container = new TgsReqContainer( stream );
 
         // Decode the TgsReq PDU
-        Asn1Decoder.decode( stream, tgsReqContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
     /**
      * Test the decoding of a TGS-REQ with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testTgsReqEmpty() throws DecoderException
     {
 
@@ -393,10 +390,11 @@ public class TgsReqDecoderTest
         stream.flip();
 
         // Allocate a TGS-REQ Container
-        Asn1Container tgsReqContainer = new TgsReqContainer( stream );
+        Asn1Container container = new TgsReqContainer( stream );
 
         // Decode the TGS-REQ PDU
-        Asn1Decoder.decode( stream, tgsReqContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TicketDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TicketDecoderTest.java
index 386e997..5b0cd92 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TicketDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TicketDecoderTest.java
@@ -28,8 +28,6 @@ import static org.junit.Assert.fail;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -42,15 +40,13 @@ import org.apache.directory.shared.kerberos.codec.types.PrincipalNameType;
 import org.apache.directory.shared.kerberos.components.EncryptedData;
 import org.apache.directory.shared.kerberos.components.PrincipalName;
 import org.apache.directory.shared.kerberos.messages.Ticket;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class TicketDecoderTest
 {
     /**
@@ -192,7 +188,7 @@ public class TicketDecoderTest
     /**
      * Test the decoding of an empty Ticket message
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketEmpty() throws Exception
     {
 
@@ -207,14 +203,16 @@ public class TicketDecoderTest
         Asn1Container ticketContainer = new TicketContainer( stream );
 
         // Decode the Ticket PDU
-        Asn1Decoder.decode( stream, ticketContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, ticketContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of an empty Ticket sequence
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketEmptySEQ() throws Exception
     {
 
@@ -232,14 +230,16 @@ public class TicketDecoderTest
         Asn1Container ticketContainer = new TicketContainer( stream );
 
         // Decode the Ticket PDU
-        Asn1Decoder.decode( stream, ticketContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, ticketContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of an empty tktvno tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketEmptyTktVnoTag() throws Exception
     {
 
@@ -258,14 +258,16 @@ public class TicketDecoderTest
         Asn1Container ticketContainer = new TicketContainer( stream );
 
         // Decode the Ticket PDU
-        Asn1Decoder.decode( stream, ticketContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, ticketContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of an empty tktvno value
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketEmptyTktVnoValue() throws Exception
     {
 
@@ -285,14 +287,16 @@ public class TicketDecoderTest
         Asn1Container ticketContainer = new TicketContainer( stream );
 
         // Decode the Ticket PDU
-        Asn1Decoder.decode( stream, ticketContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, ticketContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of an bad tktvno value
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketBadTktVnoValue() throws Exception
     {
 
@@ -312,14 +316,16 @@ public class TicketDecoderTest
         Asn1Container ticketContainer = new TicketContainer( stream );
 
         // Decode the Ticket PDU
-        Asn1Decoder.decode( stream, ticketContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, ticketContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a ticket with no realm
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketNoRealm() throws Exception
     {
 
@@ -339,14 +345,16 @@ public class TicketDecoderTest
         Asn1Container ticketContainer = new TicketContainer( stream );
 
         // Decode the Ticket PDU
-        Asn1Decoder.decode( stream, ticketContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, ticketContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of an empty realm tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketEmptyRealmTag() throws Exception
     {
 
@@ -367,14 +375,16 @@ public class TicketDecoderTest
         Asn1Container ticketContainer = new TicketContainer( stream );
 
         // Decode the Ticket PDU
-        Asn1Decoder.decode( stream, ticketContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, ticketContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of an empty realm value
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketEmptyRealmValue() throws Exception
     {
 
@@ -396,14 +406,16 @@ public class TicketDecoderTest
         Asn1Container ticketContainer = new TicketContainer( stream );
 
         // Decode the Ticket PDU
-        Asn1Decoder.decode( stream, ticketContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, ticketContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a ticket with no sname
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketNoSname() throws Exception
     {
 
@@ -425,14 +437,16 @@ public class TicketDecoderTest
         Asn1Container ticketContainer = new TicketContainer( stream );
 
         // Decode the Ticket PDU
-        Asn1Decoder.decode( stream, ticketContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, ticketContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a ticket with an empty sname tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketEmptySnameTag() throws Exception
     {
 
@@ -455,14 +469,16 @@ public class TicketDecoderTest
         Asn1Container ticketContainer = new TicketContainer( stream );
 
         // Decode the Ticket PDU
-        Asn1Decoder.decode( stream, ticketContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, ticketContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a ticket with an empty sname value
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketEmptySnameValue() throws Exception
     {
 
@@ -486,14 +502,16 @@ public class TicketDecoderTest
         Asn1Container ticketContainer = new TicketContainer( stream );
 
         // Decode the Ticket PDU
-        Asn1Decoder.decode( stream, ticketContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, ticketContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a ticket with a bad principalName
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketBadSName() throws Exception
     {
 
@@ -540,14 +558,16 @@ public class TicketDecoderTest
         Asn1Container ticketContainer = new TicketContainer( stream );
 
         // Decode the Ticket PDU
-        Asn1Decoder.decode( stream, ticketContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, ticketContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a ticket with no enc-part
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketNoEncPart() throws Exception
     {
 
@@ -608,14 +628,16 @@ public class TicketDecoderTest
         Asn1Container ticketContainer = new TicketContainer( stream );
 
         // Decode the Ticket PDU
-        Asn1Decoder.decode( stream, ticketContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, ticketContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a ticket with an empty enc-part tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketEmptyEncPartTag() throws Exception
     {
 
@@ -678,14 +700,16 @@ public class TicketDecoderTest
         Asn1Container ticketContainer = new TicketContainer( stream );
 
         // Decode the Ticket PDU
-        Asn1Decoder.decode( stream, ticketContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, ticketContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a ticket with an empty enc-part
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketEmptyEncPart() throws Exception
     {
 
@@ -750,14 +774,16 @@ public class TicketDecoderTest
         Asn1Container ticketContainer = new TicketContainer( stream );
 
         // Decode the Ticket PDU
-        Asn1Decoder.decode( stream, ticketContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, ticketContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a ticket with a bad enc-part
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testDecodeTicketBadEncPart() throws Exception
     {
 
@@ -824,6 +850,8 @@ public class TicketDecoderTest
         Asn1Container ticketContainer = new TicketContainer( stream );
 
         // Decode the Ticket PDU
-        Asn1Decoder.decode( stream, ticketContainer );
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, ticketContainer);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TransitedEncodingDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TransitedEncodingDecoderTest.java
index e6b5617..111e86f 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TransitedEncodingDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TransitedEncodingDecoderTest.java
@@ -27,8 +27,6 @@ import static org.junit.Assert.fail;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
@@ -38,8 +36,8 @@ import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.transitedEncoding.TransitedEncodingContainer;
 import org.apache.directory.shared.kerberos.codec.types.TransitedEncodingType;
 import org.apache.directory.shared.kerberos.components.TransitedEncoding;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -47,8 +45,6 @@ import org.junit.runner.RunWith;
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-@RunWith(ConcurrentJunitRunner.class)
-@Concurrency()
 public class TransitedEncodingDecoderTest
 {
     /**
@@ -126,7 +122,7 @@ public class TransitedEncodingDecoderTest
     /**
      * Test the decoding of a TransitedEncoding with nothing in it
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testTransitedEncodingEmpty() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 0x02 );
@@ -140,15 +136,16 @@ public class TransitedEncodingDecoderTest
         Asn1Container transitedEncodingContainer = new TransitedEncodingContainer();
 
         // Decode the TransitedEncoding PDU
-        Asn1Decoder.decode( stream, transitedEncodingContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, transitedEncodingContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a TransitedEncoding with an empty tr-type tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testTransitedEncodingEmptyTrTypeTag() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 0x04 );
@@ -164,15 +161,16 @@ public class TransitedEncodingDecoderTest
         Asn1Container transitedEncodingContainer = new TransitedEncodingContainer();
 
         // Decode the TransitedEncoding PDU
-        Asn1Decoder.decode( stream, transitedEncodingContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, transitedEncodingContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a TransitedEncoding with no type
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testTransitedEncodingNoTrType() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 0x06 );
@@ -190,15 +188,16 @@ public class TransitedEncodingDecoderTest
         Asn1Container transitedEncodingContainer = new TransitedEncodingContainer();
 
         // Decode the TransitedEncoding PDU
-        Asn1Decoder.decode( stream, transitedEncodingContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, transitedEncodingContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a TransitedEncoding with no tr-type tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testTransitedEncodingNoTrTypeTag() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 0x06 );
@@ -216,15 +215,16 @@ public class TransitedEncodingDecoderTest
         Asn1Container transitedEncodingContainer = new TransitedEncodingContainer();
 
         // Decode the TransitedEncoding PDU
-        Asn1Decoder.decode( stream, transitedEncodingContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, transitedEncodingContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a TransitedEncoding with an empty contents tag
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testTransitedEncodingEmptyContentsTag() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 0x09 );
@@ -245,15 +245,16 @@ public class TransitedEncodingDecoderTest
         Asn1Container transitedEncodingContainer = new TransitedEncodingContainer();
 
         // Decode the TransitedEncoding PDU
-        Asn1Decoder.decode( stream, transitedEncodingContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, transitedEncodingContainer);
+        } );
     }
 
 
     /**
      * Test the decoding of a TransitedEncoding with something else than a contents
      */
-    @Test(expected = DecoderException.class)
+    @Test
     public void testTransitedEncodingBadTag() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 0x0C );
@@ -277,7 +278,8 @@ public class TransitedEncodingDecoderTest
         Asn1Container transitedEncodingContainer = new TransitedEncodingContainer();
 
         // Decode the TransitedEncoding PDU
-        Asn1Decoder.decode( stream, transitedEncodingContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, transitedEncodingContainer);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TypedDataDecoderTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TypedDataDecoderTest.java
index d876d82..c7feebf 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TypedDataDecoderTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/TypedDataDecoderTest.java
@@ -35,7 +35,8 @@ import org.apache.directory.api.asn1.ber.Asn1Decoder;
 import org.apache.directory.api.util.Strings;
 import org.apache.directory.shared.kerberos.codec.typedData.TypedDataContainer;
 import org.apache.directory.shared.kerberos.components.TypedData;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
 
 /**
@@ -136,7 +137,7 @@ public class TypedDataDecoderTest
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testTypedDataWithoutType() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 0x09 );
@@ -152,10 +153,11 @@ public class TypedDataDecoderTest
 
         stream.flip();
 
-        TypedDataContainer typedDataContainer = new TypedDataContainer();
+        TypedDataContainer container = new TypedDataContainer();
 
-        Asn1Decoder.decode( stream, typedDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
@@ -187,7 +189,7 @@ public class TypedDataDecoderTest
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testTypedDataWithIncorrectPdu() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 0x04 );
@@ -200,14 +202,15 @@ public class TypedDataDecoderTest
 
         stream.flip();
 
-        TypedDataContainer typedDataContainer = new TypedDataContainer();
+        TypedDataContainer container = new TypedDataContainer();
 
-        Asn1Decoder.decode( stream, typedDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testTypedDataWithEmptyData() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 0xD );
@@ -228,14 +231,15 @@ public class TypedDataDecoderTest
 
         stream.flip();
 
-        TypedDataContainer typedDataContainer = new TypedDataContainer();
+        TypedDataContainer container = new TypedDataContainer();
 
-        Asn1Decoder.decode( stream, typedDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 
 
-    @Test(expected = DecoderException.class)
+    @Test
     public void testTypedDataWithEmptyType() throws DecoderException
     {
         ByteBuffer stream = ByteBuffer.allocate( 0xD );
@@ -256,9 +260,10 @@ public class TypedDataDecoderTest
 
         stream.flip();
 
-        TypedDataContainer typedDataContainer = new TypedDataContainer();
+        TypedDataContainer container = new TypedDataContainer();
 
-        Asn1Decoder.decode( stream, typedDataContainer );
-        fail();
+        Assertions.assertThrows( DecoderException.class, () -> {
+            Asn1Decoder.decode(stream, container);
+        } );
     }
 }
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/flags/TicketFlagsTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/flags/TicketFlagsTest.java
index c0afeee..69462ba 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/flags/TicketFlagsTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/flags/TicketFlagsTest.java
@@ -28,7 +28,7 @@ import java.util.Arrays;
 
 import org.apache.directory.shared.kerberos.flags.TicketFlag;
 import org.apache.directory.shared.kerberos.flags.TicketFlags;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 /**
diff --git a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/options/OptionsTest.java b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/options/OptionsTest.java
index d963a69..9ad724d 100644
--- a/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/options/OptionsTest.java
+++ b/kerberos-codec/src/test/java/org/apache/directory/shared/kerberos/codec/options/OptionsTest.java
@@ -25,7 +25,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 /**