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

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


The following commit(s) were added to refs/heads/master by this push:
     new 429d876dc5 Migrated integration tests with TemporaryFolder to JUnit5 
(#5656)
429d876dc5 is described below

commit 429d876dc530591f3813f751c72521e31f2e89de
Author: Hemant Kumar <[email protected]>
AuthorDate: Wed Nov 22 13:29:05 2023 -0800

    Migrated integration tests with TemporaryFolder to JUnit5 (#5656)
---
 .../ozone/om/TestOmStartupSlvLessThanMlv.java      |  39 ++---
 .../om/TestOzoneManagerListVolumesSecure.java      |  72 ++++----
 .../om/ratis/TestOzoneManagerRatisRequest.java     |  55 +++---
 .../ozone/om/service/TestRangerBGSyncService.java  | 190 ++++++++++-----------
 .../hadoop/ozone/recon/TestReconAsPassiveScm.java  |  44 ++---
 .../apache/hadoop/ozone/recon/TestReconTasks.java  |  36 ++--
 6 files changed, 190 insertions(+), 246 deletions(-)

diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmStartupSlvLessThanMlv.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmStartupSlvLessThanMlv.java
index f77386198e..0af41af831 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmStartupSlvLessThanMlv.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmStartupSlvLessThanMlv.java
@@ -17,6 +17,9 @@
 package org.apache.hadoop.ozone.om;
 
 import java.io.File;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.util.UUID;
 
 import org.apache.hadoop.hdds.conf.OzoneConfiguration;
@@ -27,32 +30,33 @@ import org.apache.hadoop.ozone.om.upgrade.OMLayoutFeature;
 import org.apache.hadoop.ozone.upgrade.LayoutFeature;
 import org.apache.hadoop.ozone.upgrade.UpgradeTestUtils;
 
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
 
-import org.apache.ozone.test.GenericTestUtils;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 /**
  * Test that the ozone manager will not start when it loads a VERSION file
  * indicating a metadata layout version larger than its software layout 
version.
  */
 public class TestOmStartupSlvLessThanMlv {
-  @Rule
-  public TemporaryFolder tempFolder = new TemporaryFolder();
+
+  @TempDir
+  private Path folder;
 
   @Test
   public void testStartupSlvLessThanMlv() throws Exception {
     // Add subdirectories under the temporary folder where the version file
     // will be placed.
-    File omSubdir = tempFolder.newFolder("om", "current");
+    String subDir = folder.toAbsolutePath() + "/om/current";
+    File omSubdir = Files.createDirectories(Paths.get(subDir)).toFile();
 
     OzoneConfiguration conf = new OzoneConfiguration();
     conf.set(OMConfigKeys.OZONE_OM_DB_DIRS,
-        tempFolder.getRoot().getAbsolutePath());
+        folder.toAbsolutePath().toString());
 
-    // Set metadata layout version larger then software layout version.
+    // Set metadata layout version larger than software layout version.
     int largestSlv = 0;
     for (LayoutFeature f: OMLayoutFeature.values()) {
       largestSlv = Math.max(largestSlv, f.layoutVersion());
@@ -67,14 +71,11 @@ public class TestOmStartupSlvLessThanMlv {
         .setScmId(UUID.randomUUID().toString())
         .setOmId(UUID.randomUUID().toString());
 
-    try {
-      clusterBuilder.build();
-      Assert.fail("Expected OMException due to incorrect MLV on OM creation.");
-    } catch (OMException e) {
-      String expectedMessage = String.format("Cannot initialize " +
-              "VersionManager. Metadata layout version (%s) > software layout" 
+
-              " version (%s)", mlv, largestSlv);
-      GenericTestUtils.assertExceptionContains(expectedMessage, e);
-    }
+    OMException omException = assertThrows(OMException.class,
+        clusterBuilder::build);
+    String expectedMessage = String.format("Cannot initialize " +
+        "VersionManager. Metadata layout version (%s) > software layout" +
+        " version (%s)", mlv, largestSlv);
+    assertEquals(expectedMessage, omException.getMessage());
   }
 }
diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManagerListVolumesSecure.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManagerListVolumesSecure.java
index 1763e7a067..977bb0d4e9 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManagerListVolumesSecure.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManagerListVolumesSecure.java
@@ -27,6 +27,8 @@ import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_KERBEROS_KEYTAB_F
 import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_KERBEROS_PRINCIPAL_KEY;
 import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_VOLUME_LISTALL_ALLOWED;
 import static org.apache.hadoop.ozone.security.acl.OzoneObj.StoreType.OZONE;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import com.google.common.base.Strings;
 import java.io.File;
@@ -42,7 +44,6 @@ import java.util.Properties;
 import java.util.Set;
 import java.util.concurrent.Callable;
 
-import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.hadoop.hdds.conf.OzoneConfiguration;
 import 
org.apache.hadoop.hdds.security.x509.certificate.client.CertificateClientTestImpl;
@@ -55,15 +56,11 @@ import 
org.apache.hadoop.ozone.om.protocolPB.OzoneManagerProtocolClientSideTrans
 import org.apache.hadoop.ozone.security.acl.OzoneObj;
 import org.apache.hadoop.ozone.security.acl.OzoneObjInfo;
 import org.apache.hadoop.security.UserGroupInformation;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
-import org.apache.ozone.test.JUnit5AwareTimeout;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.Timeout;
+import org.junit.jupiter.api.io.TempDir;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -71,15 +68,13 @@ import org.slf4j.LoggerFactory;
  * Test OzoneManager list volume operation under combinations of configs
  * in secure mode.
  */
+@Timeout(1200)
 public class TestOzoneManagerListVolumesSecure {
+  private static final Logger LOG =
+      LoggerFactory.getLogger(TestOzoneManagerListVolumesSecure.class);
 
-  private static final Logger LOG = LoggerFactory
-      .getLogger(TestOzoneManagerListVolumesSecure.class);
-
-  @Rule
-  public TestRule timeout = new JUnit5AwareTimeout(Timeout.seconds(1200));
-  @Rule
-  public TemporaryFolder folder = new TemporaryFolder();
+  @TempDir
+  private Path folder;
 
   private String realm;
   private OzoneConfiguration conf;
@@ -105,14 +100,14 @@ public class TestOzoneManagerListVolumesSecure {
   private UserGroupInformation userUGI1;
   private UserGroupInformation userUGI2;
 
-  @Before
+  @BeforeEach
   public void init() throws Exception {
     this.conf = new OzoneConfiguration();
     conf.set(OZONE_SCM_CLIENT_ADDRESS_KEY, "localhost");
     conf.set(OZONE_SECURITY_ENABLED_KEY, "true");
     conf.set("hadoop.security.authentication", "kerberos");
 
-    this.workDir = folder.newFolder();
+    this.workDir = folder.toFile();
 
     startMiniKdc();
     this.realm = miniKdc.getRealm();
@@ -144,8 +139,8 @@ public class TestOzoneManagerListVolumesSecure {
   }
 
   private void createPrincipals() throws Exception {
-    String host = InetAddress.getLocalHost().getCanonicalHostName().
-        toLowerCase();
+    String host = InetAddress.getLocalHost()
+        .getCanonicalHostName().toLowerCase();
     String hostAndRealm = host + "@" + this.realm;
     this.adminPrincipal = adminUser + "/" + hostAndRealm;
     this.adminPrincipalInOtherHost = adminUser + "/otherhost@" + this.realm;
@@ -168,21 +163,12 @@ public class TestOzoneManagerListVolumesSecure {
     miniKdc.createPrincipal(keytab, principal);
   }
 
-  @After
+  @AfterEach
   public void stop() {
-    try {
-      stopMiniKdc();
-
-      if (om != null) {
-        om.stop();
-        om.join();
-      }
-
-      if (workDir != null) {
-        FileUtils.deleteDirectory(workDir);
-      }
-    } catch (Exception e) {
-      LOG.error("Failed to stop TestSecureOzoneCluster", e);
+    stopMiniKdc();
+    if (om != null) {
+      om.stop();
+      om.join();
     }
   }
 
@@ -190,7 +176,7 @@ public class TestOzoneManagerListVolumesSecure {
    * Setup test environment.
    */
   private void setupEnvironment(boolean aclEnabled,
-      boolean volListAllAllowed) throws Exception {
+                                boolean volListAllAllowed) throws Exception {
     Path omPath = Paths.get(workDir.getPath(), "om-meta");
     conf.set(OZONE_METADATA_DIRS, omPath.toString());
 
@@ -249,7 +235,7 @@ public class TestOzoneManagerListVolumesSecure {
     if (!Strings.isNullOrEmpty(aclString)) {
       OzoneObj obj = 
OzoneObjInfo.Builder.newBuilder().setVolumeName(volumeName)
           
.setResType(OzoneObj.ResourceType.VOLUME).setStoreType(OZONE).build();
-      Assert.assertTrue(client.setAcl(obj, OzoneAcl.parseAcls(aclString)));
+      assertTrue(client.setAcl(obj, OzoneAcl.parseAcls(aclString)));
     }
   }
 
@@ -258,7 +244,7 @@ public class TestOzoneManagerListVolumesSecure {
    * under different config combination.
    */
   private void checkUser(String userName, List<String> expectVol,
-      boolean expectListAllSuccess) throws IOException {
+                         boolean expectListAllSuccess) throws IOException {
 
     OzoneManagerProtocolClientSideTranslatorPB client =
         new OzoneManagerProtocolClientSideTranslatorPB(
@@ -275,7 +261,7 @@ public class TestOzoneManagerListVolumesSecure {
         String volumeName = v.getVolume();
         accessibleVolumes.add(volumeName);
       }
-      Assert.assertEquals(new HashSet<>(expectVol), accessibleVolumes);
+      assertEquals(new HashSet<>(expectVol), accessibleVolumes);
     } catch (OMException e) {
       if (!expectListAllSuccess &&
           e.getResult() == OMException.ResultCodes.PERMISSION_DENIED) {
@@ -291,8 +277,8 @@ public class TestOzoneManagerListVolumesSecure {
     //  disallowed).
     try {
       volumeList = client.listAllVolumes("volume", "", 100);
-      Assert.assertEquals(6, volumeList.size());
-      Assert.assertTrue(expectListAllSuccess);
+      assertEquals(6, volumeList.size());
+      assertTrue(expectListAllSuccess);
     } catch (OMException ex) {
       if (!expectListAllSuccess &&
           ex.getResult() == OMException.ResultCodes.PERMISSION_DENIED) {
@@ -305,10 +291,10 @@ public class TestOzoneManagerListVolumesSecure {
   }
 
   private static void doAs(UserGroupInformation ugi,
-      Callable<Boolean> callable) {
+                           Callable<Boolean> callable) {
     // Some thread (eg: HeartbeatEndpointTask) will use the login ugi,
     // so we could not use loginUserFromKeytabAndReturnUGI to switch user.
-    Assert.assertEquals(true, ugi.doAs((PrivilegedAction) () -> {
+    assertEquals(true, ugi.doAs((PrivilegedAction<Boolean>) () -> {
       try {
         return callable.call();
       } catch (Throwable ex) {
diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/ratis/TestOzoneManagerRatisRequest.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/ratis/TestOzoneManagerRatisRequest.java
index d1052a0db5..e5d9605711 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/ratis/TestOzoneManagerRatisRequest.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/ratis/TestOzoneManagerRatisRequest.java
@@ -33,43 +33,39 @@ import 
org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerRatisUtils;
 import org.apache.hadoop.ozone.om.request.OMRequestTestUtils;
 import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos;
 import 
org.apache.hadoop.ozone.protocolPB.OzoneManagerProtocolServerSideTranslatorPB;
-import org.apache.ozone.test.JUnit5AwareTimeout;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.jupiter.api.Assertions;
-import org.junit.rules.TemporaryFolder;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.Timeout;
+import org.junit.jupiter.api.io.TempDir;
 import org.mockito.Mockito;
 
 import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
 import java.util.ArrayList;
 
 import static 
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status.INVALID_REQUEST;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.Mockito.when;
 
 /**
  * Test OM Ratis request handling.
  */
+@Timeout(300)
 public class TestOzoneManagerRatisRequest {
-  @Rule public TemporaryFolder folder = new TemporaryFolder();
-
-  @Rule
-  public TestRule timeout = new JUnit5AwareTimeout(Timeout.seconds(300));
+  @TempDir
+  private Path folder;
 
   private OzoneManager ozoneManager;
-  private OzoneConfiguration ozoneConfiguration = new OzoneConfiguration();
+  private final OzoneConfiguration ozoneConfiguration =
+      new OzoneConfiguration();
   private OMMetadataManager omMetadataManager;
 
   @Test
-  public void testRequestWithNonExistentBucket()
-      throws Exception {
-    // Test: Creating a client request for a bucket which doesn't exist.
+  public void testRequestWithNonExistentBucket() throws Exception {
     ozoneManager = Mockito.mock(OzoneManager.class);
     ozoneConfiguration.set(OMConfigKeys.OZONE_OM_DB_DIRS,
-        folder.newFolder().getAbsolutePath());
+        Files.createTempDirectory(folder, "om").toString());
     omMetadataManager = new OmMetadataManagerImpl(ozoneConfiguration,
         ozoneManager);
     when(ozoneManager.getMetadataManager()).thenReturn(omMetadataManager);
@@ -91,21 +87,16 @@ public class TestOzoneManagerRatisRequest {
         .createCompleteMPURequest(volumeName, bucketName, "mpuKey", "mpuKeyID",
             new ArrayList<>());
 
-    try {
-      // Request creation flow should throw exception if the bucket associated
-      // with the request doesn't exist.
-      OzoneManagerRatisUtils.createClientRequest(omRequest, ozoneManager);
-      fail("Expected OMException: Bucket not found");
-    } catch (OMException oe) {
-      // Expected exception.
-      Assert.assertEquals(OMException.ResultCodes.BUCKET_NOT_FOUND,
-          oe.getResult());
-    }
+    OMException omException = assertThrows(OMException.class,
+        () -> OzoneManagerRatisUtils.createClientRequest(omRequest,
+            ozoneManager));
+    assertEquals(OMException.ResultCodes.BUCKET_NOT_FOUND,
+        omException.getResult());
   }
 
   @Test
-  public void testUnknownRequestHandling() throws IOException,
-      ServiceException {
+  public void testUnknownRequestHandling()
+      throws IOException, ServiceException {
     // Create an instance of OMRequest with an unknown command type.
     OzoneManagerProtocolProtos.OMRequest omRequest =
         OzoneManagerProtocolProtos.OMRequest.newBuilder()
@@ -115,7 +106,7 @@ public class TestOzoneManagerRatisRequest {
 
     ozoneManager = Mockito.mock(OzoneManager.class);
     ozoneConfiguration.set(OMConfigKeys.OZONE_OM_DB_DIRS,
-        folder.newFolder().getAbsolutePath());
+        Files.createTempDirectory(folder, "om").toString());
     omMetadataManager = new OmMetadataManagerImpl(ozoneConfiguration,
         ozoneManager);
     when(ozoneManager.getMetadataManager()).thenReturn(omMetadataManager);
@@ -147,7 +138,7 @@ public class TestOzoneManagerRatisRequest {
       OzoneManagerProtocolProtos.OMResponse actualResponse =
           serverSideTranslatorPB.processRequest(omRequest);
 
-      Assertions.assertEquals(expectedResponse, actualResponse);
+      assertEquals(expectedResponse, actualResponse);
     }
   }
 }
diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/service/TestRangerBGSyncService.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/service/TestRangerBGSyncService.java
index 6f8b0bfb2c..3b70d8af1a 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/service/TestRangerBGSyncService.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/service/TestRangerBGSyncService.java
@@ -16,32 +16,6 @@
  */
 package org.apache.hadoop.ozone.om.service;
 
-import static org.apache.hadoop.hdds.scm.HddsTestUtils.mockRemoteUser;
-import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_RANGER_HTTPS_ADMIN_API_PASSWD;
-import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_RANGER_HTTPS_ADMIN_API_USER;
-import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_RANGER_HTTPS_ADDRESS_KEY;
-import static org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_RANGER_SERVICE;
-import static 
org.apache.hadoop.ozone.om.OMMultiTenantManager.OZONE_TENANT_RANGER_ROLE_DESCRIPTION;
-import static 
org.apache.hadoop.security.authentication.util.KerberosName.DEFAULT_MECHANISM;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.framework;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.UUID;
-import java.util.concurrent.TimeUnit;
-
 import com.google.protobuf.ServiceException;
 import org.apache.hadoop.hdds.HddsConfigKeys;
 import org.apache.hadoop.hdds.conf.OzoneConfiguration;
@@ -68,51 +42,70 @@ import 
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMReque
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.security.authentication.util.KerberosName;
 import org.apache.ozone.test.GenericTestUtils;
-import org.apache.ozone.test.UnhealthyTest;
 import org.apache.ozone.test.tag.Unhealthy;
 import org.apache.ranger.RangerServiceException;
 import org.apache.ratis.protocol.RaftGroupId;
 import org.apache.ratis.protocol.RaftPeerId;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TemporaryFolder;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
-import org.apache.ozone.test.JUnit5AwareTimeout;
+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.Test;
+import org.junit.jupiter.api.Timeout;
+import org.junit.jupiter.api.io.TempDir;
 import org.mockito.Mockito;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-
 import org.slf4j.event.Level;
 
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.UUID;
+import java.util.concurrent.TimeUnit;
+
+import static org.apache.hadoop.hdds.scm.HddsTestUtils.mockRemoteUser;
+import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_RANGER_HTTPS_ADMIN_API_PASSWD;
+import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_RANGER_HTTPS_ADMIN_API_USER;
+import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_RANGER_HTTPS_ADDRESS_KEY;
+import static org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_RANGER_SERVICE;
+import static 
org.apache.hadoop.ozone.om.OMMultiTenantManager.OZONE_TENANT_RANGER_ROLE_DESCRIPTION;
+import static 
org.apache.hadoop.security.authentication.util.KerberosName.DEFAULT_MECHANISM;
+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 static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.framework;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
 /**
  * Tests Ozone Manager Multi-Tenancy feature Background Sync with Apache 
Ranger.
  * Marking it as Ignore because it needs Ranger access point.
  */
-@Category(UnhealthyTest.class) @Unhealthy("Requires a Ranger endpoint")
+@Unhealthy("Requires a Ranger endpoint")
+@Timeout(180)
 public class TestRangerBGSyncService {
   private static final Logger LOG =
       LoggerFactory.getLogger(TestRangerBGSyncService.class);
 
-  /**
-   * Timeout for each test.
-   */
-  @Rule
-  public TestRule timeout = new JUnit5AwareTimeout(Timeout.seconds(180));
-
   private static final long TEST_SYNC_INTERVAL_SEC = 1L;
   private static final long TEST_SYNC_TIMEOUT_SEC = 3L;
 
   private static final int CHECK_SYNC_MILLIS = 1000;
   private static final int WAIT_SYNC_TIMEOUT_MILLIS = 60000;
 
-  private TemporaryFolder folder = new TemporaryFolder();
+  @TempDir
+  private Path folder;
 
   private MultiTenantAccessController accessController;
   private OMRangerBGSyncService bgSync;
@@ -121,7 +114,7 @@ public class TestRangerBGSyncService {
   private final List<String> policiesCreated = new ArrayList<>();
   // List of role names created in Ranger for the test
   private final List<String> rolesCreated = new ArrayList<>();
-  // List of user names created in Ranger for the test
+  // List of usernames created in Ranger for the test
   private final List<String> usersCreated = new ArrayList<>();
 
   private static OzoneConfiguration conf;
@@ -157,7 +150,7 @@ public class TestRangerBGSyncService {
         System.getProperty(OZONE_OM_RANGER_HTTPS_ADMIN_API_PASSWD));
   }
 
-  @BeforeClass
+  @BeforeAll
   public static void init() {
     conf = new OzoneConfiguration();
     simulateOzoneSiteXmlConfig();
@@ -168,11 +161,11 @@ public class TestRangerBGSyncService {
         Level.INFO);
   }
 
-  @AfterClass
+  @AfterAll
   public static void shutdown() {
   }
 
-  @Before
+  @BeforeEach
   public void setUp() throws IOException {
 
     KerberosName.setRuleMechanism(DEFAULT_MECHANISM);
@@ -181,7 +174,7 @@ public class TestRangerBGSyncService {
             "RULE:[1:$1@$0](.*@EXAMPLE.COM)s/@.*//\n" +
             "DEFAULT");
     ugiAlice = UserGroupInformation.createRemoteUser(USER_ALICE);
-    Assert.assertEquals(USER_ALICE_SHORT, ugiAlice.getShortUserName());
+    assertEquals(USER_ALICE_SHORT, ugiAlice.getShortUserName());
 
     ozoneManager = mock(OzoneManager.class);
 
@@ -194,10 +187,8 @@ public class TestRangerBGSyncService {
     conf.set(HddsConfigKeys.OZONE_METADATA_DIRS, metaDirPath.toString());
 
     omMetrics = OMMetrics.create();
-    folder = new TemporaryFolder(new File("/tmp"));
-    folder.create();
     conf.set(OMConfigKeys.OZONE_OM_DB_DIRS,
-        folder.newFolder().getAbsolutePath());
+        Files.createTempDirectory(folder.toAbsolutePath(), "om").toString());
     // No need to conf.set(OzoneConfigKeys.OZONE_ADMINISTRATORS, ...) here
     //  as we did the trick earlier with mockito.
     omMetadataManager = new OmMetadataManagerImpl(conf, ozoneManager);
@@ -265,7 +256,7 @@ public class TestRangerBGSyncService {
     accessController = new RangerClientMultiTenantAccessController(conf);
   }
 
-  @After
+  @AfterEach
   public void tearDown() {
     bgSync.shutdown();
     cleanupPoliciesRolesUsers();
@@ -283,7 +274,7 @@ public class TestRangerBGSyncService {
   private void createRoleHelper(Role role) throws IOException {
     Role roleCreated = accessController.createRole(role);
     // Confirm role creation
-    Assert.assertEquals(role.getName(), roleCreated.getName());
+    assertEquals(role.getName(), roleCreated.getName());
     // Add to created roles list
     rolesCreated.add(0, role.getName());
   }
@@ -337,7 +328,7 @@ public class TestRangerBGSyncService {
                 .setIsDelegatedAdmin(false)
                 .build());
       } catch (IOException e) {
-        Assert.fail(e.getMessage());
+        fail(e.getMessage());
       }
     }
 
@@ -346,7 +337,7 @@ public class TestRangerBGSyncService {
       rangerUserRequest.createUser(USER_ALICE_SHORT, "Password12");
       usersCreated.add(USER_ALICE_SHORT);
     } catch (IOException e) {
-      Assert.fail(e.getMessage());
+      fail(e.getMessage());
     }
 
     try {
@@ -354,7 +345,7 @@ public class TestRangerBGSyncService {
       rangerUserRequest.createUser(USER_BOB_SHORT, "Password12");
       usersCreated.add(USER_BOB_SHORT);
     } catch (IOException e) {
-      Assert.fail(e.getMessage());
+      fail(e.getMessage());
     }
 
     try {
@@ -366,7 +357,7 @@ public class TestRangerBGSyncService {
           .build();
       createRoleHelper(adminRole);
     } catch (IOException e) {
-      Assert.fail(e.getMessage());
+      fail(e.getMessage());
     }
 
     try {
@@ -380,7 +371,7 @@ public class TestRangerBGSyncService {
           .build();
       createRoleHelper(userRole);
     } catch (IOException e) {
-      Assert.fail(e.getMessage());
+      fail(e.getMessage());
     }
 
     try {
@@ -392,7 +383,7 @@ public class TestRangerBGSyncService {
       accessController.createPolicy(tenant1VolumeAccessPolicy);
       policiesCreated.add(tenant1VolumeAccessPolicy.getName());
     } catch (IOException e) {
-      Assert.fail(e.getMessage());
+      fail(e.getMessage());
     }
 
     try {
@@ -404,7 +395,7 @@ public class TestRangerBGSyncService {
       accessController.createPolicy(tenant1BucketCreatePolicy);
       policiesCreated.add(tenant1BucketCreatePolicy.getName());
     } catch (IOException e) {
-      Assert.fail(e.getMessage());
+      fail(e.getMessage());
     }
   }
 
@@ -477,7 +468,7 @@ public class TestRangerBGSyncService {
 
     final long rangerSvcVersionBefore =
         bgSync.getRangerOzoneServicePolicyVersion();
-    Assert.assertTrue(rangerSvcVersionBefore >= startingRangerVersion);
+    assertTrue(rangerSvcVersionBefore >= startingRangerVersion);
 
     // Note: DB Service Version will be -1 if the test starts with an empty DB
     final long dbSvcVersionBefore = bgSync.getOMDBRangerServiceVersion();
@@ -490,9 +481,9 @@ public class TestRangerBGSyncService {
     final long dbSvcVersionAfter = bgSync.getOMDBRangerServiceVersion();
     final long rangerSvcVersionAfter =
         bgSync.getRangerOzoneServicePolicyVersion();
-    Assert.assertEquals(rangerSvcVersionAfter, dbSvcVersionAfter);
-    Assert.assertTrue(dbSvcVersionAfter > dbSvcVersionBefore);
-    Assert.assertTrue(rangerSvcVersionAfter > rangerSvcVersionBefore);
+    assertEquals(rangerSvcVersionAfter, dbSvcVersionAfter);
+    assertTrue(dbSvcVersionAfter > dbSvcVersionBefore);
+    assertTrue(rangerSvcVersionAfter > rangerSvcVersionBefore);
 
     // Verify that the Ranger policies and roles not backed up
     // by OzoneManager Multi-Tenancy tables are cleaned up by sync thread
@@ -500,28 +491,28 @@ public class TestRangerBGSyncService {
     for (String policy : policiesCreated) {
       try {
         final Policy policyRead = accessController.getPolicy(policy);
-        Assert.fail("The policy should have been deleted: " + policyRead);
+        fail("The policy should have been deleted: " + policyRead);
       } catch (IOException ex) {
         if (!(ex.getCause() instanceof RangerServiceException)) {
-          Assert.fail("Expected RangerServiceException, got " +
+          fail("Expected RangerServiceException, got " +
               ex.getCause().getClass().getSimpleName());
         }
         RangerServiceException rse = (RangerServiceException) ex.getCause();
-        Assert.assertEquals(404, rse.getStatus().getStatusCode());
+        assertEquals(404, rse.getStatus().getStatusCode());
       }
     }
 
     for (String roleName : rolesCreated) {
       try {
         final Role role = accessController.getRole(roleName);
-        Assert.fail("This role should have been deleted from Ranger: " + role);
+        fail("This role should have been deleted from Ranger: " + role);
       } catch (IOException ex) {
         if (!(ex.getCause() instanceof RangerServiceException)) {
-          Assert.fail("Expected RangerServiceException, got " +
+          fail("Expected RangerServiceException, got " +
               ex.getCause().getClass().getSimpleName());
         }
         RangerServiceException rse = (RangerServiceException) ex.getCause();
-        Assert.assertEquals(400, rse.getStatus().getStatusCode());
+        assertEquals(400, rse.getStatus().getStatusCode());
       }
     }
   }
@@ -540,7 +531,7 @@ public class TestRangerBGSyncService {
     createRolesAndPoliciesInRanger(true);
 
     long rangerSvcVersionBefore = bgSync.getRangerOzoneServicePolicyVersion();
-    Assert.assertTrue(rangerSvcVersionBefore >= startingRangerVersion);
+    assertTrue(rangerSvcVersionBefore >= startingRangerVersion);
 
     // Note: DB Service Version will be -1 if the test starts with an empty DB
     final long dbSvcVersionBefore = bgSync.getOMDBRangerServiceVersion();
@@ -553,29 +544,29 @@ public class TestRangerBGSyncService {
     final long dbSvcVersionAfter = bgSync.getOMDBRangerServiceVersion();
     final long rangerSvcVersionAfter =
         bgSync.getRangerOzoneServicePolicyVersion();
-    Assert.assertEquals(rangerSvcVersionAfter, dbSvcVersionAfter);
-    Assert.assertEquals(rangerSvcVersionAfter, rangerSvcVersionBefore);
+    assertEquals(rangerSvcVersionAfter, dbSvcVersionAfter);
+    assertEquals(rangerSvcVersionAfter, rangerSvcVersionBefore);
     if (dbSvcVersionBefore != -1L) {
-      Assert.assertEquals(dbSvcVersionBefore, dbSvcVersionAfter);
+      assertEquals(dbSvcVersionBefore, dbSvcVersionAfter);
     }
 
     for (String policyName : policiesCreated) {
       try {
         final Policy policyRead = accessController.getPolicy(policyName);
-        Assert.assertEquals(policyName, policyRead.getName());
+        assertEquals(policyName, policyRead.getName());
       } catch (Exception e) {
         e.printStackTrace();
-        Assert.fail(e.getMessage());
+        fail(e.getMessage());
       }
     }
 
     for (String roleName : rolesCreated) {
       try {
         final Role roleResponse = accessController.getRole(roleName);
-        Assert.assertEquals(roleName, roleResponse.getName());
+        assertEquals(roleName, roleResponse.getName());
       } catch (Exception e) {
         e.printStackTrace();
-        Assert.fail(e.getMessage());
+        fail(e.getMessage());
       }
     }
   }
@@ -593,11 +584,11 @@ public class TestRangerBGSyncService {
 
     long rangerVersionAfterCreation =
         bgSync.getRangerOzoneServicePolicyVersion();
-    Assert.assertTrue(rangerVersionAfterCreation >= startingRangerVersion);
+    assertTrue(rangerVersionAfterCreation >= startingRangerVersion);
 
     // Delete user bob from user role, expect Ranger sync thread to update it
     String userRoleName = rolesCreated.get(0);
-    Assert.assertEquals(
+    assertEquals(
         OMMultiTenantManager.getDefaultUserRoleName(TENANT_ID), userRoleName);
 
     Role userRole = accessController.getRole(userRoleName);
@@ -626,15 +617,14 @@ public class TestRangerBGSyncService {
     final long dbSvcVersionAfter = bgSync.getOMDBRangerServiceVersion();
     final long rangerSvcVersionAfter =
         bgSync.getRangerOzoneServicePolicyVersion();
-    Assert.assertEquals(rangerSvcVersionAfter, dbSvcVersionAfter);
-    Assert.assertTrue(dbSvcVersionAfter > dbSvcVersionBefore);
-    Assert.assertTrue(rangerSvcVersionAfter > rangerSvcVersionBefore);
+    assertEquals(rangerSvcVersionAfter, dbSvcVersionAfter);
+    assertTrue(dbSvcVersionAfter > dbSvcVersionBefore);
+    assertTrue(rangerSvcVersionAfter > rangerSvcVersionBefore);
 
     for (String policyName : policiesCreated) {
       final Policy policy = accessController.getPolicy(policyName);
-      Assert.assertNotNull("Policy should exist in Ranger: " + policyName,
-          policy);
-      Assert.assertEquals(policyName, policy.getName());
+      assertNotNull(policy, "Policy should exist in Ranger: " + policyName);
+      assertEquals(policyName, policy.getName());
     }
 
     for (String roleName : rolesCreated) {
@@ -643,7 +633,7 @@ public class TestRangerBGSyncService {
       }
       final Role roleRead = accessController.getRole(roleName);
       final Set<String> usersGot = roleRead.getUsersMap().keySet();
-      Assert.assertEquals(userSet, usersGot);
+      assertEquals(userSet, usersGot);
       break;
     }
   }
@@ -662,7 +652,7 @@ public class TestRangerBGSyncService {
 
     long rangerVersionAfterCreation =
         bgSync.getRangerOzoneServicePolicyVersion();
-    Assert.assertTrue(rangerVersionAfterCreation >= startingRangerVersion);
+    assertTrue(rangerVersionAfterCreation >= startingRangerVersion);
 
     // Delete both policies, expect Ranger sync thread to recover both
     accessController.deletePolicy(
@@ -683,27 +673,27 @@ public class TestRangerBGSyncService {
     long dbSvcVersionAfter = bgSync.getOMDBRangerServiceVersion();
     final long rangerSvcVersionAfter =
         bgSync.getRangerOzoneServicePolicyVersion();
-    Assert.assertEquals(rangerSvcVersionAfter, dbSvcVersionAfter);
-    Assert.assertTrue(dbSvcVersionAfter > dbSvcVersionBefore);
-    Assert.assertTrue(rangerSvcVersionAfter > rangerSvcVersionBefore);
+    assertEquals(rangerSvcVersionAfter, dbSvcVersionAfter);
+    assertTrue(dbSvcVersionAfter > dbSvcVersionBefore);
+    assertTrue(rangerSvcVersionAfter > rangerSvcVersionBefore);
 
     for (String policyName : policiesCreated) {
       try {
         final Policy policyRead = accessController.getPolicy(policyName);
-        Assert.assertEquals(policyName, policyRead.getName());
+        assertEquals(policyName, policyRead.getName());
       } catch (Exception e) {
         e.printStackTrace();
-        Assert.fail(e.getMessage());
+        fail(e.getMessage());
       }
     }
 
     for (String roleName : rolesCreated) {
       try {
         final Role roleRead = accessController.getRole(roleName);
-        Assert.assertEquals(roleName, roleRead.getName());
+        assertEquals(roleName, roleRead.getName());
       } catch (Exception e) {
         e.printStackTrace();
-        Assert.fail(e.getMessage());
+        fail(e.getMessage());
       }
     }
   }
diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconAsPassiveScm.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconAsPassiveScm.java
index cceae76194..556923ee33 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconAsPassiveScm.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconAsPassiveScm.java
@@ -36,15 +36,10 @@ import org.apache.hadoop.ozone.recon.scm.ReconNodeManager;
 import org.apache.hadoop.ozone.recon.scm.ReconStorageContainerManagerFacade;
 import org.apache.ozone.test.GenericTestUtils;
 import org.apache.ozone.test.LambdaTestUtils;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
-import org.apache.ozone.test.JUnit5AwareTimeout;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.Timeout;
 import org.slf4j.event.Level;
 
 import static 
org.apache.hadoop.hdds.HddsConfigKeys.HDDS_CONTAINER_REPORT_INTERVAL;
@@ -52,30 +47,23 @@ import static 
org.apache.hadoop.hdds.HddsConfigKeys.HDDS_PIPELINE_REPORT_INTERVA
 import static 
org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationFactor.ONE;
 import static org.apache.hadoop.hdds.scm.events.SCMEvents.CLOSE_CONTAINER;
 import static 
org.apache.hadoop.ozone.container.ozoneimpl.TestOzoneContainer.runTestOzoneContainerViaDataNode;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThrows;
-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.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 
 /**
  * Recon's passive SCM integration tests.
  */
+@Timeout(180)
 public class TestReconAsPassiveScm {
-
-  /**
-    * Set a timeout for each test.
-    */
-  @Rule
-  public TestRule timeout = new JUnit5AwareTimeout(Timeout.seconds(300));
-
-  private MiniOzoneCluster cluster = null;
+  private MiniOzoneCluster cluster;
   private OzoneConfiguration conf;
 
-  @Rule
-  public TemporaryFolder temporaryFolder = new TemporaryFolder();
-
-  @Before
+  @BeforeEach
   public void init() throws Exception {
     conf = new OzoneConfiguration();
     conf.set(HDDS_CONTAINER_REPORT_INTERVAL, "5s");
@@ -86,7 +74,7 @@ public class TestReconAsPassiveScm {
     GenericTestUtils.setLogLevel(ReconNodeManager.LOG, Level.DEBUG);
   }
 
-  @After
+  @AfterEach
   public void shutdown() {
     if (cluster != null) {
       cluster.shutdown();
@@ -110,7 +98,7 @@ public class TestReconAsPassiveScm {
       try {
         assertNotNull(reconPipelineManager.getPipeline(p.getId()));
       } catch (PipelineNotFoundException e) {
-        Assert.fail();
+        fail();
       }
     });
 
diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconTasks.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconTasks.java
index 97760c81ad..5ecf0890ac 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconTasks.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconTasks.java
@@ -36,39 +36,27 @@ import org.apache.hadoop.ozone.recon.tasks.ReconTaskConfig;
 import org.apache.ozone.test.LambdaTestUtils;
 import org.hadoop.ozone.recon.schema.ContainerSchemaDefinition;
 import org.hadoop.ozone.recon.schema.tables.pojos.UnhealthyContainers;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.junit.rules.TestRule;
-import org.junit.rules.Timeout;
-import org.apache.ozone.test.JUnit5AwareTimeout;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.Timeout;
 
 import static 
org.apache.hadoop.hdds.HddsConfigKeys.HDDS_CONTAINER_REPORT_INTERVAL;
 import static 
org.apache.hadoop.hdds.HddsConfigKeys.HDDS_PIPELINE_REPORT_INTERVAL;
 import static 
org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationFactor.ONE;
 import static 
org.apache.hadoop.ozone.container.ozoneimpl.TestOzoneContainer.runTestOzoneContainerViaDataNode;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
 
 /**
  * Integration Tests for Recon's tasks.
  */
+@Timeout(300)
 public class TestReconTasks {
-
-  /**
-    * Set a timeout for each test.
-    */
-  @Rule
-  public TestRule timeout = new JUnit5AwareTimeout(Timeout.seconds(300));
-
   private MiniOzoneCluster cluster = null;
   private OzoneConfiguration conf;
 
-  @Rule
-  public TemporaryFolder temporaryFolder = new TemporaryFolder();
-
-  @Before
+  @BeforeEach
   public void init() throws Exception {
     conf = new OzoneConfiguration();
     conf.set(HDDS_CONTAINER_REPORT_INTERVAL, "5s");
@@ -85,7 +73,7 @@ public class TestReconTasks {
     cluster.waitForClusterToBeReady();
   }
 
-  @After
+  @AfterEach
   public void shutdown() {
     if (cluster != null) {
       cluster.shutdown();
@@ -120,11 +108,11 @@ public class TestReconTasks {
     int scmContainersCount = scmContainerManager.getContainers().size();
     int reconContainersCount = reconContainerManager
         .getContainers().size();
-    Assert.assertNotEquals(scmContainersCount, reconContainersCount);
+    assertNotEquals(scmContainersCount, reconContainersCount);
     reconScm.syncWithSCMContainerInfo();
     reconContainersCount = reconContainerManager
         .getContainers().size();
-    Assert.assertEquals(scmContainersCount, reconContainersCount);
+    assertEquals(scmContainersCount, reconContainersCount);
   }
 
   @Test
@@ -153,7 +141,7 @@ public class TestReconTasks {
     runTestOzoneContainerViaDataNode(containerID, client);
 
     // Make sure Recon got the container report with new container.
-    Assert.assertEquals(scmContainerManager.getContainers(),
+    assertEquals(scmContainerManager.getContainers(),
         reconContainerManager.getContainers());
 
     // Bring down the Datanode that had the container replica.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to