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

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


The following commit(s) were added to refs/heads/master by this push:
     new 73157a2c033 HBASE-29901 Upgrade hbase-zookeeper to use junit5 (#7758)
73157a2c033 is described below

commit 73157a2c03333239d099bb18042df7753c9866e3
Author: Liu Xiao <[email protected]>
AuthorDate: Mon Feb 23 11:28:47 2026 +0800

    HBASE-29901 Upgrade hbase-zookeeper to use junit5 (#7758)
    
    Signed-off-by: Duo Zhang <[email protected]>
---
 hbase-zookeeper/pom.xml                            |  8 +--
 .../hadoop/hbase/zookeeper/TestHQuorumPeer.java    | 22 +++---
 .../hbase/zookeeper/TestInstancePending.java       | 21 +++---
 .../hbase/zookeeper/TestMasterAddressTracker.java  | 78 +++++++++++-----------
 .../hbase/zookeeper/TestReadOnlyZKClient.java      | 37 +++++-----
 .../hbase/zookeeper/TestRecoverableZooKeeper.java  | 22 +++---
 .../hbase/zookeeper/TestZKLeaderManager.java       | 55 +++++++--------
 .../hadoop/hbase/zookeeper/TestZKMainServer.java   | 24 +++----
 .../apache/hadoop/hbase/zookeeper/TestZKMulti.java | 50 +++++++-------
 .../hadoop/hbase/zookeeper/TestZKNodeTracker.java  | 30 ++++-----
 .../apache/hadoop/hbase/zookeeper/TestZKUtil.java  | 29 ++++----
 .../hadoop/hbase/zookeeper/TestZKUtilNoServer.java | 24 +++----
 12 files changed, 181 insertions(+), 219 deletions(-)

diff --git a/hbase-zookeeper/pom.xml b/hbase-zookeeper/pom.xml
index 81c61dfa278..9ce9e8490aa 100644
--- a/hbase-zookeeper/pom.xml
+++ b/hbase-zookeeper/pom.xml
@@ -120,13 +120,13 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.junit.vintage</groupId>
-      <artifactId>junit-vintage-engine</artifactId>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-core</artifactId>
+      <groupId>org.hamcrest</groupId>
+      <artifactId>hamcrest-core</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestHQuorumPeer.java
 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestHQuorumPeer.java
index 49a0c647d37..60bea848a7d 100644
--- 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestHQuorumPeer.java
+++ 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestHQuorumPeer.java
@@ -17,40 +17,36 @@
  */
 package org.apache.hadoop.hbase.zookeeper;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 import java.io.IOException;
 import java.util.Properties;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HBaseZKTestingUtil;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
 import org.apache.hadoop.hbase.testclassification.ZKTests;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test for HQuorumPeer.
  */
-@Category({ ZKTests.class, SmallTests.class })
+@Tag(ZKTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestHQuorumPeer {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestHQuorumPeer.class);
 
   private static final HBaseZKTestingUtil TEST_UTIL = new HBaseZKTestingUtil();
   private static int PORT_NO = 21818;
   private Path dataDir;
 
-  @Before
+  @BeforeEach
   public void setup() throws IOException {
     // Set it to a non-standard port.
     TEST_UTIL.getConfiguration().setInt(HConstants.ZOOKEEPER_CLIENT_PORT, 
PORT_NO);
diff --git 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestInstancePending.java
 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestInstancePending.java
index faea2be1218..0fa74d74d2e 100644
--- 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestInstancePending.java
+++ 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestInstancePending.java
@@ -17,22 +17,19 @@
  */
 package org.apache.hadoop.hbase.zookeeper;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
 import java.util.concurrent.atomic.AtomicReference;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
 import org.apache.hadoop.hbase.testclassification.ZKTests;
-import org.junit.Assert;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category({ ZKTests.class, SmallTests.class })
+@Tag(ZKTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestInstancePending {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestInstancePending.class);
-
   @Test
   public void test() throws Exception {
     final InstancePending<String> pending = new InstancePending<>();
@@ -46,10 +43,10 @@ public class TestInstancePending {
     }.start();
 
     Thread.sleep(100);
-    Assert.assertNull(getResultRef.get());
+    assertNull(getResultRef.get());
 
     pending.prepare("abc");
     Thread.sleep(100);
-    Assert.assertEquals("abc", getResultRef.get());
+    assertEquals("abc", getResultRef.get());
   }
 }
diff --git 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestMasterAddressTracker.java
 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestMasterAddressTracker.java
index e743fa76a95..a9f193f9b0e 100644
--- 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestMasterAddressTracker.java
+++ 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestMasterAddressTracker.java
@@ -17,37 +17,32 @@
  */
 package org.apache.hadoop.hbase.zookeeper;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.List;
 import java.util.concurrent.Semaphore;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HBaseZKTestingUtil;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.testclassification.MediumTests;
 import org.apache.hadoop.hbase.testclassification.ZKTests;
 import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@Category({ ZKTests.class, MediumTests.class })
+@Tag(ZKTests.TAG)
+@Tag(MediumTests.TAG)
 public class TestMasterAddressTracker {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMasterAddressTracker.class);
-
   private static final Logger LOG = 
LoggerFactory.getLogger(TestMasterAddressTracker.class);
 
   private final static HBaseZKTestingUtil TEST_UTIL = new HBaseZKTestingUtil();
@@ -55,22 +50,26 @@ public class TestMasterAddressTracker {
   // Cleaned up after each unit test.
   private ZKWatcher zk;
 
-  @Rule
-  public TestName name = new TestName();
+  private String methodName;
+
+  @BeforeEach
+  public void setUp(TestInfo testInfo) throws Exception {
+    methodName = testInfo.getTestMethod().get().getName();
+  }
 
-  @After
+  @AfterEach
   public void cleanUp() {
     if (zk != null) {
       zk.close();
     }
   }
 
-  @BeforeClass
+  @BeforeAll
   public static void setUpBeforeClass() throws Exception {
     TEST_UTIL.startMiniZKCluster();
   }
 
-  @AfterClass
+  @AfterAll
   public static void tearDownAfterClass() throws Exception {
     TEST_UTIL.shutdownMiniZKCluster();
   }
@@ -81,11 +80,12 @@ public class TestMasterAddressTracker {
       ServerName.valueOf("localhost", 1234, 
EnvironmentEdgeManager.currentTime());
     final MasterAddressTracker addressTracker = setupMasterTracker(sn, 1772);
     try {
-      assertFalse("shouldn't have deleted wrong master server.",
-        MasterAddressTracker.deleteIfEquals(addressTracker.getWatcher(), "some 
other string."));
+      assertFalse(
+        MasterAddressTracker.deleteIfEquals(addressTracker.getWatcher(), "some 
other string."),
+        "shouldn't have deleted wrong master server.");
     } finally {
-      assertTrue("Couldn't clean up master",
-        MasterAddressTracker.deleteIfEquals(addressTracker.getWatcher(), 
sn.toString()));
+      
assertTrue(MasterAddressTracker.deleteIfEquals(addressTracker.getWatcher(), 
sn.toString()),
+        "Couldn't clean up master");
     }
   }
 
@@ -96,7 +96,7 @@ public class TestMasterAddressTracker {
    */
   private MasterAddressTracker setupMasterTracker(final ServerName sn, final 
int infoPort)
     throws Exception {
-    zk = new ZKWatcher(TEST_UTIL.getConfiguration(), name.getMethodName(), 
null);
+    zk = new ZKWatcher(TEST_UTIL.getConfiguration(), methodName, null);
     ZKUtil.createAndFailSilent(zk, zk.getZNodePaths().baseZNode);
     ZKUtil.createAndFailSilent(zk, 
zk.getZNodePaths().backupMasterAddressesZNode);
 
@@ -138,17 +138,17 @@ public class TestMasterAddressTracker {
     try {
       assertTrue(addressTracker.hasMaster());
       ServerName pulledAddress = addressTracker.getMasterAddress();
-      assertTrue(pulledAddress.equals(sn));
+      assertEquals(pulledAddress, sn);
       assertEquals(infoPort, addressTracker.getMasterInfoPort());
     } finally {
-      assertTrue("Couldn't clean up master",
-        MasterAddressTracker.deleteIfEquals(addressTracker.getWatcher(), 
sn.toString()));
+      
assertTrue(MasterAddressTracker.deleteIfEquals(addressTracker.getWatcher(), 
sn.toString()),
+        "Couldn't clean up master");
     }
   }
 
   @Test
   public void testParsingNull() throws Exception {
-    assertNull("parse on null data should return null.", 
MasterAddressTracker.parse(null));
+    assertNull(MasterAddressTracker.parse(null), "parse on null data should 
return null.");
   }
 
   @Test
@@ -157,12 +157,12 @@ public class TestMasterAddressTracker {
       ServerName.valueOf("localhost", 1234, 
EnvironmentEdgeManager.currentTime());
     final MasterAddressTracker addressTracker = setupMasterTracker(sn, 1772);
     try {
-      assertEquals("Should receive 0 for backup not found.", 0,
-        
addressTracker.getBackupMasterInfoPort(ServerName.valueOf("doesnotexist.example.com",
 1234,
-          EnvironmentEdgeManager.currentTime())));
+      assertEquals(0, addressTracker.getBackupMasterInfoPort(
+        ServerName.valueOf("doesnotexist.example.com", 1234, 
EnvironmentEdgeManager.currentTime())),
+        "Should receive 0 for backup not found.");
     } finally {
-      assertTrue("Couldn't clean up master",
-        MasterAddressTracker.deleteIfEquals(addressTracker.getWatcher(), 
sn.toString()));
+      
assertTrue(MasterAddressTracker.deleteIfEquals(addressTracker.getWatcher(), 
sn.toString()),
+        "Couldn't clean up master");
     }
   }
 
@@ -170,8 +170,8 @@ public class TestMasterAddressTracker {
   public void testNoMaster() throws Exception {
     final MasterAddressTracker addressTracker = setupMasterTracker(null, 1772);
     assertFalse(addressTracker.hasMaster());
-    assertNull("should get null master when none active.", 
addressTracker.getMasterAddress());
-    assertEquals("Should receive 0 for backup not found.", 0, 
addressTracker.getMasterInfoPort());
+    assertNull(addressTracker.getMasterAddress(), "should get null master when 
none active.");
+    assertEquals(0, addressTracker.getMasterInfoPort(), "Should receive 0 for 
backup not found.");
   }
 
   @Test
diff --git 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestReadOnlyZKClient.java
 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestReadOnlyZKClient.java
index f17b29fecec..0dc273561ad 100644
--- 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestReadOnlyZKClient.java
+++ 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestReadOnlyZKClient.java
@@ -19,14 +19,14 @@ package org.apache.hadoop.hbase.zookeeper;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNotSame;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.fail;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyString;
@@ -45,7 +45,6 @@ import java.util.concurrent.Exchanger;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HBaseZKTestingUtil;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.Waiter.ExplainingPredicate;
@@ -59,22 +58,18 @@ import org.apache.zookeeper.KeeperException;
 import org.apache.zookeeper.KeeperException.Code;
 import org.apache.zookeeper.ZooDefs;
 import org.apache.zookeeper.ZooKeeper;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 import 
org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder;
 import org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer;
 
-@Category({ ZKTests.class, MediumTests.class })
+@Tag(ZKTests.TAG)
+@Tag(MediumTests.TAG)
 public class TestReadOnlyZKClient {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestReadOnlyZKClient.class);
-
   private static HBaseZKTestingUtil UTIL = new HBaseZKTestingUtil();
 
   private static String PATH = "/test";
@@ -89,7 +84,7 @@ public class TestReadOnlyZKClient {
       .setUncaughtExceptionHandler(Threads.LOGGING_EXCEPTION_HANDLER).build(),
     10, TimeUnit.MILLISECONDS);
 
-  @BeforeClass
+  @BeforeAll
   public static void setUp() throws Exception {
     final int port = UTIL.startMiniZKCluster().getClientPort();
     String hostPort = UTIL.getZkCluster().getAddress().toString();
@@ -112,7 +107,7 @@ public class TestReadOnlyZKClient {
     assertNull(RO_ZK.zookeeper);
   }
 
-  @AfterClass
+  @AfterAll
   public static void tearDown() throws IOException {
     RETRY_TIMER.stop();
     RO_ZK.close();
diff --git 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestRecoverableZooKeeper.java
 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestRecoverableZooKeeper.java
index 8ba5fd84479..b5e2d2c711c 100644
--- 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestRecoverableZooKeeper.java
+++ 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestRecoverableZooKeeper.java
@@ -17,13 +17,12 @@
  */
 package org.apache.hadoop.hbase.zookeeper;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
 import java.lang.reflect.Field;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.Abortable;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HBaseZKTestingUtil;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.testclassification.MediumTests;
@@ -35,17 +34,14 @@ import org.apache.zookeeper.Watcher;
 import org.apache.zookeeper.ZooDefs.Ids;
 import org.apache.zookeeper.ZooKeeper;
 import org.apache.zookeeper.data.Stat;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category({ ZKTests.class, MediumTests.class })
+@Tag(ZKTests.TAG)
+@Tag(MediumTests.TAG)
 public class TestRecoverableZooKeeper {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestRecoverableZooKeeper.class);
 
   private final static HBaseZKTestingUtil TEST_UTIL = new HBaseZKTestingUtil();
 
@@ -60,12 +56,12 @@ public class TestRecoverableZooKeeper {
     }
   };
 
-  @BeforeClass
+  @BeforeAll
   public static void setUpBeforeClass() throws Exception {
     TEST_UTIL.startMiniZKCluster();
   }
 
-  @AfterClass
+  @AfterAll
   public static void tearDownAfterClass() throws Exception {
     TEST_UTIL.shutdownMiniZKCluster();
   }
diff --git 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKLeaderManager.java
 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKLeaderManager.java
index f42926b04f9..0e1156483b0 100644
--- 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKLeaderManager.java
+++ 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKLeaderManager.java
@@ -17,15 +17,14 @@
  */
 package org.apache.hadoop.hbase.zookeeper;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.util.concurrent.atomic.AtomicBoolean;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.Abortable;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HBaseZKTestingUtil;
 import org.apache.hadoop.hbase.Stoppable;
@@ -34,21 +33,17 @@ import 
org.apache.hadoop.hbase.testclassification.MediumTests;
 import org.apache.hadoop.hbase.testclassification.ZKTests;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.Threads;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@Category({ ZKTests.class, MediumTests.class })
+@Tag(ZKTests.TAG)
+@Tag(MediumTests.TAG)
 public class TestZKLeaderManager {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestZKLeaderManager.class);
-
   private static final Logger LOG = 
LoggerFactory.getLogger(TestZKLeaderManager.class);
 
   private static final String LEADER_ZNODE = "/test/" + 
TestZKLeaderManager.class.getSimpleName();
@@ -134,7 +129,7 @@ public class TestZKLeaderManager {
   private static HBaseZKTestingUtil TEST_UTIL;
   private static MockLeader[] CANDIDATES;
 
-  @BeforeClass
+  @BeforeAll
   public static void setupBeforeClass() throws Exception {
     TEST_UTIL = new HBaseZKTestingUtil();
     TEST_UTIL.startMiniZKCluster();
@@ -151,7 +146,7 @@ public class TestZKLeaderManager {
     }
   }
 
-  @AfterClass
+  @AfterAll
   public static void tearDownAfterClass() throws Exception {
     TEST_UTIL.shutdownMiniZKCluster();
   }
@@ -160,15 +155,15 @@ public class TestZKLeaderManager {
   public void testLeaderSelection() throws Exception {
     MockLeader currentLeader = getCurrentLeader();
     // one leader should have been found
-    assertNotNull("Leader should exist", currentLeader);
+    assertNotNull(currentLeader, "Leader should exist");
     LOG.debug("Current leader index is " + currentLeader.getIndex());
 
     byte[] znodeData = ZKUtil.getData(currentLeader.getWatcher(), 
LEADER_ZNODE);
-    assertNotNull("Leader znode should contain leader index", znodeData);
-    assertTrue("Leader znode should not be empty", znodeData.length > 0);
+    assertNotNull(znodeData, "Leader znode should contain leader index");
+    assertTrue(znodeData.length > 0, "Leader znode should not be empty");
     int storedIndex = Bytes.toInt(znodeData);
     LOG.debug("Stored leader index in ZK is " + storedIndex);
-    assertEquals("Leader znode should match leader index", 
currentLeader.getIndex(), storedIndex);
+    assertEquals(currentLeader.getIndex(), storedIndex, "Leader znode should 
match leader index");
 
     // force a leader transition
     currentLeader.abdicate();
@@ -176,15 +171,15 @@ public class TestZKLeaderManager {
     // check for new leader
     currentLeader = getCurrentLeader();
     // one leader should have been found
-    assertNotNull("New leader should exist after abdication", currentLeader);
+    assertNotNull(currentLeader, "New leader should exist after abdication");
     LOG.debug("New leader index is " + currentLeader.getIndex());
 
     znodeData = ZKUtil.getData(currentLeader.getWatcher(), LEADER_ZNODE);
-    assertNotNull("Leader znode should contain leader index", znodeData);
-    assertTrue("Leader znode should not be empty", znodeData.length > 0);
+    assertNotNull(znodeData, "Leader znode should contain leader index");
+    assertTrue(znodeData.length > 0, "Leader znode should not be empty");
     storedIndex = Bytes.toInt(znodeData);
     LOG.debug("Stored leader index in ZK is " + storedIndex);
-    assertEquals("Leader znode should match leader index", 
currentLeader.getIndex(), storedIndex);
+    assertEquals(currentLeader.getIndex(), storedIndex, "Leader znode should 
match leader index");
 
     // force another transition by stopping the current
     currentLeader.stop("Stopping for test");
@@ -192,22 +187,22 @@ public class TestZKLeaderManager {
     // check for new leader
     currentLeader = getCurrentLeader();
     // one leader should have been found
-    assertNotNull("New leader should exist after stop", currentLeader);
+    assertNotNull(currentLeader, "New leader should exist after stop");
     LOG.debug("New leader index is " + currentLeader.getIndex());
 
     znodeData = ZKUtil.getData(currentLeader.getWatcher(), LEADER_ZNODE);
-    assertNotNull("Leader znode should contain leader index", znodeData);
-    assertTrue("Leader znode should not be empty", znodeData.length > 0);
+    assertNotNull(znodeData, "Leader znode should contain leader index");
+    assertTrue(znodeData.length > 0, "Leader znode should not be empty");
     storedIndex = Bytes.toInt(znodeData);
     LOG.debug("Stored leader index in ZK is " + storedIndex);
-    assertEquals("Leader znode should match leader index", 
currentLeader.getIndex(), storedIndex);
+    assertEquals(currentLeader.getIndex(), storedIndex, "Leader znode should 
match leader index");
 
     // with a second stop we can guarantee that a previous leader has resumed 
leading
     currentLeader.stop("Stopping for test");
 
     // check for new
     currentLeader = getCurrentLeader();
-    assertNotNull("New leader should exist", currentLeader);
+    assertNotNull(currentLeader, "New leader should exist");
   }
 
   private MockLeader getCurrentLeader() {
diff --git 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKMainServer.java
 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKMainServer.java
index a8aa1ea490c..d4a2283f9f7 100644
--- 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKMainServer.java
+++ 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKMainServer.java
@@ -17,27 +17,23 @@
  */
 package org.apache.hadoop.hbase.zookeeper;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.security.Permission;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HBaseZKTestingUtil;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
 import org.apache.hadoop.hbase.testclassification.ZKTests;
-import org.junit.Assert;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category({ ZKTests.class, SmallTests.class })
+@Tag(ZKTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestZKMainServer {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestZKMainServer.class);
 
   // ZKMS calls System.exit. Catch the call and prevent exit using trick 
described up in
   // 
http://stackoverflow.com/questions/309396/java-how-to-test-methods-that-call-system-exit
@@ -109,7 +105,7 @@ public class TestZKMainServer {
     assertEquals("example.com:" + port, parser.parse(c));
     c.set("hbase.zookeeper.quorum", "example1.com,example2.com,example3.com");
     String ensemble = parser.parse(c);
-    assertTrue(port, 
ensemble.matches("(example[1-3]\\.com:1234,){2}example[1-3]\\.com:" + port));
+    
assertTrue(ensemble.matches("(example[1-3]\\.com:1234,){2}example[1-3]\\.com:" 
+ port), port);
 
     // multiple servers with its own port
     c.set("hbase.zookeeper.quorum", 
"example1.com:5678,example2.com:9012,example3.com:3456");
@@ -119,7 +115,7 @@ public class TestZKMainServer {
     // some servers without its own port, which will be assigned the default 
client port
     c.set("hbase.zookeeper.quorum", 
"example1.com:5678,example2.com:9012,example3.com");
     ensemble = parser.parse(c);
-    assertEquals(ensemble, "example1.com:5678,example2.com:9012,example3.com:" 
+ port);
+    assertEquals("example1.com:5678,example2.com:9012,example3.com:" + port, 
ensemble);
 
     // multiple servers(IPv6) with its own port
     c.set("hbase.zookeeper.quorum",
@@ -140,7 +136,7 @@ public class TestZKMainServer {
       c.set("hbase.zookeeper.quorum", "[1001:db8:1::242:ac11:8], 
[2001:db8:1::242:df23:2]:9876,"
         + "[1001:db8:1::242:ac11:8:89:67]:5678");
       parser.parse(c);
-      Assert.fail("IPv6 address should be 8 groups.");
+      fail("IPv6 address should be 8 groups.");
     } catch (IllegalArgumentException e) {
       // expected
     }
diff --git 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKMulti.java
 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKMulti.java
index 4eecb1fdd49..a74e6ef303f 100644
--- 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKMulti.java
+++ 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKMulti.java
@@ -17,9 +17,9 @@
  */
 package org.apache.hadoop.hbase.zookeeper;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -28,7 +28,6 @@ import java.util.LinkedList;
 import java.util.List;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.Abortable;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HBaseZKTestingUtil;
 import org.apache.hadoop.hbase.testclassification.MediumTests;
 import org.apache.hadoop.hbase.testclassification.ZKTests;
@@ -38,22 +37,19 @@ import org.apache.zookeeper.CreateMode;
 import org.apache.zookeeper.KeeperException;
 import org.apache.zookeeper.Op;
 import org.apache.zookeeper.ZooDefs.Ids;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * Test ZooKeeper multi-update functionality.
  */
-@Category({ ZKTests.class, MediumTests.class })
+@Tag(ZKTests.TAG)
+@Tag(MediumTests.TAG)
 public class TestZKMulti {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestZKMulti.class);
 
   private static final Logger LOG = LoggerFactory.getLogger(TestZKMulti.class);
   private final static HBaseZKTestingUtil TEST_UTIL = new HBaseZKTestingUtil();
@@ -71,7 +67,7 @@ public class TestZKMulti {
     }
   }
 
-  @BeforeClass
+  @BeforeAll
   public static void setUpBeforeClass() throws Exception {
     TEST_UTIL.startMiniZKCluster();
     Configuration conf = TEST_UTIL.getConfiguration();
@@ -79,7 +75,7 @@ public class TestZKMulti {
     zkw = new ZKWatcher(conf, "TestZKMulti", abortable, true);
   }
 
-  @AfterClass
+  @AfterAll
   public static void tearDownAfterClass() throws Exception {
     TEST_UTIL.shutdownMiniZKCluster();
   }
@@ -314,9 +310,9 @@ public class TestZKMulti {
 
     ZKUtil.deleteChildrenRecursivelyMultiOrSequential(zkw, true, parentZNode);
 
-    assertTrue("Wrongly deleted parent znode!", ZKUtil.checkExists(zkw, 
parentZNode) > -1);
+    assertTrue(ZKUtil.checkExists(zkw, parentZNode) > -1, "Wrongly deleted 
parent znode!");
     List<String> children = 
zkw.getRecoverableZooKeeper().getChildren(parentZNode, false);
-    assertEquals("Failed to delete child znodes!", 0, children.size());
+    assertEquals(0, children.size(), "Failed to delete child znodes!");
   }
 
   /**
@@ -329,7 +325,7 @@ public class TestZKMulti {
     createZNodeTree(parentZNode);
 
     ZKUtil.deleteNodeRecursively(zkw, parentZNode);
-    assertEquals("Parent znode should be deleted.", -1, 
ZKUtil.checkExists(zkw, parentZNode));
+    assertEquals(-1, ZKUtil.checkExists(zkw, parentZNode), "Parent znode 
should be deleted.");
   }
 
   @Test
@@ -343,9 +339,9 @@ public class TestZKMulti {
 
     ZKUtil.deleteNodeRecursivelyMultiOrSequential(zkw, false, parentZNode1, 
parentZNode2,
       parentZNode3);
-    assertEquals("Parent znode 1 should be deleted.", -1, 
ZKUtil.checkExists(zkw, parentZNode1));
-    assertEquals("Parent znode 2 should be deleted.", -1, 
ZKUtil.checkExists(zkw, parentZNode2));
-    assertEquals("Parent znode 3 should be deleted.", -1, 
ZKUtil.checkExists(zkw, parentZNode3));
+    assertEquals(-1, ZKUtil.checkExists(zkw, parentZNode1), "Parent znode 1 
should be deleted.");
+    assertEquals(-1, ZKUtil.checkExists(zkw, parentZNode2), "Parent znode 2 
should be deleted.");
+    assertEquals(-1, ZKUtil.checkExists(zkw, parentZNode3), "Parent znode 3 
should be deleted.");
   }
 
   @Test
@@ -360,17 +356,17 @@ public class TestZKMulti {
     ZKUtil.deleteChildrenRecursivelyMultiOrSequential(zkw, true, parentZNode1, 
parentZNode2,
       parentZNode3);
 
-    assertTrue("Wrongly deleted parent znode 1!", ZKUtil.checkExists(zkw, 
parentZNode1) > -1);
+    assertTrue(ZKUtil.checkExists(zkw, parentZNode1) > -1, "Wrongly deleted 
parent znode 1!");
     List<String> children = 
zkw.getRecoverableZooKeeper().getChildren(parentZNode1, false);
-    assertEquals("Failed to delete child znodes of parent znode 1!", 0, 
children.size());
+    assertEquals(0, children.size(), "Failed to delete child znodes of parent 
znode 1!");
 
-    assertTrue("Wrongly deleted parent znode 2!", ZKUtil.checkExists(zkw, 
parentZNode2) > -1);
+    assertTrue(ZKUtil.checkExists(zkw, parentZNode2) > -1, "Wrongly deleted 
parent znode 2!");
     children = zkw.getRecoverableZooKeeper().getChildren(parentZNode2, false);
-    assertEquals("Failed to delete child znodes of parent znode 1!", 0, 
children.size());
+    assertEquals(0, children.size(), "Failed to delete child znodes of parent 
znode 1!");
 
-    assertTrue("Wrongly deleted parent znode 3!", ZKUtil.checkExists(zkw, 
parentZNode3) > -1);
+    assertTrue(ZKUtil.checkExists(zkw, parentZNode3) > -1, "Wrongly deleted 
parent znode 3!");
     children = zkw.getRecoverableZooKeeper().getChildren(parentZNode3, false);
-    assertEquals("Failed to delete child znodes of parent znode 1!", 0, 
children.size());
+    assertEquals(0, children.size(), "Failed to delete child znodes of parent 
znode 1!");
   }
 
   @Test
diff --git 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKNodeTracker.java
 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKNodeTracker.java
index ac1c0bac68c..e3770004cab 100644
--- 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKNodeTracker.java
+++ 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKNodeTracker.java
@@ -17,17 +17,16 @@
  */
 package org.apache.hadoop.hbase.zookeeper;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
 import java.util.concurrent.Semaphore;
 import java.util.concurrent.ThreadLocalRandom;
 import org.apache.hadoop.hbase.Abortable;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HBaseZKTestingUtil;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.ServerName;
@@ -38,29 +37,26 @@ import org.apache.hadoop.hbase.util.Threads;
 import org.apache.zookeeper.CreateMode;
 import org.apache.zookeeper.ZooDefs.Ids;
 import org.apache.zookeeper.ZooKeeper;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@Category({ ZKTests.class, MediumTests.class })
+@Tag(ZKTests.TAG)
+@Tag(MediumTests.TAG)
 public class TestZKNodeTracker {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestZKNodeTracker.class);
 
   private static final Logger LOG = 
LoggerFactory.getLogger(TestZKNodeTracker.class);
   private final static HBaseZKTestingUtil TEST_UTIL = new HBaseZKTestingUtil();
 
-  @BeforeClass
+  @BeforeAll
   public static void setUpBeforeClass() throws Exception {
     TEST_UTIL.startMiniZKCluster();
   }
 
-  @AfterClass
+  @AfterAll
   public static void tearDownAfterClass() throws Exception {
     TEST_UTIL.shutdownMiniZKCluster();
   }
diff --git 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKUtil.java
 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKUtil.java
index f30cf15bec9..49cf45d4a20 100644
--- 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKUtil.java
+++ 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKUtil.java
@@ -17,11 +17,11 @@
  */
 package org.apache.hadoop.hbase.zookeeper;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyList;
@@ -40,7 +40,6 @@ import java.util.concurrent.Callable;
 import java.util.concurrent.atomic.AtomicBoolean;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.Abortable;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HBaseZKTestingUtil;
 import org.apache.hadoop.hbase.testclassification.MediumTests;
 import org.apache.hadoop.hbase.testclassification.ZKTests;
@@ -53,11 +52,10 @@ import org.apache.zookeeper.ZooDefs;
 import org.apache.zookeeper.ZooKeeper;
 import org.apache.zookeeper.data.ACL;
 import org.apache.zookeeper.data.Stat;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 import org.mockito.AdditionalAnswers;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -65,10 +63,9 @@ import org.slf4j.LoggerFactory;
 import org.apache.hbase.thirdparty.com.google.common.collect.ImmutableList;
 import org.apache.hbase.thirdparty.com.google.common.io.Closeables;
 
-@Category({ ZKTests.class, MediumTests.class })
+@Tag(ZKTests.TAG)
+@Tag(MediumTests.TAG)
 public class TestZKUtil {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE = 
HBaseClassTestRule.forClass(TestZKUtil.class);
 
   private static final Logger LOG = LoggerFactory.getLogger(TestZKUtil.class);
 
@@ -76,14 +73,14 @@ public class TestZKUtil {
 
   private static ZKWatcher ZKW;
 
-  @BeforeClass
+  @BeforeAll
   public static void setUp() throws Exception {
     UTIL.startMiniZKCluster().getClientPort();
     ZKW = new ZKWatcher(new Configuration(UTIL.getConfiguration()), 
TestZKUtil.class.getName(),
       new WarnOnlyAbortable());
   }
 
-  @AfterClass
+  @AfterAll
   public static void tearDown() throws IOException {
     Closeables.close(ZKW, true);
     UTIL.shutdownMiniZKCluster();
diff --git 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKUtilNoServer.java
 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKUtilNoServer.java
index 2684503bcb3..25669156f13 100644
--- 
a/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKUtilNoServer.java
+++ 
b/hbase-zookeeper/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKUtilNoServer.java
@@ -17,14 +17,14 @@
  */
 package org.apache.hadoop.hbase.zookeeper;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.IOException;
 import java.util.List;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.security.Superusers;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
@@ -35,16 +35,13 @@ import org.apache.zookeeper.ZooDefs.Ids;
 import org.apache.zookeeper.ZooDefs.Perms;
 import org.apache.zookeeper.data.ACL;
 import org.apache.zookeeper.data.Id;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
-@Category({ ZKTests.class, SmallTests.class })
+@Tag(ZKTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestZKUtilNoServer {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestZKUtilNoServer.class);
 
   @Test
   public void testUnsecure() throws IOException {
@@ -99,7 +96,7 @@ public class TestZKUtilNoServer {
     assertTrue(aclList.contains(new ACL(Perms.ALL, new Id("sasl", "user6"))));
   }
 
-  @Test(expected = KeeperException.SystemErrorException.class)
+  @Test
   public void testInterruptedDuringAction()
     throws IOException, KeeperException, InterruptedException {
     final RecoverableZooKeeper recoverableZk = 
Mockito.mock(RecoverableZooKeeper.class);
@@ -111,6 +108,7 @@ public class TestZKUtilNoServer {
     };
     Mockito.doThrow(new InterruptedException()).when(recoverableZk)
       .getChildren(zkw.getZNodePaths().baseZNode, null);
-    ZKUtil.listChildrenNoWatch(zkw, zkw.getZNodePaths().baseZNode);
+    assertThrows(KeeperException.SystemErrorException.class,
+      () -> ZKUtil.listChildrenNoWatch(zkw, zkw.getZNodePaths().baseZNode));
   }
 }


Reply via email to