Browse Source

YARN-11262. [JDK17] Upgrade JUnit from 4 to 5 in hadoop-yarn-server-resourcemanager Part5. (#7489)

* YARN-11262. Upgrade JUnit from 4 to 5 in hadoop-yarn-server-resourcemanager Part5.

Co-authored-by: Chris Nauroth <cnauroth@apache.org>
Co-authored-by: Hualong Zhang <hualong.z@hotmail.com>
Reviewed-by: Chris Nauroth <cnauroth@apache.org>
Reviewed-by: Hualong Zhang <hualong.z@hotmail.com>
Signed-off-by: Shilun Fan <slfan1989@apache.org>
slfan1989 5 months ago
parent
commit
ae9cd7576d
67 changed files with 1962 additions and 1804 deletions
  1. 47 43
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestAMRMTokens.java
  2. 106 88
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestDelegationTokenRenewer.java
  3. 1 1
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestDelegationTokenRenewerLifecycle.java
  4. 16 14
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestProxyCAManager.java
  5. 9 7
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestRMAuthenticationFilter.java
  6. 20 15
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestRMDelegationTokens.java
  7. 30 21
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/volume/csi/TestVolumeCapabilityRange.java
  8. 31 31
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/volume/csi/TestVolumeLifecycle.java
  9. 80 67
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/volume/csi/TestVolumeMetaData.java
  10. 32 25
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/volume/csi/TestVolumeProcessor.java
  11. 16 17
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/ActivitiesTestUtils.java
  12. 1 1
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestAppPage.java
  13. 108 78
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestApplicationsRequestBuilder.java
  14. 20 21
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestNodesPage.java
  15. 12 12
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebApp.java
  16. 3 3
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebAppFairScheduler.java
  17. 16 20
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServiceAppsNodelabel.java
  18. 104 121
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServices.java
  19. 28 27
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesAppAttempts.java
  20. 4 4
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesAppCustomResourceTypes.java
  21. 231 238
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesApps.java
  22. 7 7
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesAppsCustomResourceTypes.java
  23. 87 68
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesAppsModification.java
  24. 26 21
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySched.java
  25. 13 14
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedDefaultLabel.java
  26. 18 12
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedDynamicConfig.java
  27. 18 12
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedDynamicConfigAbsoluteMode.java
  28. 18 12
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedDynamicConfigWeightMode.java
  29. 18 12
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedDynamicConfigWeightModeDQC.java
  30. 18 12
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedLegacyQueueCreation.java
  31. 20 12
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedLegacyQueueCreationAbsoluteMode.java
  32. 22 18
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerConfigMutation.java
  33. 3 3
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedMode.java
  34. 3 3
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndPercentage.java
  35. 3 3
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndPercentageAndWeight.java
  36. 3 3
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndPercentageAndWeightVector.java
  37. 3 3
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndPercentageVector.java
  38. 3 3
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndWeight.java
  39. 3 3
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndWeightVector.java
  40. 3 3
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedModePercentageAndWeight.java
  41. 3 3
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedModePercentageAndWeightVector.java
  42. 25 25
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesConfigurationMutation.java
  43. 5 5
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesContainers.java
  44. 3 3
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCustomResourceTypesCommons.java
  45. 35 30
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesDelegationTokenAuthentication.java
  46. 30 29
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesDelegationTokens.java
  47. 121 117
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesForCSWithPartitions.java
  48. 7 7
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesHttpStaticUserPermissions.java
  49. 22 22
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodeLabels.java
  50. 73 73
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodes.java
  51. 99 57
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesReservation.java
  52. 30 21
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesSchedulerActivities.java
  53. 26 18
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesSchedulerActivitiesWithMultiNodesEnabled.java
  54. 17 21
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebappAuthentication.java
  55. 1 1
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRedirectionErrorPage.java
  56. 3 3
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestWebServiceUtil.java
  57. 5 4
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/TestFairSchedulerQueueInfo.java
  58. 29 30
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/fairscheduler/FairSchedulerJsonVerifications.java
  59. 19 22
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/fairscheduler/FairSchedulerXmlVerifications.java
  60. 8 6
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/fairscheduler/TestRMWebServicesFairScheduler.java
  61. 7 7
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/fairscheduler/TestRMWebServicesFairSchedulerCustomResourceTypes.java
  62. 52 54
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/helper/AppInfoJsonVerifications.java
  63. 52 58
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/helper/AppInfoXmlVerifications.java
  64. 2 2
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/helper/JsonCustomResourceTypeTestcase.java
  65. 46 59
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/helper/ResourceRequestsJsonVerifications.java
  66. 34 45
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/helper/ResourceRequestsXmlVerifications.java
  67. 4 4
      hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/helper/XmlCustomResourceTypeTestCase.java

+ 47 - 43
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestAMRMTokens.java

@@ -18,6 +18,12 @@
 
 
 package org.apache.hadoop.yarn.server.resourcemanager.security;
 package org.apache.hadoop.yarn.server.resourcemanager.security;
 
 
+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 static org.junit.jupiter.api.Assertions.fail;
 import static org.mockito.Mockito.isA;
 import static org.mockito.Mockito.isA;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.reset;
@@ -31,6 +37,8 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collection;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.concurrent.atomic.AtomicReference;
 
 
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.conf.Configuration;
@@ -69,24 +77,18 @@ import org.apache.hadoop.yarn.server.security.MasterKeyData;
 import org.apache.hadoop.yarn.server.utils.BuilderUtils;
 import org.apache.hadoop.yarn.server.utils.BuilderUtils;
 import org.apache.hadoop.yarn.util.ConverterUtils;
 import org.apache.hadoop.yarn.util.ConverterUtils;
 import org.apache.hadoop.yarn.util.Records;
 import org.apache.hadoop.yarn.util.Records;
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.Timeout;
 
 
-@RunWith(Parameterized.class)
 public class TestAMRMTokens {
 public class TestAMRMTokens {
 
 
   private static final Logger LOG =
   private static final Logger LOG =
       LoggerFactory.getLogger(TestAMRMTokens.class);
       LoggerFactory.getLogger(TestAMRMTokens.class);
 
 
-  private final Configuration conf;
+  private Configuration conf;
   private static final int maxWaitAttempts = 50;
   private static final int maxWaitAttempts = 50;
   private static final int rolling_interval_sec = 13;
   private static final int rolling_interval_sec = 13;
   private static final long am_expire_ms = 4000;
   private static final long am_expire_ms = 4000;
 
 
-  @Parameters
   public static Collection<Object[]> configs() {
   public static Collection<Object[]> configs() {
     Configuration conf = new Configuration();
     Configuration conf = new Configuration();
     Configuration confWithSecurity = new Configuration();
     Configuration confWithSecurity = new Configuration();
@@ -95,8 +97,8 @@ public class TestAMRMTokens {
     return Arrays.asList(new Object[][] {{ conf }, { confWithSecurity } });
     return Arrays.asList(new Object[][] {{ conf }, { confWithSecurity } });
   }
   }
 
 
-  public TestAMRMTokens(Configuration conf) {
-    this.conf = conf;
+  public void initTestAMRMTokens(Configuration pConf) {
+    this.conf = pConf;
     UserGroupInformation.setConfiguration(conf);
     UserGroupInformation.setConfiguration(conf);
   }
   }
 
 
@@ -107,8 +109,10 @@ public class TestAMRMTokens {
    * @throws Exception
    * @throws Exception
    */
    */
   @SuppressWarnings("unchecked")
   @SuppressWarnings("unchecked")
-  @Test
-  public void testTokenExpiry() throws Exception {
+  @ParameterizedTest
+  @MethodSource("configs")
+  public void testTokenExpiry(Configuration pConf) throws Exception {
+    initTestAMRMTokens(pConf);
     conf.setLong(
     conf.setLong(
         YarnConfiguration.RM_AMRM_TOKEN_MASTER_KEY_ROLLING_INTERVAL_SECS,
         YarnConfiguration.RM_AMRM_TOKEN_MASTER_KEY_ROLLING_INTERVAL_SECS,
         YarnConfiguration.
         YarnConfiguration.
@@ -139,7 +143,7 @@ public class TestAMRMTokens {
         LOG.info("Waiting for AM Launch to happen..");
         LOG.info("Waiting for AM Launch to happen..");
         Thread.sleep(1000);
         Thread.sleep(1000);
       }
       }
-      Assert.assertNotNull(containerManager.containerTokens);
+      assertNotNull(containerManager.containerTokens);
 
 
       RMAppAttempt attempt = app.getCurrentAppAttempt();
       RMAppAttempt attempt = app.getCurrentAppAttempt();
       ApplicationAttemptId applicationAttemptId = attempt.getAppAttemptId();
       ApplicationAttemptId applicationAttemptId = attempt.getAppAttemptId();
@@ -192,7 +196,7 @@ public class TestAMRMTokens {
         Thread.sleep(100);
         Thread.sleep(100);
         count++;
         count++;
       }
       }
-      Assert.assertTrue(attempt.getState() == RMAppAttemptState.FINISHED);
+      assertTrue(attempt.getState() == RMAppAttemptState.FINISHED);
 
 
       // Now simulate trying to allocate. RPC call itself should throw auth
       // Now simulate trying to allocate. RPC call itself should throw auth
       // exception.
       // exception.
@@ -202,13 +206,13 @@ public class TestAMRMTokens {
           Records.newRecord(AllocateRequest.class);
           Records.newRecord(AllocateRequest.class);
       try {
       try {
         rmClient.allocate(allocateRequest);
         rmClient.allocate(allocateRequest);
-        Assert.fail("You got to be kidding me! "
+        fail("You got to be kidding me! "
             + "Using App tokens after app-finish should fail!");
             + "Using App tokens after app-finish should fail!");
       } catch (Throwable t) {
       } catch (Throwable t) {
         LOG.info("Exception found is ", t);
         LOG.info("Exception found is ", t);
         // The exception will still have the earlier appAttemptId as it picks it
         // The exception will still have the earlier appAttemptId as it picks it
         // up from the token.
         // up from the token.
-        Assert.assertTrue(t.getCause().getMessage().contains(
+        assertTrue(t.getCause().getMessage().contains(
           applicationAttemptId.toString()
           applicationAttemptId.toString()
           + " not found in AMRMTokenSecretManager."));
           + " not found in AMRMTokenSecretManager."));
       }
       }
@@ -227,9 +231,10 @@ public class TestAMRMTokens {
    * 
    * 
    * @throws Exception
    * @throws Exception
    */
    */
-  @Test
-  public void testMasterKeyRollOver() throws Exception {
-
+  @ParameterizedTest
+  @MethodSource("configs")
+  public void testMasterKeyRollOver(Configuration pConf) throws Exception {
+    initTestAMRMTokens(pConf);
     conf.setLong(
     conf.setLong(
       YarnConfiguration.RM_AMRM_TOKEN_MASTER_KEY_ROLLING_INTERVAL_SECS,
       YarnConfiguration.RM_AMRM_TOKEN_MASTER_KEY_ROLLING_INTERVAL_SECS,
       rolling_interval_sec);
       rolling_interval_sec);
@@ -247,7 +252,7 @@ public class TestAMRMTokens {
     AMRMTokenSecretManager appTokenSecretManager =
     AMRMTokenSecretManager appTokenSecretManager =
         rm.getRMContext().getAMRMTokenSecretManager();
         rm.getRMContext().getAMRMTokenSecretManager();
     MasterKeyData oldKey = appTokenSecretManager.getMasterKey();
     MasterKeyData oldKey = appTokenSecretManager.getMasterKey();
-    Assert.assertNotNull(oldKey);
+    assertNotNull(oldKey);
     try {
     try {
       MockNM nm1 = rm.registerNode("localhost:1234", 5120);
       MockNM nm1 = rm.registerNode("localhost:1234", 5120);
 
 
@@ -260,7 +265,7 @@ public class TestAMRMTokens {
         LOG.info("Waiting for AM Launch to happen..");
         LOG.info("Waiting for AM Launch to happen..");
         Thread.sleep(1000);
         Thread.sleep(1000);
       }
       }
-      Assert.assertNotNull(containerManager.containerTokens);
+      assertNotNull(containerManager.containerTokens);
 
 
       RMAppAttempt attempt = app.getCurrentAppAttempt();
       RMAppAttempt attempt = app.getCurrentAppAttempt();
       ApplicationAttemptId applicationAttemptId = attempt.getAppAttemptId();
       ApplicationAttemptId applicationAttemptId = attempt.getAppAttemptId();
@@ -285,7 +290,7 @@ public class TestAMRMTokens {
       // One allocate call.
       // One allocate call.
       AllocateRequest allocateRequest =
       AllocateRequest allocateRequest =
           Records.newRecord(AllocateRequest.class);
           Records.newRecord(AllocateRequest.class);
-      Assert.assertTrue(
+      assertTrue(
           rmClient.allocate(allocateRequest).getAMCommand() == null);
           rmClient.allocate(allocateRequest).getAMCommand() == null);
 
 
       // Wait for enough time and make sure the roll_over happens
       // Wait for enough time and make sure the roll_over happens
@@ -296,15 +301,13 @@ public class TestAMRMTokens {
       }
       }
 
 
       MasterKeyData newKey = appTokenSecretManager.getMasterKey();
       MasterKeyData newKey = appTokenSecretManager.getMasterKey();
-      Assert.assertNotNull(newKey);
-      Assert.assertFalse("Master key should have changed!",
-        oldKey.equals(newKey));
+      assertNotNull(newKey);
+      assertFalse(oldKey.equals(newKey), "Master key should have changed!");
 
 
       // Another allocate call with old AMRMToken. Should continue to work.
       // Another allocate call with old AMRMToken. Should continue to work.
       rpc.stopProxy(rmClient, conf); // To avoid using cached client
       rpc.stopProxy(rmClient, conf); // To avoid using cached client
       rmClient = createRMClient(rm, conf, rpc, currentUser);
       rmClient = createRMClient(rm, conf, rpc, currentUser);
-      Assert
-        .assertTrue(rmClient.allocate(allocateRequest).getAMCommand() == null);
+      assertTrue(rmClient.allocate(allocateRequest).getAMCommand() == null);
 
 
       waitCount = 0;
       waitCount = 0;
       while(waitCount++ <= maxWaitAttempts) {
       while(waitCount++ <= maxWaitAttempts) {
@@ -319,9 +322,9 @@ public class TestAMRMTokens {
         Thread.sleep(200);
         Thread.sleep(200);
       }
       }
       // active the nextMasterKey, and replace the currentMasterKey
       // active the nextMasterKey, and replace the currentMasterKey
-      Assert.assertTrue(appTokenSecretManager.getCurrnetMasterKeyData().equals(newKey));
-      Assert.assertTrue(appTokenSecretManager.getMasterKey().equals(newKey));
-      Assert.assertTrue(appTokenSecretManager.getNextMasterKeyData() == null);
+      assertTrue(appTokenSecretManager.getCurrnetMasterKeyData().equals(newKey));
+      assertTrue(appTokenSecretManager.getMasterKey().equals(newKey));
+      assertTrue(appTokenSecretManager.getNextMasterKeyData() == null);
 
 
       // Create a new Token
       // Create a new Token
       Token<AMRMTokenIdentifier> newToken =
       Token<AMRMTokenIdentifier> newToken =
@@ -332,8 +335,7 @@ public class TestAMRMTokens {
       rpc.stopProxy(rmClient, conf); // To avoid using cached client
       rpc.stopProxy(rmClient, conf); // To avoid using cached client
       rmClient = createRMClient(rm, conf, rpc, currentUser);
       rmClient = createRMClient(rm, conf, rpc, currentUser);
       allocateRequest = Records.newRecord(AllocateRequest.class);
       allocateRequest = Records.newRecord(AllocateRequest.class);
-      Assert
-        .assertTrue(rmClient.allocate(allocateRequest).getAMCommand() == null);
+      assertTrue(rmClient.allocate(allocateRequest).getAMCommand() == null);
 
 
       // Should not work by using the old AMRMToken.
       // Should not work by using the old AMRMToken.
       rpc.stopProxy(rmClient, conf); // To avoid using cached client
       rpc.stopProxy(rmClient, conf); // To avoid using cached client
@@ -341,9 +343,8 @@ public class TestAMRMTokens {
         currentUser.addToken(amRMToken);
         currentUser.addToken(amRMToken);
         rmClient = createRMClient(rm, conf, rpc, currentUser);
         rmClient = createRMClient(rm, conf, rpc, currentUser);
         allocateRequest = Records.newRecord(AllocateRequest.class);
         allocateRequest = Records.newRecord(AllocateRequest.class);
-        Assert
-          .assertTrue(rmClient.allocate(allocateRequest).getAMCommand() == null);
-        Assert.fail("The old Token should not work");
+        assertTrue(rmClient.allocate(allocateRequest).getAMCommand() == null);
+        fail("The old Token should not work");
       } catch (Exception ex) {
       } catch (Exception ex) {
         // expect exception
         // expect exception
       }
       }
@@ -355,8 +356,11 @@ public class TestAMRMTokens {
     }
     }
   }
   }
 
 
-  @Test (timeout = 20000)
-  public void testAMRMMasterKeysUpdate() throws Exception {
+  @ParameterizedTest
+  @MethodSource("configs")
+  @Timeout(value = 20)
+  public void testAMRMMasterKeysUpdate(Configuration pConf) throws Exception {
+    initTestAMRMTokens(pConf);
     final AtomicReference<AMRMTokenSecretManager> spySecretMgrRef =
     final AtomicReference<AMRMTokenSecretManager> spySecretMgrRef =
         new AtomicReference<AMRMTokenSecretManager>();
         new AtomicReference<AMRMTokenSecretManager>();
     MockRM rm = new MockRM(conf) {
     MockRM rm = new MockRM(conf) {
@@ -387,7 +391,7 @@ public class TestAMRMTokens {
     // Do allocate. Should not update AMRMToken
     // Do allocate. Should not update AMRMToken
     AllocateResponse response =
     AllocateResponse response =
         am.allocate(Records.newRecord(AllocateRequest.class));
         am.allocate(Records.newRecord(AllocateRequest.class));
-    Assert.assertNull(response.getAMRMToken());
+    assertNull(response.getAMRMToken());
     Token<AMRMTokenIdentifier> oldToken = rm.getRMContext().getRMApps()
     Token<AMRMTokenIdentifier> oldToken = rm.getRMContext().getRMApps()
         .get(app.getApplicationId())
         .get(app.getApplicationId())
         .getRMAppAttempt(am.getApplicationAttemptId()).getAMRMToken();
         .getRMAppAttempt(am.getApplicationAttemptId()).getAMRMToken();
@@ -396,13 +400,13 @@ public class TestAMRMTokens {
     // Do allocate again. the AM should get the latest AMRMToken
     // Do allocate again. the AM should get the latest AMRMToken
     rm.getRMContext().getAMRMTokenSecretManager().rollMasterKey();
     rm.getRMContext().getAMRMTokenSecretManager().rollMasterKey();
     response = am.allocate(Records.newRecord(AllocateRequest.class));
     response = am.allocate(Records.newRecord(AllocateRequest.class));
-    Assert.assertNotNull(response.getAMRMToken());
+    assertNotNull(response.getAMRMToken());
 
 
     Token<AMRMTokenIdentifier> amrmToken =
     Token<AMRMTokenIdentifier> amrmToken =
         ConverterUtils.convertFromYarn(response.getAMRMToken(), new Text(
         ConverterUtils.convertFromYarn(response.getAMRMToken(), new Text(
           response.getAMRMToken().getService()));
           response.getAMRMToken().getService()));
 
 
-    Assert.assertEquals(amrmToken.decodeIdentifier().getKeyId(), rm
+    assertEquals(amrmToken.decodeIdentifier().getKeyId(), rm
       .getRMContext().getAMRMTokenSecretManager().getMasterKey().getMasterKey()
       .getRMContext().getAMRMTokenSecretManager().getMasterKey().getMasterKey()
       .getKeyId());
       .getKeyId());
 
 
@@ -413,19 +417,19 @@ public class TestAMRMTokens {
         am.getApplicationAttemptId().toString(), new String[0]);
         am.getApplicationAttemptId().toString(), new String[0]);
     ugi.addTokenIdentifier(oldToken.decodeIdentifier());
     ugi.addTokenIdentifier(oldToken.decodeIdentifier());
     response = am.doAllocateAs(ugi, Records.newRecord(AllocateRequest.class));
     response = am.doAllocateAs(ugi, Records.newRecord(AllocateRequest.class));
-    Assert.assertNotNull(response.getAMRMToken());
+    assertNotNull(response.getAMRMToken());
     verify(spySecretMgr, never()).createAndGetAMRMToken(isA(ApplicationAttemptId.class));
     verify(spySecretMgr, never()).createAndGetAMRMToken(isA(ApplicationAttemptId.class));
 
 
     // Do allocate again with the updated token and verify we do not
     // Do allocate again with the updated token and verify we do not
     // receive a new token to use.
     // receive a new token to use.
     response = am.allocate(Records.newRecord(AllocateRequest.class));
     response = am.allocate(Records.newRecord(AllocateRequest.class));
-    Assert.assertNull(response.getAMRMToken());
+    assertNull(response.getAMRMToken());
 
 
     // Activate the next master key. Since there is new master key generated
     // Activate the next master key. Since there is new master key generated
     // in AMRMTokenSecretManager. The AMRMToken will not get updated for AM
     // in AMRMTokenSecretManager. The AMRMToken will not get updated for AM
     rm.getRMContext().getAMRMTokenSecretManager().activateNextMasterKey();
     rm.getRMContext().getAMRMTokenSecretManager().activateNextMasterKey();
     response = am.allocate(Records.newRecord(AllocateRequest.class));
     response = am.allocate(Records.newRecord(AllocateRequest.class));
-    Assert.assertNull(response.getAMRMToken());
+    assertNull(response.getAMRMToken());
     rm.stop();
     rm.stop();
   }
   }
 
 

+ 106 - 88
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestDelegationTokenRenewer.java

@@ -18,16 +18,19 @@
 
 
 package org.apache.hadoop.yarn.server.resourcemanager.security;
 package org.apache.hadoop.yarn.server.resourcemanager.security;
 
 
-
-import static org.junit.Assert.assertEquals;
-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.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 static org.junit.jupiter.api.Assertions.fail;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
 import java.io.IOException;
 import java.io.IOException;
@@ -105,12 +108,11 @@ import org.apache.hadoop.yarn.server.resourcemanager.security.DelegationTokenRen
 import org.apache.hadoop.yarn.server.utils.BuilderUtils;
 import org.apache.hadoop.yarn.server.utils.BuilderUtils;
 import org.apache.hadoop.yarn.server.utils.YarnServerBuilderUtils;
 import org.apache.hadoop.yarn.server.utils.YarnServerBuilderUtils;
 import org.apache.hadoop.yarn.util.Records;
 import org.apache.hadoop.yarn.util.Records;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.mockito.Mockito;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.Timeout;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 import org.mockito.stubbing.Answer;
 
 
@@ -201,7 +203,7 @@ public class TestDelegationTokenRenewer {
   private MockRM rm2;
   private MockRM rm2;
   private DelegationTokenRenewer localDtr;
   private DelegationTokenRenewer localDtr;
  
  
-  @BeforeClass
+  @BeforeAll
   public static void setUpClass() throws Exception {
   public static void setUpClass() throws Exception {
     conf = new Configuration();
     conf = new Configuration();
     
     
@@ -215,7 +217,7 @@ public class TestDelegationTokenRenewer {
   }
   }
   
   
 
 
-  @Before
+  @BeforeEach
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     counter = new AtomicInteger(0);
     counter = new AtomicInteger(0);
     conf.set(CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION,
     conf.set(CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION,
@@ -246,7 +248,7 @@ public class TestDelegationTokenRenewer {
     delegationTokenRenewer.start();
     delegationTokenRenewer.start();
   }
   }
   
   
-  @After
+  @AfterEach
   public void tearDown() throws Exception {
   public void tearDown() throws Exception {
     try {
     try {
       dispatcher.close();
       dispatcher.close();
@@ -438,7 +440,8 @@ public class TestDelegationTokenRenewer {
    * @throws IOException
    * @throws IOException
    * @throws URISyntaxException
    * @throws URISyntaxException
    */
    */
-  @Test(timeout=60000)
+  @Test
+  @Timeout(value = 60)
   public void testDTRenewal () throws Exception {
   public void testDTRenewal () throws Exception {
     MyFS dfs = (MyFS)FileSystem.get(conf);
     MyFS dfs = (MyFS)FileSystem.get(conf);
     LOG.info("dfs="+(Object)dfs.hashCode() + ";conf="+conf.hashCode());
     LOG.info("dfs="+(Object)dfs.hashCode() + ";conf="+conf.hashCode());
@@ -489,10 +492,10 @@ public class TestDelegationTokenRenewer {
     
     
     LOG.info("dfs=" + dfs.hashCode() + 
     LOG.info("dfs=" + dfs.hashCode() + 
         ";Counter = " + Renewer.counter + ";t="+  Renewer.lastRenewed);
         ";Counter = " + Renewer.counter + ";t="+  Renewer.lastRenewed);
-    assertEquals("renew wasn't called as many times as expected(4):",
-        numberOfExpectedRenewals, Renewer.counter);
-    assertEquals("most recently renewed token mismatch", Renewer.lastRenewed, 
-        token1);
+    assertEquals(numberOfExpectedRenewals, Renewer.counter,
+        "renew wasn't called as many times as expected(4):");
+    assertEquals(Renewer.lastRenewed,
+        token1, "most recently renewed token mismatch");
     
     
     // Test 2. 
     // Test 2. 
     // add another token ( that expires in 2 secs). Then remove it, before
     // add another token ( that expires in 2 secs). Then remove it, before
@@ -522,8 +525,8 @@ public class TestDelegationTokenRenewer {
     LOG.info("Counter = " + Renewer.counter + ";t="+ Renewer.lastRenewed);
     LOG.info("Counter = " + Renewer.counter + ";t="+ Renewer.lastRenewed);
     
     
     // counter and the token should stil be the old ones
     // counter and the token should stil be the old ones
-    assertEquals("renew wasn't called as many times as expected",
-        numberOfExpectedRenewals, Renewer.counter);
+    assertEquals(numberOfExpectedRenewals, Renewer.counter,
+        "renew wasn't called as many times as expected");
     
     
     // also renewing of the cancelled token should fail
     // also renewing of the cancelled token should fail
     try {
     try {
@@ -534,7 +537,8 @@ public class TestDelegationTokenRenewer {
     }
     }
   }
   }
   
   
-  @Test(timeout=60000)
+  @Test
+  @Timeout(value = 60)
   public void testAppRejectionWithCancelledDelegationToken() throws Exception {
   public void testAppRejectionWithCancelledDelegationToken() throws Exception {
     MyFS dfs = (MyFS)FileSystem.get(conf);
     MyFS dfs = (MyFS)FileSystem.get(conf);
     LOG.info("dfs="+(Object)dfs.hashCode() + ";conf="+conf.hashCode());
     LOG.info("dfs="+(Object)dfs.hashCode() + ";conf="+conf.hashCode());
@@ -554,7 +558,7 @@ public class TestDelegationTokenRenewer {
       if (!eventQueue.isEmpty()) {
       if (!eventQueue.isEmpty()) {
         Event evt = eventQueue.take();
         Event evt = eventQueue.take();
         if (evt.getType() == RMAppEventType.APP_REJECTED) {
         if (evt.getType() == RMAppEventType.APP_REJECTED) {
-          Assert.assertTrue(
+          assertTrue(
               ((RMAppEvent) evt).getApplicationId().equals(appId));
               ((RMAppEvent) evt).getApplicationId().equals(appId));
           return;
           return;
         }
         }
@@ -567,7 +571,8 @@ public class TestDelegationTokenRenewer {
 
 
   // Testcase for YARN-3021, let RM skip renewing token if the renewer string
   // Testcase for YARN-3021, let RM skip renewing token if the renewer string
   // is empty
   // is empty
-  @Test(timeout=60000)
+  @Test
+  @Timeout(value = 60)
   public void testAppTokenWithNonRenewer() throws Exception {
   public void testAppTokenWithNonRenewer() throws Exception {
     MyFS dfs = (MyFS)FileSystem.get(conf);
     MyFS dfs = (MyFS)FileSystem.get(conf);
     LOG.info("dfs="+(Object)dfs.hashCode() + ";conf="+conf.hashCode());
     LOG.info("dfs="+(Object)dfs.hashCode() + ";conf="+conf.hashCode());
@@ -594,7 +599,8 @@ public class TestDelegationTokenRenewer {
    * @throws IOException
    * @throws IOException
    * @throws URISyntaxException
    * @throws URISyntaxException
    */
    */
-  @Test(timeout=60000)
+  @Test
+  @Timeout(value = 60)
   public void testDTRenewalWithNoCancel () throws Exception {
   public void testDTRenewalWithNoCancel () throws Exception {
     MyFS dfs = (MyFS)FileSystem.get(conf);
     MyFS dfs = (MyFS)FileSystem.get(conf);
     LOG.info("dfs="+(Object)dfs.hashCode() + ";conf="+conf.hashCode());
     LOG.info("dfs="+(Object)dfs.hashCode() + ";conf="+conf.hashCode());
@@ -623,8 +629,8 @@ public class TestDelegationTokenRenewer {
     LOG.info("Counter = " + Renewer.counter + ";t="+ Renewer.lastRenewed);
     LOG.info("Counter = " + Renewer.counter + ";t="+ Renewer.lastRenewed);
     
     
     // counter and the token should still be the old ones
     // counter and the token should still be the old ones
-    assertEquals("renew wasn't called as many times as expected",
-        numberOfExpectedRenewals, Renewer.counter);
+    assertEquals(numberOfExpectedRenewals, Renewer.counter,
+        "renew wasn't called as many times as expected");
     
     
     // also renewing of the canceled token should not fail, because it has not
     // also renewing of the canceled token should not fail, because it has not
     // been canceled
     // been canceled
@@ -641,7 +647,8 @@ public class TestDelegationTokenRenewer {
    * @throws IOException
    * @throws IOException
    * @throws URISyntaxException
    * @throws URISyntaxException
    */
    */
-  @Test(timeout=60000)
+  @Test
+  @Timeout(value = 60)
   public void testDTRenewalWithNoCancelAlwaysCancel() throws Exception {
   public void testDTRenewalWithNoCancelAlwaysCancel() throws Exception {
     Configuration lconf = new Configuration(conf);
     Configuration lconf = new Configuration(conf);
     lconf.setBoolean(YarnConfiguration.RM_DELEGATION_TOKEN_ALWAYS_CANCEL,
     lconf.setBoolean(YarnConfiguration.RM_DELEGATION_TOKEN_ALWAYS_CANCEL,
@@ -691,8 +698,8 @@ public class TestDelegationTokenRenewer {
     LOG.info("Counter = " + Renewer.counter + ";t="+ Renewer.lastRenewed);
     LOG.info("Counter = " + Renewer.counter + ";t="+ Renewer.lastRenewed);
 
 
     // counter and the token should still be the old ones
     // counter and the token should still be the old ones
-    assertEquals("renew wasn't called as many times as expected",
-        numberOfExpectedRenewals, Renewer.counter);
+    assertEquals(numberOfExpectedRenewals, Renewer.counter,
+        "renew wasn't called as many times as expected");
 
 
     // The token should have been cancelled at this point. Renewal will fail.
     // The token should have been cancelled at this point. Renewal will fail.
     try {
     try {
@@ -712,7 +719,8 @@ public class TestDelegationTokenRenewer {
    * @throws IOException
    * @throws IOException
    * @throws URISyntaxException
    * @throws URISyntaxException
    */
    */
-  @Test(timeout=60000)
+  @Test
+  @Timeout(value = 60)
   public void testDTKeepAlive1 () throws Exception {
   public void testDTKeepAlive1 () throws Exception {
     Configuration lconf = new Configuration(conf);
     Configuration lconf = new Configuration(conf);
     lconf.setBoolean(YarnConfiguration.LOG_AGGREGATION_ENABLED, true);
     lconf.setBoolean(YarnConfiguration.LOG_AGGREGATION_ENABLED, true);
@@ -757,7 +765,7 @@ public class TestDelegationTokenRenewer {
     if (!eventQueue.isEmpty()){
     if (!eventQueue.isEmpty()){
       Event evt = eventQueue.take();
       Event evt = eventQueue.take();
       if (evt instanceof RMAppEvent) {
       if (evt instanceof RMAppEvent) {
-        Assert.assertEquals(((RMAppEvent)evt).getType(), RMAppEventType.START);
+        assertEquals(((RMAppEvent)evt).getType(), RMAppEventType.START);
       } else {
       } else {
         fail("RMAppEvent.START was expected!!");
         fail("RMAppEvent.START was expected!!");
       }
       }
@@ -792,7 +800,8 @@ public class TestDelegationTokenRenewer {
    * @throws IOException
    * @throws IOException
    * @throws URISyntaxException
    * @throws URISyntaxException
    */
    */
-  @Test(timeout=60000)
+  @Test
+  @Timeout(value = 60)
   public void testDTKeepAlive2() throws Exception {
   public void testDTKeepAlive2() throws Exception {
     Configuration lconf = new Configuration(conf);
     Configuration lconf = new Configuration(conf);
     lconf.setBoolean(YarnConfiguration.LOG_AGGREGATION_ENABLED, true);
     lconf.setBoolean(YarnConfiguration.LOG_AGGREGATION_ENABLED, true);
@@ -892,7 +901,8 @@ public class TestDelegationTokenRenewer {
     }
     }
   }
   }
 
 
-  @Test(timeout=20000)
+  @Test
+  @Timeout(value = 20)
   public void testDTRonAppSubmission()
   public void testDTRonAppSubmission()
       throws IOException, InterruptedException, BrokenBarrierException {
       throws IOException, InterruptedException, BrokenBarrierException {
     final Credentials credsx = new Credentials();
     final Credentials credsx = new Credentials();
@@ -927,13 +937,14 @@ public class TestDelegationTokenRenewer {
           credsx, false, "user");
           credsx, false, "user");
       fail("Catch IOException on app submission");
       fail("Catch IOException on app submission");
     } catch (IOException e){
     } catch (IOException e){
-      Assert.assertTrue(e.getMessage().contains(tokenx.toString()));
-      Assert.assertTrue(e.getCause().toString().contains("boom"));
+      assertTrue(e.getMessage().contains(tokenx.toString()));
+      assertTrue(e.getCause().toString().contains("boom"));
     }
     }
 
 
   }
   }
 
 
-  @Test(timeout=20000)                                                         
+  @Test
+  @Timeout(value = 20)
   public void testConcurrentAddApplication()                                  
   public void testConcurrentAddApplication()                                  
       throws IOException, InterruptedException, BrokenBarrierException {       
       throws IOException, InterruptedException, BrokenBarrierException {       
     final CyclicBarrier startBarrier = new CyclicBarrier(2);                   
     final CyclicBarrier startBarrier = new CyclicBarrier(2);                   
@@ -1001,7 +1012,8 @@ public class TestDelegationTokenRenewer {
     submitThread.join(); 
     submitThread.join(); 
   }
   }
   
   
-  @Test(timeout=20000)
+  @Test
+  @Timeout(value = 20)
   public void testAppSubmissionWithInvalidDelegationToken() throws Exception {
   public void testAppSubmissionWithInvalidDelegationToken() throws Exception {
     Configuration conf = new Configuration();
     Configuration conf = new Configuration();
     conf.set(
     conf.set(
@@ -1031,13 +1043,14 @@ public class TestDelegationTokenRenewer {
       rm.getClientRMService().submitApplication(request);
       rm.getClientRMService().submitApplication(request);
       fail("Error was excepted.");
       fail("Error was excepted.");
     } catch (YarnException e) {
     } catch (YarnException e) {
-      Assert.assertTrue(e.getMessage().contains(
+      assertTrue(e.getMessage().contains(
           "Bad header found in token storage"));
           "Bad header found in token storage"));
     }
     }
   }
   }
 
 
 
 
-  @Test(timeout = 30000)
+  @Test
+  @Timeout(value = 30)
   public void testReplaceExpiringDelegationToken() throws Exception {
   public void testReplaceExpiringDelegationToken() throws Exception {
     conf.setBoolean(YarnConfiguration.RM_PROXY_USER_PRIVILEGES_ENABLED, true);
     conf.setBoolean(YarnConfiguration.RM_PROXY_USER_PRIVILEGES_ENABLED, true);
     conf.set(CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION,
     conf.set(CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION,
@@ -1131,13 +1144,13 @@ public class TestDelegationTokenRenewer {
         YarnServerBuilderUtils
         YarnServerBuilderUtils
             .convertFromProtoFormat(proto.getSystemCredentialsForApps())
             .convertFromProtoFormat(proto.getSystemCredentialsForApps())
             .get(app.getApplicationId());
             .get(app.getApplicationId());
-    Assert.assertNotNull(tokenBuffer);
+    assertNotNull(tokenBuffer);
     Credentials appCredentials = new Credentials();
     Credentials appCredentials = new Credentials();
     DataInputByteBuffer buf = new DataInputByteBuffer();
     DataInputByteBuffer buf = new DataInputByteBuffer();
     tokenBuffer.rewind();
     tokenBuffer.rewind();
     buf.reset(tokenBuffer);
     buf.reset(tokenBuffer);
     appCredentials.readTokenStorageStream(buf);
     appCredentials.readTokenStorageStream(buf);
-    Assert.assertTrue(appCredentials.getAllTokens().contains(expectedToken));
+    assertTrue(appCredentials.getAllTokens().contains(expectedToken));
   }
   }
 
 
 
 
@@ -1240,14 +1253,14 @@ public class TestDelegationTokenRenewer {
         YarnServerBuilderUtils
         YarnServerBuilderUtils
             .convertFromProtoFormat(proto.getSystemCredentialsForApps())
             .convertFromProtoFormat(proto.getSystemCredentialsForApps())
             .get(app.getApplicationId());
             .get(app.getApplicationId());
-    Assert.assertNotNull(tokenBuffer);
+    assertNotNull(tokenBuffer);
     Credentials appCredentials = new Credentials();
     Credentials appCredentials = new Credentials();
     DataInputByteBuffer buf = new DataInputByteBuffer();
     DataInputByteBuffer buf = new DataInputByteBuffer();
     tokenBuffer.rewind();
     tokenBuffer.rewind();
     buf.reset(tokenBuffer);
     buf.reset(tokenBuffer);
     appCredentials.readTokenStorageStream(buf);
     appCredentials.readTokenStorageStream(buf);
-    Assert.assertTrue(firstRenewInvoked.get() && secondRenewInvoked.get());
-    Assert.assertTrue(appCredentials.getAllTokens().contains(updatedToken));
+    assertTrue(firstRenewInvoked.get() && secondRenewInvoked.get());
+    assertTrue(appCredentials.getAllTokens().contains(updatedToken));
   }
   }
 
 
   // YARN will get the token for the app submitted without the delegation token.
   // YARN will get the token for the app submitted without the delegation token.
@@ -1301,18 +1314,19 @@ public class TestDelegationTokenRenewer {
         YarnServerBuilderUtils
         YarnServerBuilderUtils
             .convertFromProtoFormat(proto.getSystemCredentialsForApps())
             .convertFromProtoFormat(proto.getSystemCredentialsForApps())
             .get(app.getApplicationId());
             .get(app.getApplicationId());
-    Assert.assertNotNull(tokenBuffer);
+    assertNotNull(tokenBuffer);
     Credentials appCredentials = new Credentials();
     Credentials appCredentials = new Credentials();
     DataInputByteBuffer buf = new DataInputByteBuffer();
     DataInputByteBuffer buf = new DataInputByteBuffer();
     tokenBuffer.rewind();
     tokenBuffer.rewind();
     buf.reset(tokenBuffer);
     buf.reset(tokenBuffer);
     appCredentials.readTokenStorageStream(buf);
     appCredentials.readTokenStorageStream(buf);
-    Assert.assertTrue(appCredentials.getAllTokens().contains(token2));
+    assertTrue(appCredentials.getAllTokens().contains(token2));
   }
   }
 
 
   // Test submitting an application with the token obtained by a previously
   // Test submitting an application with the token obtained by a previously
   // submitted application.
   // submitted application.
-  @Test (timeout = 30000)
+  @Test
+  @Timeout(value = 30)
   public void testAppSubmissionWithPreviousToken() throws Exception{
   public void testAppSubmissionWithPreviousToken() throws Exception{
     rm = new TestSecurityMockRM(conf, null);
     rm = new TestSecurityMockRM(conf, null);
     rm.start();
     rm.start();
@@ -1349,7 +1363,7 @@ public class TestDelegationTokenRenewer {
     DelegationTokenRenewer renewer =
     DelegationTokenRenewer renewer =
         rm.getRMContext().getDelegationTokenRenewer();
         rm.getRMContext().getDelegationTokenRenewer();
     DelegationTokenToRenew dttr = renewer.getAllTokens().get(token1);
     DelegationTokenToRenew dttr = renewer.getAllTokens().get(token1);
-    Assert.assertNotNull(dttr);
+    assertNotNull(dttr);
 
 
     // submit app2 with the same token, set cancelTokenWhenComplete to true;
     // submit app2 with the same token, set cancelTokenWhenComplete to true;
     MockRMAppSubmissionData data = MockRMAppSubmissionData.Builder
     MockRMAppSubmissionData data = MockRMAppSubmissionData.Builder
@@ -1364,12 +1378,12 @@ public class TestDelegationTokenRenewer {
     MockAM am2 = MockRM.launchAndRegisterAM(app2, rm, nm1);
     MockAM am2 = MockRM.launchAndRegisterAM(app2, rm, nm1);
     rm.waitForState(app2.getApplicationId(), RMAppState.RUNNING);
     rm.waitForState(app2.getApplicationId(), RMAppState.RUNNING);
     finishAMAndWaitForComplete(app2, rm, nm1, am2, dttr);
     finishAMAndWaitForComplete(app2, rm, nm1, am2, dttr);
-    Assert.assertTrue(rm.getRMContext().getDelegationTokenRenewer()
+    assertTrue(rm.getRMContext().getDelegationTokenRenewer()
       .getAllTokens().containsKey(token1));
       .getAllTokens().containsKey(token1));
 
 
     finishAMAndWaitForComplete(app1, rm, nm1, am1, dttr);
     finishAMAndWaitForComplete(app1, rm, nm1, am1, dttr);
     // app2 completes, app1 is still running, check the token is not cancelled
     // app2 completes, app1 is still running, check the token is not cancelled
-    Assert.assertFalse(Renewer.cancelled);
+    assertFalse(Renewer.cancelled);
   }
   }
 
 
   // Test FileSystem memory leak in obtainSystemTokensForUser.
   // Test FileSystem memory leak in obtainSystemTokensForUser.
@@ -1381,14 +1395,15 @@ public class TestDelegationTokenRenewer {
     delegationTokenRenewer.obtainSystemTokensForUser(user, credentials);
     delegationTokenRenewer.obtainSystemTokensForUser(user, credentials);
     delegationTokenRenewer.obtainSystemTokensForUser(user, credentials);
     delegationTokenRenewer.obtainSystemTokensForUser(user, credentials);
     delegationTokenRenewer.obtainSystemTokensForUser(user, credentials);
     delegationTokenRenewer.obtainSystemTokensForUser(user, credentials);
-    Assert.assertEquals(oldCounter, MyFS.getInstanceCounter());
+    assertEquals(oldCounter, MyFS.getInstanceCounter());
   }
   }
   
   
   // Test submitting an application with the token obtained by a previously
   // Test submitting an application with the token obtained by a previously
   // submitted application that is set to be cancelled.  Token should be
   // submitted application that is set to be cancelled.  Token should be
   // renewed while all apps are running, and then cancelled when all apps
   // renewed while all apps are running, and then cancelled when all apps
   // complete
   // complete
-  @Test (timeout = 30000)
+  @Test
+  @Timeout(value = 30)
   public void testCancelWithMultipleAppSubmissions() throws Exception{
   public void testCancelWithMultipleAppSubmissions() throws Exception{
     rm = new TestSecurityMockRM(conf, null);
     rm = new TestSecurityMockRM(conf, null);
     rm.start();
     rm.start();
@@ -1410,8 +1425,8 @@ public class TestDelegationTokenRenewer {
 
 
     DelegationTokenRenewer renewer =
     DelegationTokenRenewer renewer =
         rm.getRMContext().getDelegationTokenRenewer();
         rm.getRMContext().getDelegationTokenRenewer();
-    Assert.assertTrue(renewer.getAllTokens().isEmpty());
-    Assert.assertFalse(Renewer.cancelled);
+    assertTrue(renewer.getAllTokens().isEmpty());
+    assertFalse(Renewer.cancelled);
 
 
     Resource resource = Records.newRecord(Resource.class);
     Resource resource = Records.newRecord(Resource.class);
     resource.setMemorySize(200);
     resource.setMemorySize(200);
@@ -1427,8 +1442,8 @@ public class TestDelegationTokenRenewer {
     rm.waitForState(app1.getApplicationId(), RMAppState.RUNNING);
     rm.waitForState(app1.getApplicationId(), RMAppState.RUNNING);
 
 
     DelegationTokenToRenew dttr = renewer.getAllTokens().get(token1);
     DelegationTokenToRenew dttr = renewer.getAllTokens().get(token1);
-    Assert.assertNotNull(dttr);
-    Assert.assertTrue(dttr.referringAppIds.contains(app1.getApplicationId()));
+    assertNotNull(dttr);
+    assertTrue(dttr.referringAppIds.contains(app1.getApplicationId()));
     MockRMAppSubmissionData data1 =
     MockRMAppSubmissionData data1 =
         MockRMAppSubmissionData.Builder.createWithResource(resource, rm)
         MockRMAppSubmissionData.Builder.createWithResource(resource, rm)
         .withResource(resource)
         .withResource(resource)
@@ -1440,18 +1455,18 @@ public class TestDelegationTokenRenewer {
     RMApp app2 = MockRMAppSubmitter.submit(rm, data1);
     RMApp app2 = MockRMAppSubmitter.submit(rm, data1);
     MockAM am2 = MockRM.launchAndRegisterAM(app2, rm, nm1);
     MockAM am2 = MockRM.launchAndRegisterAM(app2, rm, nm1);
     rm.waitForState(app2.getApplicationId(), RMAppState.RUNNING);
     rm.waitForState(app2.getApplicationId(), RMAppState.RUNNING);
-    Assert.assertTrue(renewer.getAllTokens().containsKey(token1));
-    Assert.assertTrue(dttr.referringAppIds.contains(app2.getApplicationId()));
-    Assert.assertTrue(dttr.referringAppIds.contains(app2.getApplicationId()));
-    Assert.assertFalse(Renewer.cancelled);
+    assertTrue(renewer.getAllTokens().containsKey(token1));
+    assertTrue(dttr.referringAppIds.contains(app2.getApplicationId()));
+    assertTrue(dttr.referringAppIds.contains(app2.getApplicationId()));
+    assertFalse(Renewer.cancelled);
 
 
     finishAMAndWaitForComplete(app2, rm, nm1, am2, dttr);
     finishAMAndWaitForComplete(app2, rm, nm1, am2, dttr);
     // app2 completes, app1 is still running, check the token is not cancelled
     // app2 completes, app1 is still running, check the token is not cancelled
-    Assert.assertTrue(renewer.getAllTokens().containsKey(token1));
-    Assert.assertTrue(dttr.referringAppIds.contains(app1.getApplicationId()));
-    Assert.assertFalse(dttr.referringAppIds.contains(app2.getApplicationId()));
-    Assert.assertFalse(dttr.isTimerCancelled());
-    Assert.assertFalse(Renewer.cancelled);
+    assertTrue(renewer.getAllTokens().containsKey(token1));
+    assertTrue(dttr.referringAppIds.contains(app1.getApplicationId()));
+    assertFalse(dttr.referringAppIds.contains(app2.getApplicationId()));
+    assertFalse(dttr.isTimerCancelled());
+    assertFalse(Renewer.cancelled);
 
 
     MockRMAppSubmissionData data =
     MockRMAppSubmissionData data =
         MockRMAppSubmissionData.Builder.createWithResource(resource, rm)
         MockRMAppSubmissionData.Builder.createWithResource(resource, rm)
@@ -1464,18 +1479,18 @@ public class TestDelegationTokenRenewer {
     RMApp app3 = MockRMAppSubmitter.submit(rm, data);
     RMApp app3 = MockRMAppSubmitter.submit(rm, data);
     MockAM am3 = MockRM.launchAndRegisterAM(app3, rm, nm1);
     MockAM am3 = MockRM.launchAndRegisterAM(app3, rm, nm1);
     rm.waitForState(app3.getApplicationId(), RMAppState.RUNNING);
     rm.waitForState(app3.getApplicationId(), RMAppState.RUNNING);
-    Assert.assertTrue(renewer.getAllTokens().containsKey(token1));
-    Assert.assertTrue(dttr.referringAppIds.contains(app1.getApplicationId()));
-    Assert.assertTrue(dttr.referringAppIds.contains(app3.getApplicationId()));
-    Assert.assertFalse(dttr.isTimerCancelled());
-    Assert.assertFalse(Renewer.cancelled);
+    assertTrue(renewer.getAllTokens().containsKey(token1));
+    assertTrue(dttr.referringAppIds.contains(app1.getApplicationId()));
+    assertTrue(dttr.referringAppIds.contains(app3.getApplicationId()));
+    assertFalse(dttr.isTimerCancelled());
+    assertFalse(Renewer.cancelled);
 
 
     finishAMAndWaitForComplete(app1, rm, nm1, am1, dttr);
     finishAMAndWaitForComplete(app1, rm, nm1, am1, dttr);
-    Assert.assertTrue(renewer.getAllTokens().containsKey(token1));
-    Assert.assertFalse(dttr.referringAppIds.contains(app1.getApplicationId()));
-    Assert.assertTrue(dttr.referringAppIds.contains(app3.getApplicationId()));
-    Assert.assertFalse(dttr.isTimerCancelled());
-    Assert.assertFalse(Renewer.cancelled);
+    assertTrue(renewer.getAllTokens().containsKey(token1));
+    assertFalse(dttr.referringAppIds.contains(app1.getApplicationId()));
+    assertTrue(dttr.referringAppIds.contains(app3.getApplicationId()));
+    assertFalse(dttr.isTimerCancelled());
+    assertFalse(Renewer.cancelled);
 
 
     finishAMAndWaitForComplete(app3, rm, nm1, am3, dttr);
     finishAMAndWaitForComplete(app3, rm, nm1, am3, dttr);
     GenericTestUtils.waitFor(new Supplier<Boolean>() {
     GenericTestUtils.waitFor(new Supplier<Boolean>() {
@@ -1484,25 +1499,25 @@ public class TestDelegationTokenRenewer {
         return !renewer.getAllTokens().containsKey(token1);
         return !renewer.getAllTokens().containsKey(token1);
       }
       }
     }, 10, 5000);
     }, 10, 5000);
-    Assert.assertFalse(renewer.getAllTokens().containsKey(token1));
-    Assert.assertTrue(dttr.referringAppIds.isEmpty());
+    assertFalse(renewer.getAllTokens().containsKey(token1));
+    assertTrue(dttr.referringAppIds.isEmpty());
     GenericTestUtils.waitFor(new Supplier<Boolean>() {
     GenericTestUtils.waitFor(new Supplier<Boolean>() {
       @Override
       @Override
       public Boolean get() {
       public Boolean get() {
         return dttr.isTimerCancelled();
         return dttr.isTimerCancelled();
       }
       }
     }, 10, 5000);
     }, 10, 5000);
-    Assert.assertTrue(dttr.isTimerCancelled());
+    assertTrue(dttr.isTimerCancelled());
     GenericTestUtils.waitFor(new Supplier<Boolean>() {
     GenericTestUtils.waitFor(new Supplier<Boolean>() {
       @Override
       @Override
       public Boolean get() {
       public Boolean get() {
         return Renewer.cancelled;
         return Renewer.cancelled;
       }
       }
     }, 10, 5000);
     }, 10, 5000);
-    Assert.assertTrue(Renewer.cancelled);
+    assertTrue(Renewer.cancelled);
 
 
     // make sure the token also has been removed from appTokens
     // make sure the token also has been removed from appTokens
-    Assert.assertFalse(renewer.getDelegationTokens().contains(token1));
+    assertFalse(renewer.getDelegationTokens().contains(token1));
   }
   }
 
 
   private void finishAMAndWaitForComplete(final RMApp app, MockRM mockrm,
   private void finishAMAndWaitForComplete(final RMApp app, MockRM mockrm,
@@ -1610,10 +1625,10 @@ public class TestDelegationTokenRenewer {
 
 
     try {
     try {
       submitApp(rm, credentials, tokenConf);
       submitApp(rm, credentials, tokenConf);
-      Assert.fail();
+      fail();
     } catch (Exception e) {
     } catch (Exception e) {
       e.printStackTrace();
       e.printStackTrace();
-      Assert.assertTrue(e.getCause().getMessage()
+      assertTrue(e.getCause().getMessage()
           .contains(YarnConfiguration.RM_DELEGATION_TOKEN_MAX_CONF_SIZE));
           .contains(YarnConfiguration.RM_DELEGATION_TOKEN_MAX_CONF_SIZE));
     }
     }
   }
   }
@@ -1661,7 +1676,8 @@ public class TestDelegationTokenRenewer {
         BuilderUtils.newApplicationId(0, 1));
         BuilderUtils.newApplicationId(0, 1));
   }
   }
 
 
-  @Test(timeout = 10000)
+  @Test
+  @Timeout(value = 10)
   public void testTokenSequenceNoAfterNewTokenAndRenewal() throws Exception {
   public void testTokenSequenceNoAfterNewTokenAndRenewal() throws Exception {
     conf.setBoolean(YarnConfiguration.RM_PROXY_USER_PRIVILEGES_ENABLED, true);
     conf.setBoolean(YarnConfiguration.RM_PROXY_USER_PRIVILEGES_ENABLED, true);
     conf.set(CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION,
     conf.set(CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION,
@@ -1708,7 +1724,7 @@ public class TestDelegationTokenRenewer {
     localDtr.addApplicationSync(appId1, credsx, false, "user1");
     localDtr.addApplicationSync(appId1, credsx, false, "user1");
 
 
     // Ensure incrTokenSequenceNo has been called for new token request
     // Ensure incrTokenSequenceNo has been called for new token request
-    Mockito.verify(mockContext, Mockito.times(1)).incrTokenSequenceNo();
+    verify(mockContext, times(1)).incrTokenSequenceNo();
 
 
     DelegationTokenToRenew dttr = localDtr.new DelegationTokenToRenew(appIds,
     DelegationTokenToRenew dttr = localDtr.new DelegationTokenToRenew(appIds,
         expectedToken, conf, 1000, false, "user1");
         expectedToken, conf, 1000, false, "user1");
@@ -1716,7 +1732,7 @@ public class TestDelegationTokenRenewer {
     localDtr.requestNewHdfsDelegationTokenIfNeeded(dttr);
     localDtr.requestNewHdfsDelegationTokenIfNeeded(dttr);
 
 
     // Ensure incrTokenSequenceNo has been called for token renewal as well.
     // Ensure incrTokenSequenceNo has been called for token renewal as well.
-    Mockito.verify(mockContext, Mockito.times(2)).incrTokenSequenceNo();
+    verify(mockContext, times(2)).incrTokenSequenceNo();
   }
   }
 
 
   /**
   /**
@@ -1728,7 +1744,8 @@ public class TestDelegationTokenRenewer {
    *
    *
    * @throws Exception
    * @throws Exception
    */
    */
-  @Test(timeout = 30000)
+  @Test
+  @Timeout(value = 30)
   public void testTokenThreadTimeout() throws Exception {
   public void testTokenThreadTimeout() throws Exception {
     Configuration yarnConf = new YarnConfiguration();
     Configuration yarnConf = new YarnConfiguration();
     yarnConf.set("override_token_expire_time", "30000");
     yarnConf.set("override_token_expire_time", "30000");
@@ -1802,7 +1819,8 @@ public class TestDelegationTokenRenewer {
    *
    *
    * @throws Exception
    * @throws Exception
    */
    */
-  @Test(timeout = 30000)
+  @Test
+  @Timeout(value = 30)
   public void testTokenThreadTimeoutWithoutDelay() throws Exception {
   public void testTokenThreadTimeoutWithoutDelay() throws Exception {
     Configuration yarnConf = new YarnConfiguration();
     Configuration yarnConf = new YarnConfiguration();
     yarnConf.setBoolean(YarnConfiguration.RM_PROXY_USER_PRIVILEGES_ENABLED,
     yarnConf.setBoolean(YarnConfiguration.RM_PROXY_USER_PRIVILEGES_ENABLED,

+ 1 - 1
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestDelegationTokenRenewerLifecycle.java

@@ -25,7 +25,7 @@ import static org.mockito.Mockito.when;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.yarn.server.resourcemanager.ClientRMService;
 import org.apache.hadoop.yarn.server.resourcemanager.ClientRMService;
 import org.apache.hadoop.yarn.server.resourcemanager.RMContext;
 import org.apache.hadoop.yarn.server.resourcemanager.RMContext;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 /**
 /**
  * This test replicates the condition os MAPREDUCE-3431 -a failure
  * This test replicates the condition os MAPREDUCE-3431 -a failure

+ 16 - 14
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestProxyCAManager.java

@@ -18,13 +18,15 @@
 
 
 package org.apache.hadoop.yarn.server.resourcemanager.security;
 package org.apache.hadoop.yarn.server.resourcemanager.security;
 
 
+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 org.apache.hadoop.yarn.conf.YarnConfiguration;
 import org.apache.hadoop.yarn.conf.YarnConfiguration;
 import org.apache.hadoop.yarn.server.resourcemanager.RMContext;
 import org.apache.hadoop.yarn.server.resourcemanager.RMContext;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore;
 import org.apache.hadoop.yarn.server.webproxy.ProxyCA;
 import org.apache.hadoop.yarn.server.webproxy.ProxyCA;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 import java.security.PrivateKey;
 import java.security.PrivateKey;
 import java.security.cert.X509Certificate;
 import java.security.cert.X509Certificate;
@@ -46,20 +48,20 @@ public class TestProxyCAManager {
     when(rmContext.getStateStore()).thenReturn(rmStateStore);
     when(rmContext.getStateStore()).thenReturn(rmStateStore);
     ProxyCAManager proxyCAManager = new ProxyCAManager(proxyCA, rmContext);
     ProxyCAManager proxyCAManager = new ProxyCAManager(proxyCA, rmContext);
     proxyCAManager.init(new YarnConfiguration());
     proxyCAManager.init(new YarnConfiguration());
-    Assert.assertEquals(proxyCA, proxyCAManager.getProxyCA());
+    assertEquals(proxyCA, proxyCAManager.getProxyCA());
     verify(rmContext, times(0)).getStateStore();
     verify(rmContext, times(0)).getStateStore();
     verify(rmStateStore, times(0)).storeProxyCACert(any(), any());
     verify(rmStateStore, times(0)).storeProxyCACert(any(), any());
     verify(proxyCA, times(0)).init();
     verify(proxyCA, times(0)).init();
-    Assert.assertNull(proxyCA.getCaCert());
-    Assert.assertNull(proxyCA.getCaKeyPair());
+    assertNull(proxyCA.getCaCert());
+    assertNull(proxyCA.getCaKeyPair());
 
 
     proxyCAManager.start();
     proxyCAManager.start();
     verify(rmContext, times(1)).getStateStore();
     verify(rmContext, times(1)).getStateStore();
     verify(rmStateStore, times(1)).storeProxyCACert(proxyCA.getCaCert(),
     verify(rmStateStore, times(1)).storeProxyCACert(proxyCA.getCaCert(),
         proxyCA.getCaKeyPair().getPrivate());
         proxyCA.getCaKeyPair().getPrivate());
     verify(proxyCA, times(1)).init();
     verify(proxyCA, times(1)).init();
-    Assert.assertNotNull(proxyCA.getCaCert());
-    Assert.assertNotNull(proxyCA.getCaKeyPair());
+    assertNotNull(proxyCA.getCaCert());
+    assertNotNull(proxyCA.getCaKeyPair());
   }
   }
 
 
   @Test
   @Test
@@ -70,12 +72,12 @@ public class TestProxyCAManager {
     when(rmContext.getStateStore()).thenReturn(rmStateStore);
     when(rmContext.getStateStore()).thenReturn(rmStateStore);
     ProxyCAManager proxyCAManager = new ProxyCAManager(proxyCA, rmContext);
     ProxyCAManager proxyCAManager = new ProxyCAManager(proxyCA, rmContext);
     proxyCAManager.init(new YarnConfiguration());
     proxyCAManager.init(new YarnConfiguration());
-    Assert.assertEquals(proxyCA, proxyCAManager.getProxyCA());
+    assertEquals(proxyCA, proxyCAManager.getProxyCA());
     verify(rmContext, times(0)).getStateStore();
     verify(rmContext, times(0)).getStateStore();
     verify(rmStateStore, times(0)).storeProxyCACert(any(), any());
     verify(rmStateStore, times(0)).storeProxyCACert(any(), any());
     verify(proxyCA, times(0)).init();
     verify(proxyCA, times(0)).init();
-    Assert.assertNull(proxyCA.getCaCert());
-    Assert.assertNull(proxyCA.getCaKeyPair());
+    assertNull(proxyCA.getCaCert());
+    assertNull(proxyCA.getCaKeyPair());
 
 
     RMStateStore.RMState rmState = mock(RMStateStore.RMState.class);
     RMStateStore.RMState rmState = mock(RMStateStore.RMState.class);
     RMStateStore.ProxyCAState proxyCAState =
     RMStateStore.ProxyCAState proxyCAState =
@@ -91,15 +93,15 @@ public class TestProxyCAManager {
     when(rmState.getProxyCAState()).thenReturn(proxyCAState);
     when(rmState.getProxyCAState()).thenReturn(proxyCAState);
     proxyCAManager.recover(rmState);
     proxyCAManager.recover(rmState);
     verify(proxyCA, times(1)).init(certificate, privateKey);
     verify(proxyCA, times(1)).init(certificate, privateKey);
-    Assert.assertEquals(certificate, proxyCA.getCaCert());
-    Assert.assertEquals(privateKey, proxyCA.getCaKeyPair().getPrivate());
+    assertEquals(certificate, proxyCA.getCaCert());
+    assertEquals(privateKey, proxyCA.getCaKeyPair().getPrivate());
 
 
     proxyCAManager.start();
     proxyCAManager.start();
     verify(rmContext, times(1)).getStateStore();
     verify(rmContext, times(1)).getStateStore();
     verify(rmStateStore, times(1)).storeProxyCACert(proxyCA.getCaCert(),
     verify(rmStateStore, times(1)).storeProxyCACert(proxyCA.getCaCert(),
         proxyCA.getCaKeyPair().getPrivate());
         proxyCA.getCaKeyPair().getPrivate());
     verify(proxyCA, times(0)).init();
     verify(proxyCA, times(0)).init();
-    Assert.assertEquals(certificate, proxyCA.getCaCert());
-    Assert.assertEquals(privateKey, proxyCA.getCaKeyPair().getPrivate());
+    assertEquals(certificate, proxyCA.getCaCert());
+    assertEquals(privateKey, proxyCA.getCaKeyPair().getPrivate());
   }
   }
 }
 }

+ 9 - 7
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestRMAuthenticationFilter.java

@@ -23,15 +23,17 @@ import org.apache.hadoop.http.HttpServer2;
 import org.apache.hadoop.yarn.server.security.http.RMAuthenticationFilter;
 import org.apache.hadoop.yarn.server.security.http.RMAuthenticationFilter;
 import org.apache.hadoop.yarn.server.security.http
 import org.apache.hadoop.yarn.server.security.http
     .RMAuthenticationFilterInitializer;
     .RMAuthenticationFilterInitializer;
-import org.junit.Test;
-import org.mockito.Mockito;
+import org.junit.jupiter.api.Test;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 import org.mockito.stubbing.Answer;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.mock;
 
 
 import java.util.Map;
 import java.util.Map;
 
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 
 /**
 /**
  * Test RM Auth filter.
  * Test RM Auth filter.
@@ -47,8 +49,8 @@ public class TestRMAuthenticationFilter {
 
 
     conf.set(HttpServer2.BIND_ADDRESS, "barhost");
     conf.set(HttpServer2.BIND_ADDRESS, "barhost");
 
 
-    FilterContainer container = Mockito.mock(FilterContainer.class);
-    Mockito.doAnswer(new Answer() {
+    FilterContainer container = mock(FilterContainer.class);
+    doAnswer(new Answer() {
       @Override
       @Override
       public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
       public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
         Object[] args = invocationOnMock.getArguments();
         Object[] args = invocationOnMock.getArguments();
@@ -72,7 +74,7 @@ public class TestRMAuthenticationFilter {
 
 
         return null;
         return null;
       }
       }
-    }).when(container).addFilter(Mockito.any(), Mockito.any(), Mockito.any());
+    }).when(container).addFilter(any(), any(), any());
 
 
     new RMAuthenticationFilterInitializer().initFilter(container, conf);
     new RMAuthenticationFilterInitializer().initFilter(container, conf);
   }
   }

+ 20 - 15
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestRMDelegationTokens.java

@@ -18,6 +18,8 @@
 
 
 package org.apache.hadoop.yarn.server.resourcemanager.security;
 package org.apache.hadoop.yarn.server.resourcemanager.security;
 
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
@@ -50,15 +52,15 @@ import org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore.RMState;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore.RMState;
 import org.apache.hadoop.yarn.util.ConverterUtils;
 import org.apache.hadoop.yarn.util.ConverterUtils;
 import org.slf4j.event.Level;
 import org.slf4j.event.Level;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.Timeout;
 
 
 public class TestRMDelegationTokens {
 public class TestRMDelegationTokens {
 
 
   private YarnConfiguration testConf;
   private YarnConfiguration testConf;
 
 
-  @Before
+  @BeforeEach
   public void setup() {
   public void setup() {
     GenericTestUtils.setRootLogLevel(Level.DEBUG);
     GenericTestUtils.setRootLogLevel(Level.DEBUG);
     ExitUtil.disableSystemExit();
     ExitUtil.disableSystemExit();
@@ -81,12 +83,13 @@ public class TestRMDelegationTokens {
           break;
           break;
         }
         }
       }
       }
-      Assert.assertTrue("Master key not found: " + keyId, found);
+      assertTrue(found, "Master key not found: " + keyId);
     });
     });
   }
   }
 
 
   // Test the DT mast key in the state-store when the mast key is being rolled.
   // Test the DT mast key in the state-store when the mast key is being rolled.
-  @Test(timeout = 15000)
+  @Test
+  @Timeout(value = 15)
   public void testRMDTMasterKeyStateOnRollingMasterKey() throws Exception {
   public void testRMDTMasterKeyStateOnRollingMasterKey() throws Exception {
     Configuration conf = new Configuration(testConf);
     Configuration conf = new Configuration(testConf);
     conf.set("hadoop.security.authentication", "kerberos");
     conf.set("hadoop.security.authentication", "kerberos");
@@ -146,7 +149,8 @@ public class TestRMDelegationTokens {
   }
   }
 
 
   // Test all expired keys are removed from state-store.
   // Test all expired keys are removed from state-store.
-  @Test(timeout = 15000)
+  @Test
+  @Timeout(value = 15)
   public void testRemoveExpiredMasterKeyInRMStateStore() throws Exception {
   public void testRemoveExpiredMasterKeyInRMStateStore() throws Exception {
     MemoryRMStateStore memStore = new MockMemoryRMStateStore();
     MemoryRMStateStore memStore = new MockMemoryRMStateStore();
     memStore.init(testConf);
     memStore.init(testConf);
@@ -180,7 +184,8 @@ public class TestRMDelegationTokens {
   }
   }
 
 
   // Test removing token without key from state-store.
   // Test removing token without key from state-store.
-  @Test(timeout = 15000)
+  @Test
+  @Timeout(value = 15)
   public void testUnknownKeyTokensOnRecover() throws Exception {
   public void testUnknownKeyTokensOnRecover() throws Exception {
     final int masterID = 1234;
     final int masterID = 1234;
     final int sequenceNumber = 1000;
     final int sequenceNumber = 1000;
@@ -212,10 +217,10 @@ public class TestRMDelegationTokens {
     // Cannot recover while running: stop and clear
     // Cannot recover while running: stop and clear
     dtSecretManager.stopThreads();
     dtSecretManager.stopThreads();
     dtSecretManager.reset();
     dtSecretManager.reset();
-    Assert.assertEquals("Secret manager should have no tokens",
-        dtSecretManager.getAllTokens().size(), 0);
-    Assert.assertEquals("Secret manager should have no keys",
-        dtSecretManager.getAllMasterKeys().size(), 0);
+    assertEquals(dtSecretManager.getAllTokens().size(), 0,
+        "Secret manager should have no tokens");
+    assertEquals(dtSecretManager.getAllMasterKeys().size(), 0,
+        "Secret manager should have no keys");
     dtSecretManager.recover(rmState);
     dtSecretManager.recover(rmState);
     GenericTestUtils.waitFor(new Supplier<Boolean>() {
     GenericTestUtils.waitFor(new Supplier<Boolean>() {
       public Boolean get() {
       public Boolean get() {
@@ -224,8 +229,8 @@ public class TestRMDelegationTokens {
                 containsKey(rmDT);
                 containsKey(rmDT);
       }
       }
     }, 10, 2000);
     }, 10, 2000);
-    Assert.assertEquals("Token should have been expired but is not", 0L,
-        dtSecretManager.getRenewDate(rmDT));
+    assertEquals(0L, dtSecretManager.getRenewDate(rmDT),
+        "Token should have been expired but is not");
     // The remover thread should immediately do its work,
     // The remover thread should immediately do its work,
     // still give it some time to process
     // still give it some time to process
     dtSecretManager.startThreads();
     dtSecretManager.startThreads();
@@ -296,7 +301,7 @@ public class TestRMDelegationTokens {
               break;
               break;
             }
             }
           }
           }
-          Assert.assertTrue(found);
+          assertTrue(found);
           return currentKey;
           return currentKey;
         }
         }
       }
       }

+ 30 - 21
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/volume/csi/TestVolumeCapabilityRange.java

@@ -19,37 +19,46 @@ package org.apache.hadoop.yarn.server.resourcemanager.volume.csi;
 
 
 import org.apache.hadoop.yarn.server.volume.csi.exception.InvalidVolumeException;
 import org.apache.hadoop.yarn.server.volume.csi.exception.InvalidVolumeException;
 import org.apache.hadoop.yarn.server.volume.csi.VolumeCapabilityRange;
 import org.apache.hadoop.yarn.server.volume.csi.VolumeCapabilityRange;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 
 /**
 /**
  * Test cases for volume capability.
  * Test cases for volume capability.
  */
  */
 public class TestVolumeCapabilityRange {
 public class TestVolumeCapabilityRange {
 
 
-  @Test(expected = InvalidVolumeException.class)
+  @Test
   public void testInvalidMinCapability() throws InvalidVolumeException {
   public void testInvalidMinCapability() throws InvalidVolumeException {
-    VolumeCapabilityRange.newBuilder()
-        .minCapacity(-1L)
-        .maxCapacity(5L)
-        .unit("Gi")
-        .build();
+    assertThrows(InvalidVolumeException.class, () -> {
+        VolumeCapabilityRange.newBuilder()
+          .minCapacity(-1L)
+          .maxCapacity(5L)
+          .unit("Gi")
+          .build();
+    });
   }
   }
 
 
-  @Test(expected = InvalidVolumeException.class)
+  @Test
   public void testMissingMinCapability() throws InvalidVolumeException {
   public void testMissingMinCapability() throws InvalidVolumeException {
-    VolumeCapabilityRange.newBuilder()
-        .maxCapacity(5L)
-        .unit("Gi")
-        .build();
+    assertThrows(InvalidVolumeException.class, () -> {
+        VolumeCapabilityRange.newBuilder()
+          .maxCapacity(5L)
+          .unit("Gi")
+          .build();
+    });
+
   }
   }
 
 
-  @Test(expected = InvalidVolumeException.class)
+  @Test
   public void testMissingUnit() throws InvalidVolumeException {
   public void testMissingUnit() throws InvalidVolumeException {
-    VolumeCapabilityRange.newBuilder()
-        .minCapacity(0L)
-        .maxCapacity(5L)
-        .build();
+    assertThrows(InvalidVolumeException.class, () -> {
+        VolumeCapabilityRange.newBuilder()
+          .minCapacity(0L)
+          .maxCapacity(5L)
+          .build();
+    });
   }
   }
 
 
   @Test
   @Test
@@ -60,8 +69,8 @@ public class TestVolumeCapabilityRange {
         .unit("Gi")
         .unit("Gi")
         .build();
         .build();
 
 
-    Assert.assertEquals(0L, vc.getMinCapacity());
-    Assert.assertEquals(5L, vc.getMaxCapacity());
-    Assert.assertEquals("Gi", vc.getUnit());
+    assertEquals(0L, vc.getMinCapacity());
+    assertEquals(5L, vc.getMaxCapacity());
+    assertEquals("Gi", vc.getUnit());
   }
   }
 }
 }

+ 31 - 31
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/volume/csi/TestVolumeLifecycle.java

@@ -27,14 +27,19 @@ import org.apache.hadoop.yarn.server.resourcemanager.volume.csi.event.ValidateVo
 import org.apache.hadoop.yarn.server.resourcemanager.volume.csi.lifecycle.VolumeImpl;
 import org.apache.hadoop.yarn.server.resourcemanager.volume.csi.lifecycle.VolumeImpl;
 import org.apache.hadoop.yarn.server.resourcemanager.volume.csi.lifecycle.VolumeState;
 import org.apache.hadoop.yarn.server.resourcemanager.volume.csi.lifecycle.VolumeState;
 import org.apache.hadoop.yarn.server.volume.csi.exception.VolumeException;
 import org.apache.hadoop.yarn.server.volume.csi.exception.VolumeException;
-import org.junit.Assert;
-import org.junit.Test;
-import org.mockito.Mockito;
-
+import org.junit.jupiter.api.Test;
 import java.io.IOException;
 import java.io.IOException;
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.TimeoutException;
 
 
-import static org.mockito.Mockito.*;
+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 static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
 
 
 /**
 /**
  * Test cases for volume lifecycle management.
  * Test cases for volume lifecycle management.
@@ -43,8 +48,7 @@ public class TestVolumeLifecycle {
 
 
   @Test
   @Test
   public void testValidation() throws YarnException, IOException {
   public void testValidation() throws YarnException, IOException {
-    CsiAdaptorProtocol mockedClient = Mockito
-        .mock(CsiAdaptorProtocol.class);
+    CsiAdaptorProtocol mockedClient = mock(CsiAdaptorProtocol.class);
     doReturn(ValidateVolumeCapabilitiesResponse.newInstance(true, ""))
     doReturn(ValidateVolumeCapabilitiesResponse.newInstance(true, ""))
         .when(mockedClient)
         .when(mockedClient)
        .validateVolumeCapacity(any(ValidateVolumeCapabilitiesRequest.class));
        .validateVolumeCapacity(any(ValidateVolumeCapabilitiesRequest.class));
@@ -57,16 +61,15 @@ public class TestVolumeLifecycle {
         .driverName("test-driver-name")
         .driverName("test-driver-name")
         .build();
         .build();
     volume.setClient(mockedClient);
     volume.setClient(mockedClient);
-    Assert.assertEquals(VolumeState.NEW, volume.getVolumeState());
+    assertEquals(VolumeState.NEW, volume.getVolumeState());
 
 
     volume.handle(new ValidateVolumeEvent(volume));
     volume.handle(new ValidateVolumeEvent(volume));
-    Assert.assertEquals(VolumeState.VALIDATED, volume.getVolumeState());
+    assertEquals(VolumeState.VALIDATED, volume.getVolumeState());
   }
   }
 
 
   @Test
   @Test
   public void testVolumeCapacityNotSupported() throws Exception {
   public void testVolumeCapacityNotSupported() throws Exception {
-    CsiAdaptorProtocol mockedClient = Mockito
-        .mock(CsiAdaptorProtocol.class);
+    CsiAdaptorProtocol mockedClient = mock(CsiAdaptorProtocol.class);
 
 
     VolumeImpl volume = (VolumeImpl) VolumeBuilder
     VolumeImpl volume = (VolumeImpl) VolumeBuilder
         .newBuilder().volumeId("test_vol_00000001").build();
         .newBuilder().volumeId("test_vol_00000001").build();
@@ -83,18 +86,17 @@ public class TestVolumeLifecycle {
       // Verify the countdown did not happen
       // Verify the countdown did not happen
       GenericTestUtils.waitFor(() ->
       GenericTestUtils.waitFor(() ->
           volume.getVolumeState() == VolumeState.VALIDATED, 10, 50);
           volume.getVolumeState() == VolumeState.VALIDATED, 10, 50);
-      Assert.fail("Validate state not reached,"
+      fail("Validate state not reached,"
           + " it should keep waiting until timeout");
           + " it should keep waiting until timeout");
     } catch (Exception e) {
     } catch (Exception e) {
-      Assert.assertTrue(e instanceof TimeoutException);
-      Assert.assertEquals(VolumeState.UNAVAILABLE, volume.getVolumeState());
+      assertTrue(e instanceof TimeoutException);
+      assertEquals(VolumeState.UNAVAILABLE, volume.getVolumeState());
     }
     }
   }
   }
 
 
   @Test
   @Test
   public void testValidationFailure() throws YarnException, IOException {
   public void testValidationFailure() throws YarnException, IOException {
-    CsiAdaptorProtocol mockedClient = Mockito
-        .mock(CsiAdaptorProtocol.class);
+    CsiAdaptorProtocol mockedClient = mock(CsiAdaptorProtocol.class);
     doThrow(new VolumeException("fail"))
     doThrow(new VolumeException("fail"))
         .when(mockedClient)
         .when(mockedClient)
         .validateVolumeCapacity(any(ValidateVolumeCapabilitiesRequest.class));
         .validateVolumeCapacity(any(ValidateVolumeCapabilitiesRequest.class));
@@ -115,7 +117,7 @@ public class TestVolumeLifecycle {
   public void testValidated() throws YarnException, IOException {
   public void testValidated() throws YarnException, IOException {
     VolumeImpl volume = (VolumeImpl) VolumeBuilder
     VolumeImpl volume = (VolumeImpl) VolumeBuilder
         .newBuilder().volumeId("test_vol_00000001").build();
         .newBuilder().volumeId("test_vol_00000001").build();
-    CsiAdaptorProtocol mockedClient = Mockito.mock(CsiAdaptorProtocol.class);
+    CsiAdaptorProtocol mockedClient = mock(CsiAdaptorProtocol.class);
     // The client has a count to memorize how many times being called
     // The client has a count to memorize how many times being called
     volume.setClient(mockedClient);
     volume.setClient(mockedClient);
 
 
@@ -123,15 +125,15 @@ public class TestVolumeLifecycle {
     doReturn(ValidateVolumeCapabilitiesResponse.newInstance(true, ""))
     doReturn(ValidateVolumeCapabilitiesResponse.newInstance(true, ""))
         .when(mockedClient)
         .when(mockedClient)
         .validateVolumeCapacity(any(ValidateVolumeCapabilitiesRequest.class));
         .validateVolumeCapacity(any(ValidateVolumeCapabilitiesRequest.class));
-    Assert.assertEquals(VolumeState.NEW, volume.getVolumeState());
+    assertEquals(VolumeState.NEW, volume.getVolumeState());
     volume.handle(new ValidateVolumeEvent(volume));
     volume.handle(new ValidateVolumeEvent(volume));
-    Assert.assertEquals(VolumeState.VALIDATED, volume.getVolumeState());
+    assertEquals(VolumeState.VALIDATED, volume.getVolumeState());
     verify(mockedClient, times(1))
     verify(mockedClient, times(1))
         .validateVolumeCapacity(any(ValidateVolumeCapabilitiesRequest.class));
         .validateVolumeCapacity(any(ValidateVolumeCapabilitiesRequest.class));
 
 
     // VALIDATED -> VALIDATED
     // VALIDATED -> VALIDATED
     volume.handle(new ValidateVolumeEvent(volume));
     volume.handle(new ValidateVolumeEvent(volume));
-    Assert.assertEquals(VolumeState.VALIDATED, volume.getVolumeState());
+    assertEquals(VolumeState.VALIDATED, volume.getVolumeState());
     verify(mockedClient, times(1))
     verify(mockedClient, times(1))
         .validateVolumeCapacity(any(ValidateVolumeCapabilitiesRequest.class));
         .validateVolumeCapacity(any(ValidateVolumeCapabilitiesRequest.class));
   }
   }
@@ -140,21 +142,20 @@ public class TestVolumeLifecycle {
   public void testUnavailableState() throws YarnException, IOException {
   public void testUnavailableState() throws YarnException, IOException {
     VolumeImpl volume = (VolumeImpl) VolumeBuilder
     VolumeImpl volume = (VolumeImpl) VolumeBuilder
         .newBuilder().volumeId("test_vol_00000001").build();
         .newBuilder().volumeId("test_vol_00000001").build();
-    CsiAdaptorProtocol mockedClient = Mockito
-        .mock(CsiAdaptorProtocol.class);
+    CsiAdaptorProtocol mockedClient = mock(CsiAdaptorProtocol.class);
     volume.setClient(mockedClient);
     volume.setClient(mockedClient);
 
 
     // NEW -> UNAVAILABLE
     // NEW -> UNAVAILABLE
     doThrow(new VolumeException("failed"))
     doThrow(new VolumeException("failed"))
         .when(mockedClient)
         .when(mockedClient)
         .validateVolumeCapacity(any(ValidateVolumeCapabilitiesRequest.class));
         .validateVolumeCapacity(any(ValidateVolumeCapabilitiesRequest.class));
-    Assert.assertEquals(VolumeState.NEW, volume.getVolumeState());
+    assertEquals(VolumeState.NEW, volume.getVolumeState());
     volume.handle(new ValidateVolumeEvent(volume));
     volume.handle(new ValidateVolumeEvent(volume));
-    Assert.assertEquals(VolumeState.UNAVAILABLE, volume.getVolumeState());
+    assertEquals(VolumeState.UNAVAILABLE, volume.getVolumeState());
 
 
     // UNAVAILABLE -> UNAVAILABLE
     // UNAVAILABLE -> UNAVAILABLE
     volume.handle(new ValidateVolumeEvent(volume));
     volume.handle(new ValidateVolumeEvent(volume));
-    Assert.assertEquals(VolumeState.UNAVAILABLE, volume.getVolumeState());
+    assertEquals(VolumeState.UNAVAILABLE, volume.getVolumeState());
 
 
     // UNAVAILABLE -> VALIDATED
     // UNAVAILABLE -> VALIDATED
     doReturn(ValidateVolumeCapabilitiesResponse.newInstance(true, ""))
     doReturn(ValidateVolumeCapabilitiesResponse.newInstance(true, ""))
@@ -162,30 +163,29 @@ public class TestVolumeLifecycle {
         .validateVolumeCapacity(any(ValidateVolumeCapabilitiesRequest.class));
         .validateVolumeCapacity(any(ValidateVolumeCapabilitiesRequest.class));
     volume.setClient(mockedClient);
     volume.setClient(mockedClient);
     volume.handle(new ValidateVolumeEvent(volume));
     volume.handle(new ValidateVolumeEvent(volume));
-    Assert.assertEquals(VolumeState.VALIDATED, volume.getVolumeState());
+    assertEquals(VolumeState.VALIDATED, volume.getVolumeState());
   }
   }
 
 
   @Test
   @Test
   public void testPublishUnavailableVolume() throws YarnException, IOException {
   public void testPublishUnavailableVolume() throws YarnException, IOException {
     VolumeImpl volume = (VolumeImpl) VolumeBuilder
     VolumeImpl volume = (VolumeImpl) VolumeBuilder
         .newBuilder().volumeId("test_vol_00000001").build();
         .newBuilder().volumeId("test_vol_00000001").build();
-    CsiAdaptorProtocol mockedClient = Mockito
-        .mock(CsiAdaptorProtocol.class);
+    CsiAdaptorProtocol mockedClient = mock(CsiAdaptorProtocol.class);
     volume.setClient(mockedClient);
     volume.setClient(mockedClient);
 
 
     // NEW -> UNAVAILABLE (on validateVolume)
     // NEW -> UNAVAILABLE (on validateVolume)
     doThrow(new VolumeException("failed"))
     doThrow(new VolumeException("failed"))
         .when(mockedClient)
         .when(mockedClient)
         .validateVolumeCapacity(any(ValidateVolumeCapabilitiesRequest.class));
         .validateVolumeCapacity(any(ValidateVolumeCapabilitiesRequest.class));
-    Assert.assertEquals(VolumeState.NEW, volume.getVolumeState());
+    assertEquals(VolumeState.NEW, volume.getVolumeState());
     volume.handle(new ValidateVolumeEvent(volume));
     volume.handle(new ValidateVolumeEvent(volume));
-    Assert.assertEquals(VolumeState.UNAVAILABLE, volume.getVolumeState());
+    assertEquals(VolumeState.UNAVAILABLE, volume.getVolumeState());
 
 
     // UNAVAILABLE -> UNAVAILABLE (on publishVolume)
     // UNAVAILABLE -> UNAVAILABLE (on publishVolume)
     volume.handle(new ControllerPublishVolumeEvent(volume));
     volume.handle(new ControllerPublishVolumeEvent(volume));
     // controller publish is not called since the state is UNAVAILABLE
     // controller publish is not called since the state is UNAVAILABLE
     // verify(mockedClient, times(0)).controllerPublishVolume();
     // verify(mockedClient, times(0)).controllerPublishVolume();
     // state remains to UNAVAILABLE
     // state remains to UNAVAILABLE
-    Assert.assertEquals(VolumeState.UNAVAILABLE, volume.getVolumeState());
+    assertEquals(VolumeState.UNAVAILABLE, volume.getVolumeState());
   }
   }
 }
 }

+ 80 - 67
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/volume/csi/TestVolumeMetaData.java

@@ -25,11 +25,18 @@ import org.apache.hadoop.yarn.server.volume.csi.VolumeCapabilityRange;
 import org.apache.hadoop.yarn.server.volume.csi.VolumeMetaData;
 import org.apache.hadoop.yarn.server.volume.csi.VolumeMetaData;
 import org.apache.hadoop.yarn.server.volume.csi.exception.InvalidVolumeException;
 import org.apache.hadoop.yarn.server.volume.csi.exception.InvalidVolumeException;
 import org.apache.hadoop.yarn.server.volume.csi.VolumeId;
 import org.apache.hadoop.yarn.server.volume.csi.VolumeId;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 import java.util.HashMap;
 import java.util.HashMap;
 
 
+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.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 /**
 /**
  * Test cases for volume specification definition and parsing.
  * Test cases for volume specification definition and parsing.
  */
  */
@@ -51,26 +58,26 @@ public class TestVolumeMetaData {
         .mountPoint("/mnt/data")
         .mountPoint("/mnt/data")
         .build();
         .build();
 
 
-    Assert.assertEquals(new VolumeId("id-000001"), meta.getVolumeId());
-    Assert.assertEquals(1L, meta.getVolumeCapabilityRange().getMinCapacity());
-    Assert.assertEquals(5L, meta.getVolumeCapabilityRange().getMaxCapacity());
-    Assert.assertEquals("Gi", meta.getVolumeCapabilityRange().getUnit());
-    Assert.assertEquals("csi-demo-driver", meta.getDriverName());
-    Assert.assertEquals("/mnt/data", meta.getMountPoint());
-    Assert.assertNull(meta.getVolumeName());
-    Assert.assertTrue(meta.isProvisionedVolume());
+    assertEquals(new VolumeId("id-000001"), meta.getVolumeId());
+    assertEquals(1L, meta.getVolumeCapabilityRange().getMinCapacity());
+    assertEquals(5L, meta.getVolumeCapabilityRange().getMaxCapacity());
+    assertEquals("Gi", meta.getVolumeCapabilityRange().getUnit());
+    assertEquals("csi-demo-driver", meta.getDriverName());
+    assertEquals("/mnt/data", meta.getMountPoint());
+    assertNull(meta.getVolumeName());
+    assertTrue(meta.isProvisionedVolume());
 
 
     // Test toString
     // Test toString
     JsonParser parser = new JsonParser();
     JsonParser parser = new JsonParser();
     JsonElement element = parser.parse(meta.toString());
     JsonElement element = parser.parse(meta.toString());
     JsonObject json = element.getAsJsonObject();
     JsonObject json = element.getAsJsonObject();
-    Assert.assertNotNull(json);
-    Assert.assertNull(json.get(CsiConstants.CSI_VOLUME_NAME));
-    Assert.assertEquals("id-000001",
+    assertNotNull(json);
+    assertNull(json.get(CsiConstants.CSI_VOLUME_NAME));
+    assertEquals("id-000001",
         json.get(CsiConstants.CSI_VOLUME_ID).getAsString());
         json.get(CsiConstants.CSI_VOLUME_ID).getAsString());
-    Assert.assertEquals("csi-demo-driver",
+    assertEquals("csi-demo-driver",
         json.get(CsiConstants.CSI_DRIVER_NAME).getAsString());
         json.get(CsiConstants.CSI_DRIVER_NAME).getAsString());
-    Assert.assertEquals("/mnt/data",
+    assertEquals("/mnt/data",
         json.get(CsiConstants.CSI_VOLUME_MOUNT).getAsString());
         json.get(CsiConstants.CSI_VOLUME_MOUNT).getAsString());
 
 
   }
   }
@@ -90,68 +97,74 @@ public class TestVolumeMetaData {
         .driverName("csi-demo-driver")
         .driverName("csi-demo-driver")
         .mountPoint("/mnt/data")
         .mountPoint("/mnt/data")
         .build();
         .build();
-    Assert.assertNotNull(meta);
+    assertNotNull(meta);
 
 
-    Assert.assertEquals("volume-name", meta.getVolumeName());
-    Assert.assertEquals(1L, meta.getVolumeCapabilityRange().getMinCapacity());
-    Assert.assertEquals(5L, meta.getVolumeCapabilityRange().getMaxCapacity());
-    Assert.assertEquals("Gi", meta.getVolumeCapabilityRange().getUnit());
-    Assert.assertEquals("csi-demo-driver", meta.getDriverName());
-    Assert.assertEquals("/mnt/data", meta.getMountPoint());
-    Assert.assertFalse(meta.isProvisionedVolume());
+    assertEquals("volume-name", meta.getVolumeName());
+    assertEquals(1L, meta.getVolumeCapabilityRange().getMinCapacity());
+    assertEquals(5L, meta.getVolumeCapabilityRange().getMaxCapacity());
+    assertEquals("Gi", meta.getVolumeCapabilityRange().getUnit());
+    assertEquals("csi-demo-driver", meta.getDriverName());
+    assertEquals("/mnt/data", meta.getMountPoint());
+    assertFalse(meta.isProvisionedVolume());
 
 
     // Test toString
     // Test toString
     JsonParser parser = new JsonParser();
     JsonParser parser = new JsonParser();
     JsonElement element = parser.parse(meta.toString());
     JsonElement element = parser.parse(meta.toString());
     JsonObject json = element.getAsJsonObject();
     JsonObject json = element.getAsJsonObject();
-    Assert.assertNotNull(json);
-    Assert.assertNull(json.get(CsiConstants.CSI_VOLUME_ID));
-    Assert.assertEquals("volume-name",
+    assertNotNull(json);
+    assertNull(json.get(CsiConstants.CSI_VOLUME_ID));
+    assertEquals("volume-name",
         json.get(CsiConstants.CSI_VOLUME_NAME).getAsString());
         json.get(CsiConstants.CSI_VOLUME_NAME).getAsString());
-    Assert.assertEquals("csi-demo-driver",
+    assertEquals("csi-demo-driver",
         json.get(CsiConstants.CSI_DRIVER_NAME).getAsString());
         json.get(CsiConstants.CSI_DRIVER_NAME).getAsString());
-    Assert.assertEquals("/mnt/data",
+    assertEquals("/mnt/data",
         json.get(CsiConstants.CSI_VOLUME_MOUNT).getAsString());
         json.get(CsiConstants.CSI_VOLUME_MOUNT).getAsString());
   }
   }
 
 
-  @Test(expected = InvalidVolumeException.class)
+  @Test
   public void testMissingMountpoint() throws InvalidVolumeException {
   public void testMissingMountpoint() throws InvalidVolumeException {
-    VolumeCapabilityRange cap = VolumeCapabilityRange.newBuilder()
-        .minCapacity(1L)
-        .maxCapacity(5L)
-        .unit("Gi")
-        .build();
-
-    VolumeMetaData.newBuilder()
-        .volumeId(new VolumeId("id-000001"))
-        .capability(cap)
-        .driverName("csi-demo-driver")
-        .build();
+    assertThrows(InvalidVolumeException.class, ()->{
+      VolumeCapabilityRange cap = VolumeCapabilityRange.newBuilder()
+              .minCapacity(1L)
+              .maxCapacity(5L)
+              .unit("Gi")
+              .build();
+
+      VolumeMetaData.newBuilder()
+              .volumeId(new VolumeId("id-000001"))
+              .capability(cap)
+              .driverName("csi-demo-driver")
+              .build();
+    });
   }
   }
 
 
 
 
-  @Test(expected = InvalidVolumeException.class)
+  @Test
   public void testMissingCsiDriverName() throws InvalidVolumeException {
   public void testMissingCsiDriverName() throws InvalidVolumeException {
-    VolumeCapabilityRange cap = VolumeCapabilityRange.newBuilder()
-        .minCapacity(1L)
-        .maxCapacity(5L)
-        .unit("Gi")
-        .build();
-
-    VolumeMetaData.newBuilder()
-        .volumeId(new VolumeId("id-000001"))
-        .capability(cap)
-        .mountPoint("/mnt/data")
-        .build();
+    assertThrows(InvalidVolumeException.class, ()->{
+      VolumeCapabilityRange cap = VolumeCapabilityRange.newBuilder()
+              .minCapacity(1L)
+              .maxCapacity(5L)
+              .unit("Gi")
+              .build();
+
+      VolumeMetaData.newBuilder()
+              .volumeId(new VolumeId("id-000001"))
+              .capability(cap)
+              .mountPoint("/mnt/data")
+              .build();
+    });
   }
   }
 
 
-  @Test(expected = InvalidVolumeException.class)
+  @Test
   public void testMissingVolumeCapability() throws InvalidVolumeException {
   public void testMissingVolumeCapability() throws InvalidVolumeException {
-    VolumeMetaData.newBuilder()
-        .volumeId(new VolumeId("id-000001"))
-        .driverName("csi-demo-driver")
-        .mountPoint("/mnt/data")
-        .build();
+    assertThrows(InvalidVolumeException.class, ()->{
+      VolumeMetaData.newBuilder()
+              .volumeId(new VolumeId("id-000001"))
+              .driverName("csi-demo-driver")
+              .mountPoint("/mnt/data")
+              .build();
+    });
   }
   }
 
 
   @Test
   @Test
@@ -160,19 +173,19 @@ public class TestVolumeMetaData {
     VolumeId id11 = new VolumeId("test00001");
     VolumeId id11 = new VolumeId("test00001");
     VolumeId id2 = new VolumeId("test00002");
     VolumeId id2 = new VolumeId("test00002");
 
 
-    Assert.assertEquals(id1, id11);
-    Assert.assertEquals(id1.hashCode(), id11.hashCode());
-    Assert.assertNotEquals(id1, id2);
+    assertEquals(id1, id11);
+    assertEquals(id1.hashCode(), id11.hashCode());
+    assertNotEquals(id1, id2);
 
 
     HashMap<VolumeId, String> map = new HashMap<>();
     HashMap<VolumeId, String> map = new HashMap<>();
     map.put(id1, "1");
     map.put(id1, "1");
-    Assert.assertEquals(1, map.size());
-    Assert.assertEquals("1", map.get(id11));
+    assertEquals(1, map.size());
+    assertEquals("1", map.get(id11));
     map.put(id11, "2");
     map.put(id11, "2");
-    Assert.assertEquals(1, map.size());
-    Assert.assertEquals("2", map.get(id11));
-    Assert.assertEquals("2", map.get(new VolumeId("test00001")));
+    assertEquals(1, map.size());
+    assertEquals("2", map.get(id11));
+    assertEquals("2", map.get(new VolumeId("test00001")));
 
 
-    Assert.assertNotEquals(id1, id2);
+    assertNotEquals(id1, id2);
   }
   }
 }
 }

+ 32 - 25
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/volume/csi/TestVolumeProcessor.java

@@ -17,6 +17,12 @@
  */
  */
 package org.apache.hadoop.yarn.server.resourcemanager.volume.csi;
 package org.apache.hadoop.yarn.server.resourcemanager.volume.csi;
 
 
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+
 import org.apache.hadoop.thirdparty.com.google.common.collect.ImmutableList;
 import org.apache.hadoop.thirdparty.com.google.common.collect.ImmutableList;
 import org.apache.hadoop.thirdparty.com.google.common.collect.ImmutableMap;
 import org.apache.hadoop.thirdparty.com.google.common.collect.ImmutableMap;
 import org.apache.hadoop.thirdparty.com.google.common.collect.ImmutableSet;
 import org.apache.hadoop.thirdparty.com.google.common.collect.ImmutableSet;
@@ -53,11 +59,10 @@ import org.apache.hadoop.yarn.server.volume.csi.VolumeId;
 import org.apache.hadoop.yarn.server.volume.csi.exception.InvalidVolumeException;
 import org.apache.hadoop.yarn.server.volume.csi.exception.InvalidVolumeException;
 import org.apache.hadoop.yarn.server.volume.csi.exception.VolumeException;
 import org.apache.hadoop.yarn.server.volume.csi.exception.VolumeException;
 import org.apache.hadoop.yarn.server.volume.csi.exception.VolumeProvisioningException;
 import org.apache.hadoop.yarn.server.volume.csi.exception.VolumeProvisioningException;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
+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 java.io.File;
 import java.io.File;
 import java.io.FileWriter;
 import java.io.FileWriter;
@@ -67,9 +72,10 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.List;
 
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.mock;
 
 
 /**
 /**
  * Test cases for volume processor.
  * Test cases for volume processor.
@@ -90,7 +96,7 @@ public class TestVolumeProcessor {
 
 
   private static final String VOLUME_RESOURCE_NAME = "yarn.io/csi-volume";
   private static final String VOLUME_RESOURCE_NAME = "yarn.io/csi-volume";
 
 
-  @Before
+  @BeforeEach
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     conf = new YarnConfiguration();
     conf = new YarnConfiguration();
     resourceTypesFile = new File(conf.getClassLoader()
     resourceTypesFile = new File(conf.getClassLoader()
@@ -126,7 +132,7 @@ public class TestVolumeProcessor {
     }
     }
   }
   }
 
 
-  @After
+  @AfterEach
   public void tearDown() {
   public void tearDown() {
     if (resourceTypesFile != null && resourceTypesFile.exists()) {
     if (resourceTypesFile != null && resourceTypesFile.exists()) {
       resourceTypesFile.delete();
       resourceTypesFile.delete();
@@ -146,7 +152,8 @@ public class TestVolumeProcessor {
     }
     }
   }
   }
 
 
-  @Test (timeout = 10000L)
+  @Test
+  @Timeout(10)
   public void testVolumeProvisioning() throws Exception {
   public void testVolumeProvisioning() throws Exception {
     MockRMAppSubmissionData data =
     MockRMAppSubmissionData data =
         MockRMAppSubmissionData.Builder.createWithMemory(1 * GB, rm)
         MockRMAppSubmissionData.Builder.createWithMemory(1 * GB, rm)
@@ -179,8 +186,7 @@ public class TestVolumeProcessor {
         .build();
         .build();
 
 
     // inject adaptor client for testing
     // inject adaptor client for testing
-    CsiAdaptorProtocol mockedClient = Mockito
-        .mock(CsiAdaptorProtocol.class);
+    CsiAdaptorProtocol mockedClient = mock(CsiAdaptorProtocol.class);
     rm.getRMContext().getVolumeManager()
     rm.getRMContext().getVolumeManager()
         .registerCsiDriverAdaptor("hostpath", mockedClient);
         .registerCsiDriverAdaptor("hostpath", mockedClient);
 
 
@@ -192,7 +198,7 @@ public class TestVolumeProcessor {
     am1.allocate(ar);
     am1.allocate(ar);
     VolumeStates volumeStates =
     VolumeStates volumeStates =
         rm.getRMContext().getVolumeManager().getVolumeStates();
         rm.getRMContext().getVolumeManager().getVolumeStates();
-    Assert.assertNotNull(volumeStates);
+    assertNotNull(volumeStates);
     VolumeState volumeState = VolumeState.NEW;
     VolumeState volumeState = VolumeState.NEW;
     while (volumeState != VolumeState.NODE_READY) {
     while (volumeState != VolumeState.NODE_READY) {
       Volume volume = volumeStates
       Volume volume = volumeStates
@@ -207,7 +213,8 @@ public class TestVolumeProcessor {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test (timeout = 30000L)
+  @Test
+  @Timeout(30)
   public void testInvalidRequest() throws Exception {
   public void testInvalidRequest() throws Exception {
     MockRMAppSubmissionData data =
     MockRMAppSubmissionData data =
         MockRMAppSubmissionData.Builder.createWithMemory(1 * GB, rm)
         MockRMAppSubmissionData.Builder.createWithMemory(1 * GB, rm)
@@ -242,14 +249,15 @@ public class TestVolumeProcessor {
 
 
     try {
     try {
       am1.allocate(ar);
       am1.allocate(ar);
-      Assert.fail("allocate should fail because invalid request received");
+      fail("allocate should fail because invalid request received");
     } catch (Exception e) {
     } catch (Exception e) {
-      Assert.assertTrue(e instanceof InvalidVolumeException);
+      assertTrue(e instanceof InvalidVolumeException);
     }
     }
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test (timeout = 30000L)
+  @Test
+  @Timeout(30)
   public void testProvisioningFailures() throws Exception {
   public void testProvisioningFailures() throws Exception {
     MockRMAppSubmissionData data =
     MockRMAppSubmissionData data =
         MockRMAppSubmissionData.Builder.createWithMemory(1 * GB, rm)
         MockRMAppSubmissionData.Builder.createWithMemory(1 * GB, rm)
@@ -262,8 +270,7 @@ public class TestVolumeProcessor {
     RMApp app1 = MockRMAppSubmitter.submit(rm, data);
     RMApp app1 = MockRMAppSubmitter.submit(rm, data);
     MockAM am1 = MockRM.launchAndRegisterAM(app1, rm, mockNMS[0]);
     MockAM am1 = MockRM.launchAndRegisterAM(app1, rm, mockNMS[0]);
 
 
-    CsiAdaptorProtocol mockedClient = Mockito
-        .mock(CsiAdaptorProtocol.class);
+    CsiAdaptorProtocol mockedClient = mock(CsiAdaptorProtocol.class);
     // inject adaptor client
     // inject adaptor client
     rm.getRMContext().getVolumeManager()
     rm.getRMContext().getVolumeManager()
         .registerCsiDriverAdaptor("hostpath", mockedClient);
         .registerCsiDriverAdaptor("hostpath", mockedClient);
@@ -293,14 +300,15 @@ public class TestVolumeProcessor {
 
 
     try {
     try {
       am1.allocate(ar);
       am1.allocate(ar);
-      Assert.fail("allocate should fail");
+      fail("allocate should fail");
     } catch (Exception e) {
     } catch (Exception e) {
-      Assert.assertTrue(e instanceof VolumeProvisioningException);
+      assertTrue(e instanceof VolumeProvisioningException);
     }
     }
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test (timeout = 10000L)
+  @Test
+  @Timeout(10)
   public void testVolumeResourceAllocate() throws Exception {
   public void testVolumeResourceAllocate() throws Exception {
     RMApp app1 = MockRMAppSubmitter.submit(rm,
     RMApp app1 = MockRMAppSubmitter.submit(rm,
         MockRMAppSubmissionData.Builder.createWithMemory(1 * GB, rm)
         MockRMAppSubmissionData.Builder.createWithMemory(1 * GB, rm)
@@ -328,8 +336,7 @@ public class TestVolumeProcessor {
         .build();
         .build();
 
 
     // inject adaptor client for testing
     // inject adaptor client for testing
-    CsiAdaptorProtocol mockedClient = Mockito
-        .mock(CsiAdaptorProtocol.class);
+    CsiAdaptorProtocol mockedClient = mock(CsiAdaptorProtocol.class);
     rm.getRMContext().getVolumeManager()
     rm.getRMContext().getVolumeManager()
         .registerCsiDriverAdaptor("hostpath", mockedClient);
         .registerCsiDriverAdaptor("hostpath", mockedClient);
 
 
@@ -347,13 +354,13 @@ public class TestVolumeProcessor {
       Thread.sleep(500);
       Thread.sleep(500);
     }
     }
 
 
-    Assert.assertEquals(1, allocated.size());
+    assertEquals(1, allocated.size());
     Container alloc = allocated.get(0);
     Container alloc = allocated.get(0);
     assertThat(alloc.getResource().getMemorySize()).isEqualTo(1024);
     assertThat(alloc.getResource().getMemorySize()).isEqualTo(1024);
     assertThat(alloc.getResource().getVirtualCores()).isEqualTo(1);
     assertThat(alloc.getResource().getVirtualCores()).isEqualTo(1);
     ResourceInformation allocatedVolume =
     ResourceInformation allocatedVolume =
         alloc.getResource().getResourceInformation(VOLUME_RESOURCE_NAME);
         alloc.getResource().getResourceInformation(VOLUME_RESOURCE_NAME);
-    Assert.assertNotNull(allocatedVolume);
+    assertNotNull(allocatedVolume);
     assertThat(allocatedVolume.getValue()).isEqualTo(1024);
     assertThat(allocatedVolume.getValue()).isEqualTo(1024);
     assertThat(allocatedVolume.getUnits()).isEqualTo("Mi");
     assertThat(allocatedVolume.getUnits()).isEqualTo("Mi");
     rm.stop();
     rm.stop();

+ 16 - 17
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/ActivitiesTestUtils.java

@@ -47,7 +47,7 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 
 /**
 /**
  * Some Utils for activities tests.
  * Some Utils for activities tests.
@@ -148,11 +148,11 @@ public final class ActivitiesTestUtils {
   public static void verifyNumberOfNodes(JSONObject allocation, int expectValue)
   public static void verifyNumberOfNodes(JSONObject allocation, int expectValue)
       throws Exception {
       throws Exception {
     if (allocation.isNull(FN_SCHEDULER_ACT_ALLOCATIONS_ROOT)) {
     if (allocation.isNull(FN_SCHEDULER_ACT_ALLOCATIONS_ROOT)) {
-      assertEquals("State of allocation is wrong", expectValue, 0);
+      assertEquals(expectValue, 0, "State of allocation is wrong");
     } else {
     } else {
-      assertEquals("State of allocation is wrong", expectValue,
-          1 + getNumberOfNodes(
-              allocation.getJSONObject(FN_SCHEDULER_ACT_ALLOCATIONS_ROOT)));
+      assertEquals(expectValue, 1 + getNumberOfNodes(
+          allocation.getJSONObject(FN_SCHEDULER_ACT_ALLOCATIONS_ROOT)),
+          "State of allocation is wrong");
     }
     }
   }
   }
 
 
@@ -176,8 +176,7 @@ public final class ActivitiesTestUtils {
 
 
   public static void verifyStateOfAllocations(JSONObject allocation,
   public static void verifyStateOfAllocations(JSONObject allocation,
       String nameToCheck, String expectState) throws Exception {
       String nameToCheck, String expectState) throws Exception {
-    assertEquals("State of allocation is wrong", expectState,
-        allocation.get(nameToCheck));
+    assertEquals(expectState, allocation.get(nameToCheck), "State of allocation is wrong");
   }
   }
 
 
   public static void verifyNumberOfAllocations(JSONObject json, int expectValue)
   public static void verifyNumberOfAllocations(JSONObject json, int expectValue)
@@ -191,14 +190,14 @@ public final class ActivitiesTestUtils {
       throw new IllegalArgumentException("Can't parse allocations!");
       throw new IllegalArgumentException("Can't parse allocations!");
     }
     }
     if (activitiesJson.isNull(FN_ACT_ALLOCATIONS)) {
     if (activitiesJson.isNull(FN_ACT_ALLOCATIONS)) {
-      assertEquals("Number of allocations is wrong", expectValue, 0);
+      assertEquals(expectValue, 0, "Number of allocations is wrong");
     } else {
     } else {
       Object object = activitiesJson.get(FN_ACT_ALLOCATIONS);
       Object object = activitiesJson.get(FN_ACT_ALLOCATIONS);
       if (object.getClass() == JSONObject.class) {
       if (object.getClass() == JSONObject.class) {
-        assertEquals("Number of allocations is wrong", expectValue, 1);
+        assertEquals(expectValue, 1, "Number of allocations is wrong");
       } else if (object.getClass() == JSONArray.class) {
       } else if (object.getClass() == JSONArray.class) {
-        assertEquals("Number of allocations is wrong in: " + object,
-            expectValue, ((JSONArray) object).length());
+        assertEquals(expectValue, ((JSONArray) object).length(),
+            "Number of allocations is wrong in: " + object);
       }
       }
     }
     }
   }
   }
@@ -210,8 +209,8 @@ public final class ActivitiesTestUtils {
       JSONObject root = json.getJSONObject(FN_SCHEDULER_ACT_ALLOCATIONS_ROOT);
       JSONObject root = json.getJSONObject(FN_SCHEDULER_ACT_ALLOCATIONS_ROOT);
       order = root.getString(FN_SCHEDULER_ACT_NAME) + "-" + getQueueOrder(root);
       order = root.getString(FN_SCHEDULER_ACT_NAME) + "-" + getQueueOrder(root);
     }
     }
-    assertEquals("Order of queue is wrong", expectOrder,
-        order.substring(0, order.length() - 1));
+    assertEquals(expectOrder, order.substring(0, order.length() - 1),
+        "Order of queue is wrong");
   }
   }
 
 
   public static String getQueueOrder(JSONObject node) throws Exception {
   public static String getQueueOrder(JSONObject node) throws Exception {
@@ -282,14 +281,14 @@ public final class ActivitiesTestUtils {
   public static void verifyNumberOfAllocationAttempts(JSONObject allocation,
   public static void verifyNumberOfAllocationAttempts(JSONObject allocation,
       int expectValue) throws Exception {
       int expectValue) throws Exception {
     if (allocation.isNull(FN_APP_ACT_CHILDREN)) {
     if (allocation.isNull(FN_APP_ACT_CHILDREN)) {
-      assertEquals("Number of allocation attempts is wrong", expectValue, 0);
+      assertEquals(expectValue, 0, "Number of allocation attempts is wrong");
     } else {
     } else {
       Object object = allocation.get(FN_APP_ACT_CHILDREN);
       Object object = allocation.get(FN_APP_ACT_CHILDREN);
       if (object.getClass() == JSONObject.class) {
       if (object.getClass() == JSONObject.class) {
-        assertEquals("Number of allocations attempts is wrong", expectValue, 1);
+        assertEquals(expectValue, 1, "Number of allocations attempts is wrong");
       } else if (object.getClass() == JSONArray.class) {
       } else if (object.getClass() == JSONArray.class) {
-        assertEquals("Number of allocations attempts is wrong", expectValue,
-            ((JSONArray) object).length());
+        assertEquals(expectValue, ((JSONArray) object).length(),
+            "Number of allocations attempts is wrong");
       }
       }
     }
     }
   }
   }

+ 1 - 1
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestAppPage.java

@@ -36,7 +36,7 @@ import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppState;
 import org.apache.hadoop.yarn.server.webapp.AppBlock;
 import org.apache.hadoop.yarn.server.webapp.AppBlock;
 import org.apache.hadoop.yarn.webapp.YarnWebParams;
 import org.apache.hadoop.yarn.webapp.YarnWebParams;
 import org.apache.hadoop.yarn.webapp.test.WebAppTests;
 import org.apache.hadoop.yarn.webapp.test.WebAppTests;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 import com.google.inject.Binder;
 import com.google.inject.Binder;
 import com.google.inject.Injector;
 import com.google.inject.Injector;

+ 108 - 78
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestApplicationsRequestBuilder.java

@@ -22,13 +22,14 @@ import org.apache.hadoop.yarn.api.records.YarnApplicationState;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
 import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler;
 import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler;
 import org.apache.hadoop.yarn.webapp.BadRequestException;
 import org.apache.hadoop.yarn.webapp.BadRequestException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 import java.io.IOException;
 import java.io.IOException;
 import java.util.Set;
 import java.util.Set;
 
 
 import static org.apache.hadoop.yarn.server.webapp.WebServices.parseQueries;
 import static org.apache.hadoop.yarn.server.webapp.WebServices.parseQueries;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
@@ -70,10 +71,12 @@ public class TestApplicationsRequestBuilder {
     assertEquals(expectedRequest, request);
     assertEquals(expectedRequest, request);
   }
   }
 
 
-  @Test(expected = BadRequestException.class)
+  @Test
   public void testRequestWithInvalidStateQuery() {
   public void testRequestWithInvalidStateQuery() {
-    GetApplicationsRequest request = ApplicationsRequestBuilder.create()
-        .withStateQuery("invalidState").build();
+    assertThrows(BadRequestException.class, () -> {
+      GetApplicationsRequest request = ApplicationsRequestBuilder.create()
+          .withStateQuery("invalidState").build();
+    });
   }
   }
 
 
   @Test
   @Test
@@ -100,14 +103,15 @@ public class TestApplicationsRequestBuilder {
     assertEquals(expectedRequest, request);
     assertEquals(expectedRequest, request);
   }
   }
 
 
-  @Test(expected = BadRequestException.class)
+  @Test
   public void testRequestWithInvalidStateQueries() {
   public void testRequestWithInvalidStateQueries() {
-    GetApplicationsRequest request = ApplicationsRequestBuilder.create()
-        .withStatesQuery(Sets.newHashSet("a1", "a2", "")).build();
+    assertThrows(BadRequestException.class, () -> {
+      GetApplicationsRequest request = ApplicationsRequestBuilder.create()
+          .withStatesQuery(Sets.newHashSet("a1", "a2", "")).build();
 
 
-    GetApplicationsRequest expectedRequest = getDefaultRequest();
-
-    assertEquals(expectedRequest, request);
+      GetApplicationsRequest expectedRequest = getDefaultRequest();
+      assertEquals(expectedRequest, request);
+    });
   }
   }
 
 
   @Test
   @Test
@@ -197,20 +201,22 @@ public class TestApplicationsRequestBuilder {
     assertEquals(expectedRequest, request);
     assertEquals(expectedRequest, request);
   }
   }
 
 
-  @Test(expected = BadRequestException.class)
+  @Test
   public void testRequestWithQueueQueryNotExistingQueue() throws IOException {
   public void testRequestWithQueueQueryNotExistingQueue() throws IOException {
-    CapacityScheduler cs = mock(CapacityScheduler.class);
-    when(cs.getQueueInfo(eq("queue1"), anyBoolean(), anyBoolean()))
-        .thenThrow(new IOException());
-    ResourceManager rm = mock(ResourceManager.class);
-    when(rm.getResourceScheduler()).thenReturn(cs);
+    assertThrows(BadRequestException.class, () -> {
+      CapacityScheduler cs = mock(CapacityScheduler.class);
+      when(cs.getQueueInfo(eq("queue1"), anyBoolean(), anyBoolean()))
+          .thenThrow(new IOException());
+      ResourceManager rm = mock(ResourceManager.class);
+      when(rm.getResourceScheduler()).thenReturn(cs);
 
 
-    GetApplicationsRequest request = ApplicationsRequestBuilder.create()
-        .withQueueQuery(rm, "queue1").build();
+      GetApplicationsRequest request = ApplicationsRequestBuilder.create()
+          .withQueueQuery(rm, "queue1").build();
 
 
-    GetApplicationsRequest expectedRequest = getDefaultRequest();
-    expectedRequest.setQueues(Sets.newHashSet("queue1"));
-    assertEquals(expectedRequest, request);
+      GetApplicationsRequest expectedRequest = getDefaultRequest();
+      expectedRequest.setQueues(Sets.newHashSet("queue1"));
+      assertEquals(expectedRequest, request);
+    });
   }
   }
 
 
   @Test
   @Test
@@ -231,22 +237,26 @@ public class TestApplicationsRequestBuilder {
     assertEquals(expectedRequest, request);
     assertEquals(expectedRequest, request);
   }
   }
 
 
-  @Test(expected = BadRequestException.class)
+  @Test
   public void testRequestWithInvalidLimitQuery() {
   public void testRequestWithInvalidLimitQuery() {
-    GetApplicationsRequest request =
-        ApplicationsRequestBuilder.create().withLimit("bla").build();
+    assertThrows(BadRequestException.class, () -> {
+      GetApplicationsRequest request =
+          ApplicationsRequestBuilder.create().withLimit("bla").build();
 
 
-    GetApplicationsRequest expectedRequest = getDefaultRequest();
-    assertEquals(expectedRequest, request);
+      GetApplicationsRequest expectedRequest = getDefaultRequest();
+      assertEquals(expectedRequest, request);
+    });
   }
   }
 
 
-  @Test(expected = BadRequestException.class)
+  @Test
   public void testRequestWithInvalidNegativeLimitQuery() {
   public void testRequestWithInvalidNegativeLimitQuery() {
-    GetApplicationsRequest request =
-        ApplicationsRequestBuilder.create().withLimit("-10").build();
+    assertThrows(BadRequestException.class, () -> {
+      GetApplicationsRequest request =
+          ApplicationsRequestBuilder.create().withLimit("-10").build();
 
 
-    GetApplicationsRequest expectedRequest = getDefaultRequest();
-    assertEquals(expectedRequest, request);
+      GetApplicationsRequest expectedRequest = getDefaultRequest();
+      assertEquals(expectedRequest, request);
+    });
   }
   }
 
 
   @Test
   @Test
@@ -277,22 +287,26 @@ public class TestApplicationsRequestBuilder {
     assertEquals(expectedRequest, request);
     assertEquals(expectedRequest, request);
   }
   }
 
 
-  @Test(expected = BadRequestException.class)
+  @Test
   public void testRequestWithInvalidStartedTimeBeginQuery() {
   public void testRequestWithInvalidStartedTimeBeginQuery() {
-    GetApplicationsRequest request = ApplicationsRequestBuilder.create()
-        .withStartedTimeBegin("bla").build();
+    assertThrows(BadRequestException.class, () -> {
+      GetApplicationsRequest request = ApplicationsRequestBuilder.create()
+          .withStartedTimeBegin("bla").build();
 
 
-    GetApplicationsRequest expectedRequest = getDefaultRequest();
-    assertEquals(expectedRequest, request);
+      GetApplicationsRequest expectedRequest = getDefaultRequest();
+      assertEquals(expectedRequest, request);
+    });
   }
   }
 
 
-  @Test(expected = BadRequestException.class)
+  @Test
   public void testRequestWithInvalidNegativeStartedTimeBeginQuery() {
   public void testRequestWithInvalidNegativeStartedTimeBeginQuery() {
-    GetApplicationsRequest request = ApplicationsRequestBuilder.create()
-        .withStartedTimeBegin("-1").build();
+    assertThrows(BadRequestException.class, () -> {
+      GetApplicationsRequest request = ApplicationsRequestBuilder.create()
+          .withStartedTimeBegin("-1").build();
 
 
-    GetApplicationsRequest expectedRequest = getDefaultRequest();
-    assertEquals(expectedRequest, request);
+      GetApplicationsRequest expectedRequest = getDefaultRequest();
+      assertEquals(expectedRequest, request);
+    });
   }
   }
 
 
   @Test
   @Test
@@ -323,22 +337,26 @@ public class TestApplicationsRequestBuilder {
     assertEquals(expectedRequest, request);
     assertEquals(expectedRequest, request);
   }
   }
 
 
-  @Test(expected = BadRequestException.class)
+  @Test
   public void testRequestWithInvalidStartedTimeEndQuery() {
   public void testRequestWithInvalidStartedTimeEndQuery() {
-    GetApplicationsRequest request = ApplicationsRequestBuilder.create()
-        .withStartedTimeEnd("bla").build();
+    assertThrows(BadRequestException.class, () -> {
+      GetApplicationsRequest request = ApplicationsRequestBuilder.create()
+          .withStartedTimeEnd("bla").build();
 
 
-    GetApplicationsRequest expectedRequest = getDefaultRequest();
-    assertEquals(expectedRequest, request);
+      GetApplicationsRequest expectedRequest = getDefaultRequest();
+      assertEquals(expectedRequest, request);
+    });
   }
   }
 
 
-  @Test(expected = BadRequestException.class)
+  @Test
   public void testRequestWithInvalidNegativeStartedTimeEndQuery() {
   public void testRequestWithInvalidNegativeStartedTimeEndQuery() {
-    GetApplicationsRequest request =
-        ApplicationsRequestBuilder.create().withStartedTimeEnd("-1").build();
+    assertThrows(BadRequestException.class, () -> {
+      GetApplicationsRequest request =
+          ApplicationsRequestBuilder.create().withStartedTimeEnd("-1").build();
 
 
-    GetApplicationsRequest expectedRequest = getDefaultRequest();
-    assertEquals(expectedRequest, request);
+      GetApplicationsRequest expectedRequest = getDefaultRequest();
+      assertEquals(expectedRequest, request);
+    });
   }
   }
 
 
   @Test
   @Test
@@ -369,22 +387,26 @@ public class TestApplicationsRequestBuilder {
     assertEquals(expectedRequest, request);
     assertEquals(expectedRequest, request);
   }
   }
 
 
-  @Test(expected = BadRequestException.class)
+  @Test
   public void testRequestWithInvalidFinishedTimeBeginQuery() {
   public void testRequestWithInvalidFinishedTimeBeginQuery() {
-    GetApplicationsRequest request = ApplicationsRequestBuilder.create()
-        .withFinishTimeBegin("bla").build();
+    assertThrows(BadRequestException.class, () -> {
+      GetApplicationsRequest request = ApplicationsRequestBuilder.create()
+          .withFinishTimeBegin("bla").build();
 
 
-    GetApplicationsRequest expectedRequest = getDefaultRequest();
-    assertEquals(expectedRequest, request);
+      GetApplicationsRequest expectedRequest = getDefaultRequest();
+      assertEquals(expectedRequest, request);
+    });
   }
   }
 
 
-  @Test(expected = BadRequestException.class)
+  @Test
   public void testRequestWithInvalidNegativeFinishedTimeBeginQuery() {
   public void testRequestWithInvalidNegativeFinishedTimeBeginQuery() {
-    GetApplicationsRequest request = ApplicationsRequestBuilder.create()
-        .withFinishTimeBegin("-1").build();
+    assertThrows(BadRequestException.class, () -> {
+      GetApplicationsRequest request = ApplicationsRequestBuilder.create()
+          .withFinishTimeBegin("-1").build();
 
 
-    GetApplicationsRequest expectedRequest = getDefaultRequest();
-    assertEquals(expectedRequest, request);
+      GetApplicationsRequest expectedRequest = getDefaultRequest();
+      assertEquals(expectedRequest, request);
+    });
   }
   }
 
 
   @Test
   @Test
@@ -415,22 +437,26 @@ public class TestApplicationsRequestBuilder {
     assertEquals(expectedRequest, request);
     assertEquals(expectedRequest, request);
   }
   }
 
 
-  @Test(expected = BadRequestException.class)
+  @Test
   public void testRequestWithInvalidFinishTimeEndQuery() {
   public void testRequestWithInvalidFinishTimeEndQuery() {
-    GetApplicationsRequest request =
-        ApplicationsRequestBuilder.create().withFinishTimeEnd("bla").build();
+    assertThrows(BadRequestException.class, () -> {
+      GetApplicationsRequest request =
+          ApplicationsRequestBuilder.create().withFinishTimeEnd("bla").build();
 
 
-    GetApplicationsRequest expectedRequest = getDefaultRequest();
-    assertEquals(expectedRequest, request);
+      GetApplicationsRequest expectedRequest = getDefaultRequest();
+      assertEquals(expectedRequest, request);
+    });
   }
   }
 
 
-  @Test(expected = BadRequestException.class)
+  @Test
   public void testRequestWithInvalidNegativeFinishedTimeEndQuery() {
   public void testRequestWithInvalidNegativeFinishedTimeEndQuery() {
-    GetApplicationsRequest request =
-        ApplicationsRequestBuilder.create().withFinishTimeEnd("-1").build();
+    assertThrows(BadRequestException.class, () -> {
+      GetApplicationsRequest request =
+          ApplicationsRequestBuilder.create().withFinishTimeEnd("-1").build();
 
 
-    GetApplicationsRequest expectedRequest = getDefaultRequest();
-    assertEquals(expectedRequest, request);
+      GetApplicationsRequest expectedRequest = getDefaultRequest();
+      assertEquals(expectedRequest, request);
+    });
   }
   }
 
 
   @Test
   @Test
@@ -453,10 +479,12 @@ public class TestApplicationsRequestBuilder {
     assertEquals(expectedRequest, request);
     assertEquals(expectedRequest, request);
   }
   }
 
 
-  @Test(expected = BadRequestException.class)
+  @Test
   public void testRequestWithInvalidStartTimeRangeQuery() {
   public void testRequestWithInvalidStartTimeRangeQuery() {
-    GetApplicationsRequest request = ApplicationsRequestBuilder.create()
-        .withStartedTimeBegin("2000").withStartedTimeEnd("1000").build();
+    assertThrows(BadRequestException.class, () -> {
+      GetApplicationsRequest request = ApplicationsRequestBuilder.create()
+          .withStartedTimeBegin("2000").withStartedTimeEnd("1000").build();
+    });
   }
   }
 
 
   @Test
   @Test
@@ -469,10 +497,12 @@ public class TestApplicationsRequestBuilder {
     assertEquals(expectedRequest, request);
     assertEquals(expectedRequest, request);
   }
   }
 
 
-  @Test(expected = BadRequestException.class)
+  @Test
   public void testRequestWithInvalidFinishTimeRangeQuery() {
   public void testRequestWithInvalidFinishTimeRangeQuery() {
-    GetApplicationsRequest request = ApplicationsRequestBuilder.create()
-        .withFinishTimeBegin("2000").withFinishTimeEnd("1000").build();
+    assertThrows(BadRequestException.class, () -> {
+      GetApplicationsRequest request = ApplicationsRequestBuilder.create()
+           .withFinishTimeBegin("2000").withFinishTimeEnd("1000").build();
+    });
   }
   }
 
 
   @Test
   @Test

+ 20 - 21
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestNodesPage.java

@@ -17,6 +17,9 @@
  */
  */
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 
 
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
 import java.io.IOException;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.PrintWriter;
 import java.util.Map;
 import java.util.Map;
@@ -29,9 +32,8 @@ import org.apache.hadoop.yarn.server.resourcemanager.webapp.NodesPage.NodesBlock
 import org.apache.hadoop.yarn.util.resource.CustomResourceTypesConfigurationProvider;
 import org.apache.hadoop.yarn.util.resource.CustomResourceTypesConfigurationProvider;
 import org.apache.hadoop.yarn.util.resource.ResourceUtils;
 import org.apache.hadoop.yarn.util.resource.ResourceUtils;
 import org.apache.hadoop.yarn.webapp.test.WebAppTests;
 import org.apache.hadoop.yarn.webapp.test.WebAppTests;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 
 import com.google.inject.Binder;
 import com.google.inject.Binder;
 import com.google.inject.Injector;
 import com.google.inject.Injector;
@@ -57,7 +59,7 @@ public class TestNodesPage {
 
 
   private Injector injector;
   private Injector injector;
   
   
-  @Before
+  @BeforeEach
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     setUpInternal(false);
     setUpInternal(false);
   }
   }
@@ -87,11 +89,8 @@ public class TestNodesPage {
     PrintWriter writer = injector.getInstance(PrintWriter.class);
     PrintWriter writer = injector.getInstance(PrintWriter.class);
     WebAppTests.flushOutput(injector);
     WebAppTests.flushOutput(injector);
 
 
-    Mockito.verify(writer,
-        Mockito.times(numberOfActualTableHeaders + numberOfThInMetricsTable))
-        .print("<th");
-    Mockito.verify(writer, Mockito.times(numberOfThInMetricsTable))
-        .print("<td");
+    verify(writer, times(numberOfActualTableHeaders + numberOfThInMetricsTable)).print("<th");
+    verify(writer, times(numberOfThInMetricsTable)).print("<td");
   }
   }
   
   
   @Test
   @Test
@@ -102,10 +101,10 @@ public class TestNodesPage {
     PrintWriter writer = injector.getInstance(PrintWriter.class);
     PrintWriter writer = injector.getInstance(PrintWriter.class);
     WebAppTests.flushOutput(injector);
     WebAppTests.flushOutput(injector);
 
 
-    Mockito.verify(writer,
-        Mockito.times(numberOfActualTableHeaders + numberOfThInMetricsTable))
+    verify(writer,
+        times(numberOfActualTableHeaders + numberOfThInMetricsTable))
         .print("<th");
         .print("<th");
-    Mockito.verify(writer, Mockito.times(numberOfThInMetricsTable))
+    verify(writer, times(numberOfThInMetricsTable))
         .print("<td");
         .print("<td");
   }
   }
 
 
@@ -138,11 +137,11 @@ public class TestNodesPage {
     PrintWriter writer = injector.getInstance(PrintWriter.class);
     PrintWriter writer = injector.getInstance(PrintWriter.class);
     WebAppTests.flushOutput(injector);
     WebAppTests.flushOutput(injector);
 
 
-    Mockito.verify(writer,
-        Mockito.times(numberOfActualTableHeaders
+    verify(writer,
+        times(numberOfActualTableHeaders
             + numberOfThInMetricsTable + 2))
             + numberOfThInMetricsTable + 2))
         .print("<th");
         .print("<th");
-    Mockito.verify(writer, Mockito.times(numberOfThInMetricsTable))
+    verify(writer, times(numberOfThInMetricsTable))
         .print("<td");
         .print("<td");
   }
   }
 
 
@@ -153,9 +152,9 @@ public class TestNodesPage {
     nodesBlock.render();
     nodesBlock.render();
     PrintWriter writer = injector.getInstance(PrintWriter.class);
     PrintWriter writer = injector.getInstance(PrintWriter.class);
     WebAppTests.flushOutput(injector);
     WebAppTests.flushOutput(injector);
-    Mockito.verify(writer, Mockito.times(numberOfThInMetricsTable))
+    verify(writer, times(numberOfThInMetricsTable))
         .print("<td");
         .print("<td");
-    Mockito.verify(writer, Mockito.times(1)).print("<script");
+    verify(writer, times(1)).print("<script");
   }
   }
   
   
   @Test
   @Test
@@ -166,7 +165,7 @@ public class TestNodesPage {
     PrintWriter writer = injector.getInstance(PrintWriter.class);
     PrintWriter writer = injector.getInstance(PrintWriter.class);
     WebAppTests.flushOutput(injector);
     WebAppTests.flushOutput(injector);
 
 
-    Mockito.verify(writer, Mockito.times(numberOfThInMetricsTable))
+    verify(writer, times(numberOfThInMetricsTable))
         .print("<td");
         .print("<td");
   }
   }
   
   
@@ -178,7 +177,7 @@ public class TestNodesPage {
     PrintWriter writer = injector.getInstance(PrintWriter.class);
     PrintWriter writer = injector.getInstance(PrintWriter.class);
     WebAppTests.flushOutput(injector);
     WebAppTests.flushOutput(injector);
 
 
-    Mockito.verify(writer, Mockito.times(numberOfThInMetricsTable))
+    verify(writer, times(numberOfThInMetricsTable))
         .print("<td");
         .print("<td");
   }
   }
 
 
@@ -206,10 +205,10 @@ public class TestNodesPage {
     PrintWriter writer = injector.getInstance(PrintWriter.class);
     PrintWriter writer = injector.getInstance(PrintWriter.class);
     WebAppTests.flushOutput(injector);
     WebAppTests.flushOutput(injector);
 
 
-    Mockito.verify(writer, Mockito.times(
+    verify(writer, times(
         numberOfActualTableHeaders + numberOfThInMetricsTable +
         numberOfActualTableHeaders + numberOfThInMetricsTable +
             numberOfThForOpportunisticContainers)).print("<th");
             numberOfThForOpportunisticContainers)).print("<th");
-    Mockito.verify(writer, Mockito.times(numberOfThInMetricsTable))
+    verify(writer, times(numberOfThInMetricsTable))
         .print("<td");
         .print("<td");
   }
   }
 }
 }

+ 12 - 12
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebApp.java

@@ -20,8 +20,9 @@ package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 
 
 import static org.apache.hadoop.yarn.server.resourcemanager.MockNodes.newResource;
 import static org.apache.hadoop.yarn.server.resourcemanager.MockNodes.newResource;
 import static org.apache.hadoop.yarn.webapp.Params.TITLE;
 import static org.apache.hadoop.yarn.webapp.Params.TITLE;
-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 static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
@@ -70,8 +71,7 @@ import org.apache.hadoop.yarn.util.StringHelper;
 import org.apache.hadoop.yarn.webapp.WebApps;
 import org.apache.hadoop.yarn.webapp.WebApps;
 import org.apache.hadoop.yarn.webapp.YarnWebParams;
 import org.apache.hadoop.yarn.webapp.YarnWebParams;
 import org.apache.hadoop.yarn.webapp.test.WebAppTests;
 import org.apache.hadoop.yarn.webapp.test.WebAppTests;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 import org.apache.hadoop.thirdparty.com.google.common.collect.Maps;
 import org.apache.hadoop.thirdparty.com.google.common.collect.Maps;
 import com.google.inject.Binder;
 import com.google.inject.Binder;
@@ -126,7 +126,7 @@ public class TestRMWebApp {
     Map<String, String> moreParams =
     Map<String, String> moreParams =
         rmViewInstance.context().requestContext().moreParams();
         rmViewInstance.context().requestContext().moreParams();
     String appsTableColumnsMeta = moreParams.get("ui.dataTables.apps.init");
     String appsTableColumnsMeta = moreParams.get("ui.dataTables.apps.init");
-    Assert.assertTrue(appsTableColumnsMeta.indexOf("natural") != -1);
+    assertTrue(appsTableColumnsMeta.indexOf("natural") != -1);
   }
   }
 
 
   @Test
   @Test
@@ -184,14 +184,14 @@ public class TestRMWebApp {
     String tableInit = WebPageUtils.appsTableInit(true);
     String tableInit = WebPageUtils.appsTableInit(true);
     for (String tableLine : tableInit.split("\\n")) {
     for (String tableLine : tableInit.split("\\n")) {
       if (tableLine.contains("parseHadoopID")) {
       if (tableLine.contains("parseHadoopID")) {
-        assertTrue(tableLine + " should have id " + colsId,
-            tableLine.contains(colsId.toString()));
+        assertTrue(tableLine.contains(colsId.toString()),
+            tableLine + " should have id " + colsId);
       } else if (tableLine.contains("renderHadoopDate")) {
       } else if (tableLine.contains("renderHadoopDate")) {
-        assertTrue(tableLine + " should have dates " + colsTime,
-            tableLine.contains(colsTime.toString()));
+        assertTrue(tableLine.contains(colsTime.toString()),
+            tableLine + " should have dates " + colsTime);
       } else if (tableLine.contains("parseHadoopProgress")) {
       } else if (tableLine.contains("parseHadoopProgress")) {
-        assertTrue(tableLine + " should have progress " + colsProgress,
-            tableLine.contains(colsProgress.toString()));
+        assertTrue(tableLine.contains(colsProgress.toString()),
+            tableLine + " should have progress " + colsProgress);
       }
       }
     }
     }
   }
   }
@@ -316,7 +316,7 @@ public class TestRMWebApp {
       when(clientRMService.getApplications(any(GetApplicationsRequest.class)))
       when(clientRMService.getApplications(any(GetApplicationsRequest.class)))
           .thenReturn(response);
           .thenReturn(response);
     } catch (YarnException e) {
     } catch (YarnException e) {
-      Assert.fail("Exception is not expected.");
+      fail("Exception is not expected.");
     }
     }
     return clientRMService;
     return clientRMService;
   }
   }

+ 3 - 3
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebAppFairScheduler.java

@@ -44,8 +44,7 @@ import org.apache.hadoop.yarn.server.resourcemanager.security.ClientToAMTokenSec
 import org.apache.hadoop.yarn.server.resourcemanager.security.NMTokenSecretManagerInRM;
 import org.apache.hadoop.yarn.server.resourcemanager.security.NMTokenSecretManagerInRM;
 import org.apache.hadoop.yarn.server.resourcemanager.security.RMContainerTokenSecretManager;
 import org.apache.hadoop.yarn.server.resourcemanager.security.RMContainerTokenSecretManager;
 import org.apache.hadoop.yarn.webapp.test.WebAppTests;
 import org.apache.hadoop.yarn.webapp.test.WebAppTests;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 import java.io.IOException;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Arrays;
@@ -53,6 +52,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.ConcurrentMap;
 
 
+import static org.junit.jupiter.api.Assertions.fail;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
@@ -111,7 +111,7 @@ public class TestRMWebAppFairScheduler {
     try {
     try {
       fsViewInstance.render();
       fsViewInstance.render();
     } catch (Exception e) {
     } catch (Exception e) {
-      Assert.fail("Failed to render FairSchedulerPage: " +
+      fail("Failed to render FairSchedulerPage: " +
           StringUtils.stringifyException(e));
           StringUtils.stringifyException(e));
     }
     }
     WebAppTests.flushOutput(injector);
     WebAppTests.flushOutput(injector);

+ 16 - 20
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServiceAppsNodelabel.java

@@ -18,9 +18,9 @@
 
 
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-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 static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
@@ -56,8 +56,7 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 import org.apache.hadoop.thirdparty.com.google.common.collect.ImmutableMap;
 import org.apache.hadoop.thirdparty.com.google.common.collect.ImmutableMap;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
@@ -106,7 +105,7 @@ public class TestRMWebServiceAppsNodelabel extends JerseyTestBase {
         nodeLabelManager = rm.getRMContext().getNodeLabelManager();
         nodeLabelManager = rm.getRMContext().getNodeLabelManager();
         nodeLabelManager.addToCluserNodeLabels(labels);
         nodeLabelManager.addToCluserNodeLabels(labels);
       } catch (Exception e) {
       } catch (Exception e) {
-        Assert.fail();
+        fail();
       }
       }
       final HttpServletRequest request = mock(HttpServletRequest.class);
       final HttpServletRequest request = mock(HttpServletRequest.class);
       final HttpServletResponse response = mock(HttpServletResponse.class);
       final HttpServletResponse response = mock(HttpServletResponse.class);
@@ -155,13 +154,12 @@ public class TestRMWebServiceAppsNodelabel extends JerseyTestBase {
         .request(MediaType.APPLICATION_JSON).get(Response.class);
         .request(MediaType.APPLICATION_JSON).get(Response.class);
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject apps = json.getJSONObject("apps");
     JSONObject apps = json.getJSONObject("apps");
-    assertEquals("incorrect number of elements", 1, apps.length());
+    assertEquals(1, apps.length(), "incorrect number of elements");
     try {
     try {
       apps.getJSONArray("app").getJSONObject(0).getJSONObject("resourceInfo");
       apps.getJSONArray("app").getJSONObject(0).getJSONObject("resourceInfo");
       fail("resourceInfo object shouldn't be available for finished apps");
       fail("resourceInfo object shouldn't be available for finished apps");
     } catch (Exception e) {
     } catch (Exception e) {
-      assertTrue("resourceInfo shouldn't be available for finished apps",
-          true);
+      assertTrue(true, "resourceInfo shouldn't be available for finished apps");
     }
     }
     rm.stop();
     rm.stop();
   }
   }
@@ -199,10 +197,10 @@ public class TestRMWebServiceAppsNodelabel extends JerseyTestBase {
 
 
     // Verify apps resource
     // Verify apps resource
     JSONObject apps = json.getJSONObject("apps");
     JSONObject apps = json.getJSONObject("apps");
-    assertEquals("incorrect number of elements", 1, apps.length());
+    assertEquals(1, apps.length(), "incorrect number of elements");
     JSONObject jsonObject = apps.getJSONObject("app").getJSONObject("resourceInfo");
     JSONObject jsonObject = apps.getJSONObject("app").getJSONObject("resourceInfo");
     JSONArray jsonArray = jsonObject.getJSONArray("resourceUsagesByPartition");
     JSONArray jsonArray = jsonObject.getJSONArray("resourceUsagesByPartition");
-    assertEquals("Partition expected is 2", 2, jsonArray.length());
+    assertEquals(2, jsonArray.length(), "Partition expected is 2");
 
 
     // Default partition resource
     // Default partition resource
     JSONObject defaultPartition = jsonArray.getJSONObject(0);
     JSONObject defaultPartition = jsonArray.getJSONObject(0);
@@ -224,15 +222,13 @@ public class TestRMWebServiceAppsNodelabel extends JerseyTestBase {
     JSONObject amusedObject = (JSONObject) partition.get("amUsed");
     JSONObject amusedObject = (JSONObject) partition.get("amUsed");
     JSONObject usedObject = (JSONObject) partition.get("used");
     JSONObject usedObject = (JSONObject) partition.get("used");
     JSONObject reservedObject = (JSONObject) partition.get("reserved");
     JSONObject reservedObject = (JSONObject) partition.get("reserved");
-    assertEquals("Partition expected", partitionName,
-        partition.get("partitionName"));
-    assertEquals("partition amused", amused, getResource(
-        (int) amusedObject.get("memory"), (int) amusedObject.get("vCores")));
-    assertEquals("partition used", used, getResource(
-        (int) usedObject.get("memory"), (int) usedObject.get("vCores")));
-    assertEquals("partition reserved", reserved,
-        getResource((int) reservedObject.get("memory"),
-            (int) reservedObject.get("vCores")));
+    assertEquals(partitionName, partition.get("partitionName"), "Partition expected");
+    assertEquals(amused, getResource((int) amusedObject.get("memory"),
+        (int) amusedObject.get("vCores")), "partition amused");
+    assertEquals(used, getResource((int) usedObject.get("memory"),
+        (int) usedObject.get("vCores")), "partition used");
+    assertEquals(reserved, getResource((int) reservedObject.get("memory"),
+        (int) reservedObject.get("vCores")), "partition reserved");
   }
   }
 
 
   @SuppressWarnings("unchecked")
   @SuppressWarnings("unchecked")

+ 104 - 121
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServices.java

@@ -19,9 +19,11 @@
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 
 
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.assertResponseStatusCode;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.assertResponseStatusCode;
-import static org.junit.Assert.assertEquals;
-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.assertFalse;
+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.any;
 import static org.mockito.ArgumentMatchers.isA;
 import static org.mockito.ArgumentMatchers.isA;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
@@ -109,9 +111,8 @@ import org.apache.hadoop.yarn.webapp.dao.QueueConfigInfo;
 import org.apache.hadoop.yarn.webapp.dao.SchedConfUpdateInfo;
 import org.apache.hadoop.yarn.webapp.dao.SchedConfUpdateInfo;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.Document;
@@ -161,7 +162,7 @@ public class TestRMWebServices extends JerseyTestBase {
   public TestRMWebServices() {
   public TestRMWebServices() {
   }
   }
 
 
-  @BeforeClass
+  @BeforeAll
   public static void initClusterMetrics() {
   public static void initClusterMetrics() {
     ClusterMetrics clusterMetrics = ClusterMetrics.getMetrics();
     ClusterMetrics clusterMetrics = ClusterMetrics.getMetrics();
     clusterMetrics.incrDecommisionedNMs();
     clusterMetrics.incrDecommisionedNMs();
@@ -317,7 +318,7 @@ public class TestRMWebServices extends JerseyTestBase {
     is.setCharacterStream(new StringReader(xml));
     is.setCharacterStream(new StringReader(xml));
     Document dom = db.parse(is);
     Document dom = db.parse(is);
     NodeList nodes = dom.getElementsByTagName("clusterInfo");
     NodeList nodes = dom.getElementsByTagName("clusterInfo");
-    assertEquals("incorrect number of elements", 1, nodes.getLength());
+    assertEquals(1, nodes.getLength(), "incorrect number of elements");
 
 
     for (int i = 0; i < nodes.getLength(); i++) {
     for (int i = 0; i < nodes.getLength(); i++) {
       Element element = (Element) nodes.item(i);
       Element element = (Element) nodes.item(i);
@@ -341,9 +342,9 @@ public class TestRMWebServices extends JerseyTestBase {
 
 
   public void verifyClusterInfo(JSONObject json) throws JSONException,
   public void verifyClusterInfo(JSONObject json) throws JSONException,
       Exception {
       Exception {
-    assertEquals("incorrect number of elements", 1, json.length());
+    assertEquals(1, json.length(), "incorrect number of elements");
     JSONObject info = json.getJSONObject("clusterInfo");
     JSONObject info = json.getJSONObject("clusterInfo");
-    assertEquals("incorrect number of elements", 12, info.length());
+    assertEquals(12, info.length(), "incorrect number of elements");
     verifyClusterGeneric(info.getLong("id"), info.getLong("startedOn"),
     verifyClusterGeneric(info.getLong("id"), info.getLong("startedOn"),
         info.getString("state"), info.getString("haState"),
         info.getString("state"), info.getString("haState"),
         info.getString("haZooKeeperConnectionState"),
         info.getString("haZooKeeperConnectionState"),
@@ -362,14 +363,13 @@ public class TestRMWebServices extends JerseyTestBase {
       String resourceManagerVersionBuiltOn, String resourceManagerBuildVersion,
       String resourceManagerVersionBuiltOn, String resourceManagerBuildVersion,
       String resourceManagerVersion) {
       String resourceManagerVersion) {
 
 
-    assertEquals("clusterId doesn't match: ",
-        ResourceManager.getClusterTimeStamp(), clusterid);
-    assertEquals("startedOn doesn't match: ",
-        ResourceManager.getClusterTimeStamp(), startedon);
-    assertTrue("stated doesn't match: " + state,
-        state.matches(STATE.INITED.toString()));
-    assertTrue("HA state doesn't match: " + haState,
-        haState.matches("INITIALIZING"));
+    assertEquals(ResourceManager.getClusterTimeStamp(),
+        clusterid, "clusterId doesn't match: ");
+    assertEquals(ResourceManager.getClusterTimeStamp(),
+        startedon, "startedOn doesn't match: ");
+    assertTrue(state.matches(STATE.INITED.toString()),
+        "stated doesn't match: " + state);
+    assertTrue(haState.matches("INITIALIZING"), "HA state doesn't match: " + haState);
 
 
     WebServicesTestUtils.checkStringMatch("hadoopVersionBuiltOn",
     WebServicesTestUtils.checkStringMatch("hadoopVersionBuiltOn",
         VersionInfo.getDate(), hadoopVersionBuiltOn);
         VersionInfo.getDate(), hadoopVersionBuiltOn);
@@ -443,7 +443,7 @@ public class TestRMWebServices extends JerseyTestBase {
     is.setCharacterStream(new StringReader(xml));
     is.setCharacterStream(new StringReader(xml));
     Document dom = db.parse(is);
     Document dom = db.parse(is);
     NodeList nodes = dom.getElementsByTagName("clusterMetrics");
     NodeList nodes = dom.getElementsByTagName("clusterMetrics");
-    assertEquals("incorrect number of elements", 1, nodes.getLength());
+    assertEquals(1, nodes.getLength(), "incorrect number of elements");
 
 
     for (int i = 0; i < nodes.getLength(); i++) {
     for (int i = 0; i < nodes.getLength(); i++) {
       Element element = (Element) nodes.item(i);
       Element element = (Element) nodes.item(i);
@@ -474,9 +474,9 @@ public class TestRMWebServices extends JerseyTestBase {
 
 
   public void verifyClusterMetricsJSON(JSONObject json) throws JSONException,
   public void verifyClusterMetricsJSON(JSONObject json) throws JSONException,
       Exception {
       Exception {
-    assertEquals("incorrect number of elements", 1, json.length());
+    assertEquals(1, json.length(), "incorrect number of elements");
     JSONObject clusterinfo = json.getJSONObject("clusterMetrics");
     JSONObject clusterinfo = json.getJSONObject("clusterMetrics");
-    assertEquals("incorrect number of elements", 37, clusterinfo.length());
+    assertEquals(37, clusterinfo.length(), "incorrect number of elements");
     verifyClusterMetrics(
     verifyClusterMetrics(
         clusterinfo.getInt("appsSubmitted"), clusterinfo.getInt("appsCompleted"),
         clusterinfo.getInt("appsSubmitted"), clusterinfo.getInt("appsCompleted"),
         clusterinfo.getInt("reservedMB"), clusterinfo.getInt("availableMB"),
         clusterinfo.getInt("reservedMB"), clusterinfo.getInt("availableMB"),
@@ -510,49 +510,37 @@ public class TestRMWebServices extends JerseyTestBase {
         metrics.getAvailableMB() + metrics.getAllocatedMB();
         metrics.getAvailableMB() + metrics.getAllocatedMB();
     long totalVirtualCoresExpect =
     long totalVirtualCoresExpect =
         metrics.getAvailableVirtualCores() + metrics.getAllocatedVirtualCores();
         metrics.getAvailableVirtualCores() + metrics.getAllocatedVirtualCores();
-    assertEquals("appsSubmitted doesn't match",
-        metrics.getAppsSubmitted(), submittedApps);
-    assertEquals("appsCompleted doesn't match",
-        metrics.getAppsCompleted(), completedApps);
-    assertEquals("reservedMB doesn't match",
-        metrics.getReservedMB(), reservedMB);
-    assertEquals("availableMB doesn't match",
-        metrics.getAvailableMB(), availableMB);
-    assertEquals("allocatedMB doesn't match",
-        metrics.getAllocatedMB(), allocMB);
-    assertEquals("pendingMB doesn't match",
-            metrics.getPendingMB(), pendingMB);
-    assertEquals("reservedVirtualCores doesn't match",
-        metrics.getReservedVirtualCores(), reservedVirtualCores);
-    assertEquals("availableVirtualCores doesn't match",
-        metrics.getAvailableVirtualCores(), availableVirtualCores);
-    assertEquals("pendingVirtualCores doesn't match",
-        metrics.getPendingVirtualCores(), pendingVirtualCores);
-    assertEquals("allocatedVirtualCores doesn't match",
-        metrics.getAllocatedVirtualCores(), allocVirtualCores);
-    assertEquals("totalVirtualCores doesn't match",
-        totalVirtualCoresExpect, totalVirtualCores);
-
-    assertEquals("containersAllocated doesn't match", 0, containersAlloc);
-    assertEquals("totalMB doesn't match", totalMBExpect, totalMB);
-    assertEquals(
-        "totalNodes doesn't match",
-        clusterMetrics.getNumActiveNMs() + clusterMetrics.getNumLostNMs()
-            + clusterMetrics.getNumDecommisionedNMs()
-            + clusterMetrics.getNumRebootedNMs()
-            + clusterMetrics.getUnhealthyNMs(), totalNodes);
-    assertEquals("lostNodes doesn't match", clusterMetrics.getNumLostNMs(),
-        lostNodes);
-    assertEquals("unhealthyNodes doesn't match",
-        clusterMetrics.getUnhealthyNMs(), unhealthyNodes);
-    assertEquals("decommissionedNodes doesn't match",
-        clusterMetrics.getNumDecommisionedNMs(), decommissionedNodes);
-    assertEquals("rebootedNodes doesn't match",
-        clusterMetrics.getNumRebootedNMs(), rebootedNodes);
-    assertEquals("activeNodes doesn't match", clusterMetrics.getNumActiveNMs(),
-        activeNodes);
-    assertEquals("shutdownNodes doesn't match",
-        clusterMetrics.getNumShutdownNMs(), shutdownNodes);
+    assertEquals(metrics.getAppsSubmitted(), submittedApps, "appsSubmitted doesn't match");
+    assertEquals(metrics.getAppsCompleted(), completedApps, "appsCompleted doesn't match");
+    assertEquals(metrics.getReservedMB(), reservedMB, "reservedMB doesn't match");
+    assertEquals(metrics.getAvailableMB(), availableMB, "availableMB doesn't match");
+    assertEquals(metrics.getAllocatedMB(), allocMB, "allocatedMB doesn't match");
+    assertEquals(metrics.getPendingMB(), pendingMB, "pendingMB doesn't match");
+    assertEquals(metrics.getReservedVirtualCores(), reservedVirtualCores,
+        "reservedVirtualCores doesn't match");
+    assertEquals(metrics.getAvailableVirtualCores(), availableVirtualCores,
+        "availableVirtualCores doesn't match");
+    assertEquals(metrics.getPendingVirtualCores(), pendingVirtualCores,
+        "pendingVirtualCores doesn't match");
+    assertEquals(metrics.getAllocatedVirtualCores(), allocVirtualCores,
+        "allocatedVirtualCores doesn't match");
+    assertEquals(totalVirtualCoresExpect, totalVirtualCores, "totalVirtualCores doesn't match");
+
+    assertEquals(0, containersAlloc, "containersAllocated doesn't match");
+    assertEquals(totalMBExpect, totalMB, "totalMB doesn't match");
+    assertEquals(clusterMetrics.getNumActiveNMs() + clusterMetrics.getNumLostNMs()
+        + clusterMetrics.getNumDecommisionedNMs()
+        + clusterMetrics.getNumRebootedNMs()
+        + clusterMetrics.getUnhealthyNMs(), totalNodes, "totalNodes doesn't match");
+    assertEquals(clusterMetrics.getNumLostNMs(), lostNodes, "lostNodes doesn't match");
+    assertEquals(clusterMetrics.getUnhealthyNMs(), unhealthyNodes,
+        "unhealthyNodes doesn't match");
+    assertEquals(clusterMetrics.getNumDecommisionedNMs(), decommissionedNodes,
+        "decommissionedNodes doesn't match");
+    assertEquals(clusterMetrics.getNumRebootedNMs(), rebootedNodes,
+        "rebootedNodes doesn't match");
+    assertEquals(clusterMetrics.getNumActiveNMs(), activeNodes, "activeNodes doesn't match");
+    assertEquals(clusterMetrics.getNumShutdownNMs(), shutdownNodes, "shutdownNodes doesn't match");
   }
   }
 
 
   @Test
   @Test
@@ -614,9 +602,9 @@ public class TestRMWebServices extends JerseyTestBase {
     is.setCharacterStream(new StringReader(xml));
     is.setCharacterStream(new StringReader(xml));
     Document dom = db.parse(is);
     Document dom = db.parse(is);
     NodeList nodesSched = dom.getElementsByTagName("scheduler");
     NodeList nodesSched = dom.getElementsByTagName("scheduler");
-    assertEquals("incorrect number of elements", 1, nodesSched.getLength());
+    assertEquals(1, nodesSched.getLength(), "incorrect number of elements");
     NodeList nodes = dom.getElementsByTagName("schedulerInfo");
     NodeList nodes = dom.getElementsByTagName("schedulerInfo");
-    assertEquals("incorrect number of elements", 1, nodes.getLength());
+    assertEquals(1, nodes.getLength(), "incorrect number of elements");
 
 
     for (int i = 0; i < nodes.getLength(); i++) {
     for (int i = 0; i < nodes.getLength(); i++) {
       Element element = (Element) nodes.item(i);
       Element element = (Element) nodes.item(i);
@@ -638,13 +626,13 @@ public class TestRMWebServices extends JerseyTestBase {
 
 
   public void verifyClusterSchedulerFifo(JSONObject json) throws JSONException,
   public void verifyClusterSchedulerFifo(JSONObject json) throws JSONException,
       Exception {
       Exception {
-    assertEquals("incorrect number of elements in: " + json, 1, json.length());
+    assertEquals(1, json.length(), "incorrect number of elements in: " + json);
     JSONObject info = json.getJSONObject("scheduler");
     JSONObject info = json.getJSONObject("scheduler");
-    assertEquals("incorrect number of elements in: " + info, 1, info.length());
+    assertEquals(1, info.length(), "incorrect number of elements in: " + info);
     info = info.getJSONObject("schedulerInfo");
     info = info.getJSONObject("schedulerInfo");
 
 
     LOG.debug("schedulerInfo: {}", info);
     LOG.debug("schedulerInfo: {}", info);
-    assertEquals("incorrect number of elements in: " + info, 11, info.length());
+    assertEquals(11, info.length(), "incorrect number of elements in: " + info);
 
 
     verifyClusterSchedulerFifoGeneric(info.getString("@xsi.type"),
     verifyClusterSchedulerFifoGeneric(info.getString("@xsi.type"),
         info.getString("qstate"), (float) info.getDouble("capacity"),
         info.getString("qstate"), (float) info.getDouble("capacity"),
@@ -662,22 +650,19 @@ public class TestRMWebServices extends JerseyTestBase {
       int availNodeCapacity, int totalNodeCapacity, int numContainers)
       int availNodeCapacity, int totalNodeCapacity, int numContainers)
       throws JSONException, Exception {
       throws JSONException, Exception {
 
 
-    assertEquals("type doesn't match", "fifoScheduler", type);
-    assertEquals("qstate doesn't match", QueueState.RUNNING.toString(), state);
-    assertEquals("capacity doesn't match", 1.0, capacity, 0.0);
-    assertEquals("usedCapacity doesn't match", 0.0, usedCapacity, 0.0);
-    assertEquals(
-        "minQueueMemoryCapacity doesn't match",
-        YarnConfiguration.DEFAULT_RM_SCHEDULER_MINIMUM_ALLOCATION_MB,
-        minQueueCapacity);
-    assertEquals("maxQueueMemoryCapacity doesn't match",
-        YarnConfiguration.DEFAULT_RM_SCHEDULER_MAXIMUM_ALLOCATION_MB,
-        maxQueueCapacity);
-    assertEquals("numNodes doesn't match", 0, numNodes);
-    assertEquals("usedNodeCapacity doesn't match", 0, usedNodeCapacity);
-    assertEquals("availNodeCapacity doesn't match", 0, availNodeCapacity);
-    assertEquals("totalNodeCapacity doesn't match", 0, totalNodeCapacity);
-    assertEquals("numContainers doesn't match", 0, numContainers);
+    assertEquals("fifoScheduler", type, "type doesn't match");
+    assertEquals(QueueState.RUNNING.toString(), state, "qstate doesn't match");
+    assertEquals(1.0, capacity, 0.0, "capacity doesn't match");
+    assertEquals(0.0, usedCapacity, 0.0, "usedCapacity doesn't match");
+    assertEquals(YarnConfiguration.DEFAULT_RM_SCHEDULER_MINIMUM_ALLOCATION_MB,
+        minQueueCapacity, "minQueueMemoryCapacity doesn't match");
+    assertEquals(YarnConfiguration.DEFAULT_RM_SCHEDULER_MAXIMUM_ALLOCATION_MB,
+        maxQueueCapacity, "maxQueueMemoryCapacity doesn't match");
+    assertEquals(0, numNodes, "numNodes doesn't match");
+    assertEquals(0, usedNodeCapacity, "usedNodeCapacity doesn't match");
+    assertEquals(0, availNodeCapacity, "availNodeCapacity doesn't match");
+    assertEquals(0, totalNodeCapacity, "totalNodeCapacity doesn't match");
+    assertEquals(0, numContainers, "numContainers doesn't match");
 
 
   }
   }
 
 
@@ -752,7 +737,7 @@ public class TestRMWebServices extends JerseyTestBase {
     } catch (ForbiddenException ae) {
     } catch (ForbiddenException ae) {
       exceptionThrown = true;
       exceptionThrown = true;
     }
     }
-    assertTrue("ForbiddenException expected", exceptionThrown);
+    assertTrue(exceptionThrown, "ForbiddenException expected");
     exceptionThrown = false;
     exceptionThrown = false;
     when(mockHsr.getUserPrincipal()).thenReturn(new Principal() {
     when(mockHsr.getUserPrincipal()).thenReturn(new Principal() {
       @Override
       @Override
@@ -766,7 +751,7 @@ public class TestRMWebServices extends JerseyTestBase {
     } catch (ForbiddenException ae) {
     } catch (ForbiddenException ae) {
       exceptionThrown = true;
       exceptionThrown = true;
     }
     }
-    assertTrue("ForbiddenException expected", exceptionThrown);
+    assertTrue(exceptionThrown, "ForbiddenException expected");
 
 
     when(mockHsr.getUserPrincipal()).thenReturn(new Principal() {
     when(mockHsr.getUserPrincipal()).thenReturn(new Principal() {
       @Override
       @Override
@@ -790,7 +775,7 @@ public class TestRMWebServices extends JerseyTestBase {
       targetFile = "yarn-scheduler-debug.log";
       targetFile = "yarn-scheduler-debug.log";
     }
     }
     File logFile = new File(System.getProperty("yarn.log.dir"), targetFile);
     File logFile = new File(System.getProperty("yarn.log.dir"), targetFile);
-    assertTrue("scheduler log file doesn't exist", logFile.exists());
+    assertTrue(logFile.exists(), "scheduler log file doesn't exist");
     FileUtils.deleteQuietly(logFile);
     FileUtils.deleteQuietly(logFile);
   }
   }
 
 
@@ -854,7 +839,7 @@ public class TestRMWebServices extends JerseyTestBase {
     } catch (ForbiddenException e) {
     } catch (ForbiddenException e) {
       caughtException = true;
       caughtException = true;
     }
     }
-    Assert.assertTrue(caughtException);
+    assertTrue(caughtException);
 
 
     // Case 2: request an unknown ACL causes BAD_REQUEST
     // Case 2: request an unknown ACL causes BAD_REQUEST
     mockHsr = mockHttpServletRequestByUserName("admin");
     mockHsr = mockHttpServletRequestByUserName("admin");
@@ -864,27 +849,27 @@ public class TestRMWebServices extends JerseyTestBase {
     } catch (BadRequestException e) {
     } catch (BadRequestException e) {
       caughtException = true;
       caughtException = true;
     }
     }
-    Assert.assertTrue(caughtException);
+    assertTrue(caughtException);
 
 
     // Case 3: get FORBIDDEN for rejected ACL
     // Case 3: get FORBIDDEN for rejected ACL
     mockHsr = mockHttpServletRequestByUserName("admin");
     mockHsr = mockHttpServletRequestByUserName("admin");
-    Assert.assertFalse(webSvc.checkUserAccessToQueue("queue", "jack",
+    assertFalse(webSvc.checkUserAccessToQueue("queue", "jack",
         QueueACL.SUBMIT_APPLICATIONS.name(), mockHsr).isAllowed());
         QueueACL.SUBMIT_APPLICATIONS.name(), mockHsr).isAllowed());
-    Assert.assertFalse(webSvc.checkUserAccessToQueue("queue", "jack",
+    assertFalse(webSvc.checkUserAccessToQueue("queue", "jack",
         QueueACL.ADMINISTER_QUEUE.name(), mockHsr).isAllowed());
         QueueACL.ADMINISTER_QUEUE.name(), mockHsr).isAllowed());
 
 
     // Case 4: get OK for listed ACLs
     // Case 4: get OK for listed ACLs
     mockHsr = mockHttpServletRequestByUserName("admin");
     mockHsr = mockHttpServletRequestByUserName("admin");
-    Assert.assertTrue(webSvc.checkUserAccessToQueue("queue", "admin",
+    assertTrue(webSvc.checkUserAccessToQueue("queue", "admin",
         QueueACL.SUBMIT_APPLICATIONS.name(), mockHsr).isAllowed());
         QueueACL.SUBMIT_APPLICATIONS.name(), mockHsr).isAllowed());
-    Assert.assertTrue(webSvc.checkUserAccessToQueue("queue", "admin",
+    assertTrue(webSvc.checkUserAccessToQueue("queue", "admin",
         QueueACL.ADMINISTER_QUEUE.name(), mockHsr).isAllowed());
         QueueACL.ADMINISTER_QUEUE.name(), mockHsr).isAllowed());
 
 
     // Case 5: get OK only for SUBMIT_APP acl for "yarn" user
     // Case 5: get OK only for SUBMIT_APP acl for "yarn" user
     mockHsr = mockHttpServletRequestByUserName("admin");
     mockHsr = mockHttpServletRequestByUserName("admin");
-    Assert.assertTrue(webSvc.checkUserAccessToQueue("queue", "yarn",
+    assertTrue(webSvc.checkUserAccessToQueue("queue", "yarn",
         QueueACL.SUBMIT_APPLICATIONS.name(), mockHsr).isAllowed());
         QueueACL.SUBMIT_APPLICATIONS.name(), mockHsr).isAllowed());
-    Assert.assertFalse(webSvc.checkUserAccessToQueue("queue", "yarn",
+    assertFalse(webSvc.checkUserAccessToQueue("queue", "yarn",
         QueueACL.ADMINISTER_QUEUE.name(), mockHsr).isAllowed());
         QueueACL.ADMINISTER_QUEUE.name(), mockHsr).isAllowed());
   }
   }
 
 
@@ -962,9 +947,9 @@ public class TestRMWebServices extends JerseyTestBase {
         null, null, null, null, null, null, null, emptySet, emptySet,
         null, null, null, null, null, null, null, emptySet, emptySet,
         null, null);
         null, null);
 
 
-    assertEquals("Incorrect Number of Apps", 1, appsInfo.getApps().size());
-    assertEquals("Invalid XML Characters Present",
-        "java.lang.Exception: \uFFFD", appsInfo.getApps().get(0).getNote());
+    assertEquals(1, appsInfo.getApps().size(), "Incorrect Number of Apps");
+    assertEquals("java.lang.Exception: \uFFFD", appsInfo.getApps().get(0).getNote(),
+        "Invalid XML Characters Present");
   }
   }
 
 
   @Test
   @Test
@@ -987,10 +972,10 @@ public class TestRMWebServices extends JerseyTestBase {
 
 
   public void verifyClusterUserInfo(ClusterUserInfo userInfo,
   public void verifyClusterUserInfo(ClusterUserInfo userInfo,
             String rmLoginUser, String requestedUser) {
             String rmLoginUser, String requestedUser) {
-    assertEquals("rmLoginUser doesn't match: ",
-            rmLoginUser, userInfo.getRmLoginUser());
-    assertEquals("requestedUser doesn't match: ",
-            requestedUser, userInfo.getRequestedUser());
+    assertEquals(rmLoginUser, userInfo.getRmLoginUser(),
+        "rmLoginUser doesn't match: ");
+    assertEquals(requestedUser, userInfo.getRequestedUser(),
+        "requestedUser doesn't match: ");
   }
   }
 
 
   @Test
   @Test
@@ -1002,11 +987,11 @@ public class TestRMWebServices extends JerseyTestBase {
     HttpServletRequest mockHsr = prepareServletRequestForValidation();
     HttpServletRequest mockHsr = prepareServletRequestForValidation();
     Response response = webService
     Response response = webService
             .validateAndGetSchedulerConfiguration(mutationInfo, mockHsr);
             .validateAndGetSchedulerConfiguration(mutationInfo, mockHsr);
-    Assert.assertEquals(Response.Status.BAD_REQUEST
-            .getStatusCode(), response.getStatus());
-    Assert.assertTrue(response.getEntity().toString()
-            .contains(String.format("Configuration change validation only supported by %s.",
-                MutableConfScheduler.class.getSimpleName())));
+    assertEquals(Response.Status.BAD_REQUEST
+        .getStatusCode(), response.getStatus());
+    assertTrue(response.getEntity().toString()
+        .contains(String.format("Configuration change validation only supported by %s.",
+        MutableConfScheduler.class.getSimpleName())));
   }
   }
 
 
   @Test
   @Test
@@ -1025,10 +1010,8 @@ public class TestRMWebServices extends JerseyTestBase {
     HttpServletRequest mockHsr = prepareServletRequestForValidation();
     HttpServletRequest mockHsr = prepareServletRequestForValidation();
 
 
     Response response = webService.validateAndGetSchedulerConfiguration(mutationInfo, mockHsr);
     Response response = webService.validateAndGetSchedulerConfiguration(mutationInfo, mockHsr);
-    Assert.assertEquals(Response.Status.BAD_REQUEST
-            .getStatusCode(), response.getStatus());
-    Assert.assertTrue(response.getEntity().toString()
-            .contains("IOException"));
+    assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+    assertTrue(response.getEntity().toString().contains("IOException"));
   }
   }
 
 
   @Test
   @Test
@@ -1057,7 +1040,7 @@ public class TestRMWebServices extends JerseyTestBase {
 
 
     Response response = webService
     Response response = webService
         .validateAndGetSchedulerConfiguration(mutationInfo, mockHsr);
         .validateAndGetSchedulerConfiguration(mutationInfo, mockHsr);
-    Assert.assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+    assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
   }
   }
 
 
   private CapacityScheduler prepareCSForValidation(Configuration config)
   private CapacityScheduler prepareCSForValidation(Configuration config)
@@ -1115,7 +1098,7 @@ public class TestRMWebServices extends JerseyTestBase {
       JSONObject json, String expectedSchedulerType) throws Exception {
       JSONObject json, String expectedSchedulerType) throws Exception {
 
 
     // why json contains 8 elements because we defined 8 fields
     // why json contains 8 elements because we defined 8 fields
-    assertEquals("incorrect number of elements in: " + json, 8, json.length());
+    assertEquals(8, json.length(), "incorrect number of elements in: " + json);
 
 
     // 1.Verify that the schedulerType is as expected
     // 1.Verify that the schedulerType is as expected
     String schedulerType = json.getString("schedulerType");
     String schedulerType = json.getString("schedulerType");
@@ -1193,31 +1176,31 @@ public class TestRMWebServices extends JerseyTestBase {
         "mock_user", "mock_queue", null, null, null, null, null, emptySet,
         "mock_user", "mock_queue", null, null, null, null, null, emptySet,
         emptySet, null, null);
         emptySet, null, null);
     LRUCache<AppsCacheKey, AppsInfo> cache = webSvc.getAppsLRUCache();
     LRUCache<AppsCacheKey, AppsInfo> cache = webSvc.getAppsLRUCache();
-    Assert.assertEquals(1, cache.size());
+    assertEquals(1, cache.size());
     AppsCacheKey appsCacheKey = AppsCacheKey.newInstance(null, emptySet,
     AppsCacheKey appsCacheKey = AppsCacheKey.newInstance(null, emptySet,
         null, "mock_user", "mock_queue", null, null, null, null, null, emptySet,
         null, "mock_user", "mock_queue", null, null, null, null, null, emptySet,
         emptySet, null, null);
         emptySet, null, null);
-    Assert.assertEquals(appsInfo, cache.get(appsCacheKey));
+    assertEquals(appsInfo, cache.get(appsCacheKey));
 
 
     AppsInfo appsInfo1 = webSvc.getApps(mockHsr, null, emptySet, null,
     AppsInfo appsInfo1 = webSvc.getApps(mockHsr, null, emptySet, null,
         "mock_user1", "mock_queue", null, null, null, null, null, emptySet,
         "mock_user1", "mock_queue", null, null, null, null, null, emptySet,
         emptySet, null, null);
         emptySet, null, null);
-    Assert.assertEquals(2, cache.size());
+    assertEquals(2, cache.size());
     AppsCacheKey appsCacheKey1 = AppsCacheKey.newInstance(null, emptySet,
     AppsCacheKey appsCacheKey1 = AppsCacheKey.newInstance(null, emptySet,
         null, "mock_user1", "mock_queue", null, null, null, null, null, emptySet,
         null, "mock_user1", "mock_queue", null, null, null, null, null, emptySet,
         emptySet, null, null);
         emptySet, null, null);
-    Assert.assertEquals(appsInfo1, cache.get(appsCacheKey1));
+    assertEquals(appsInfo1, cache.get(appsCacheKey1));
 
 
     AppsInfo appsInfo2 = webSvc.getApps(mockHsr, null, emptySet, null,
     AppsInfo appsInfo2 = webSvc.getApps(mockHsr, null, emptySet, null,
         "mock_user2", "mock_queue", null, null, null, null, null, emptySet,
         "mock_user2", "mock_queue", null, null, null, null, null, emptySet,
         emptySet, null, null);
         emptySet, null, null);
-    Assert.assertEquals(2, cache.size());
+    assertEquals(2, cache.size());
     AppsCacheKey appsCacheKey2 = AppsCacheKey.newInstance(null, emptySet,
     AppsCacheKey appsCacheKey2 = AppsCacheKey.newInstance(null, emptySet,
         null, "mock_user2", "mock_queue", null, null, null, null, null, emptySet,
         null, "mock_user2", "mock_queue", null, null, null, null, null, emptySet,
         emptySet, null, null);
         emptySet, null, null);
-    Assert.assertEquals(appsInfo2, cache.get(appsCacheKey2));
+    assertEquals(appsInfo2, cache.get(appsCacheKey2));
     // appsCacheKey have removed
     // appsCacheKey have removed
-    Assert.assertNull(cache.get(appsCacheKey));
+    assertNull(cache.get(appsCacheKey));
 
 
     GenericTestUtils.waitFor(() -> cache.get(appsCacheKey1) == null,
     GenericTestUtils.waitFor(() -> cache.get(appsCacheKey1) == null,
         300, 1000);
         300, 1000);

+ 28 - 27
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesAppAttempts.java

@@ -43,7 +43,8 @@ import org.apache.hadoop.yarn.webapp.WebServicesTestUtils;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.Timeout;
 import org.w3c.dom.Document;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 import org.w3c.dom.NodeList;
@@ -65,8 +66,8 @@ import java.util.Collection;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.assertResponseStatusCode;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.assertResponseStatusCode;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.checkStringMatch;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.checkStringMatch;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThat;
-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.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
@@ -126,7 +127,8 @@ public class TestRMWebServicesAppAttempts extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test (timeout = 20000)
+  @Test
+  @Timeout(value = 20)
   public void testCompletedAppAttempt() throws Exception {
   public void testCompletedAppAttempt() throws Exception {
     Configuration conf = rm.getConfig();
     Configuration conf = rm.getConfig();
     String logServerUrl = "http://localhost:19888/jobhistory/logs";
     String logServerUrl = "http://localhost:19888/jobhistory/logs";
@@ -167,7 +169,8 @@ public class TestRMWebServicesAppAttempts extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test (timeout = 20000)
+  @Test
+  @Timeout(value = 20)
   public void testMultipleAppAttempts() throws Exception {
   public void testMultipleAppAttempts() throws Exception {
     rm.start();
     rm.start();
     MockNM amNodeManager = rm.registerNode("127.0.0.1:1234", 8192);
     MockNM amNodeManager = rm.registerNode("127.0.0.1:1234", 8192);
@@ -197,8 +200,8 @@ public class TestRMWebServicesAppAttempts extends JerseyTestBase {
       am = MockRM.launchAndRegisterAM(app1, rm, amNodeManager);
       am = MockRM.launchAndRegisterAM(app1, rm, amNodeManager);
       numAttempt++;
       numAttempt++;
     }
     }
-    assertEquals("incorrect number of attempts", maxAppAttempts,
-        app1.getAppAttempts().values().size());
+    assertEquals(maxAppAttempts,
+        app1.getAppAttempts().values().size(), "incorrect number of attempts");
     testAppAttemptsHelper(app1.getApplicationId().toString(), app1,
     testAppAttemptsHelper(app1.getApplicationId().toString(), app1,
         MediaType.APPLICATION_JSON);
         MediaType.APPLICATION_JSON);
     rm.stop();
     rm.stop();
@@ -247,7 +250,7 @@ public class TestRMWebServicesAppAttempts extends JerseyTestBase {
           response.getMediaType().toString());
           response.getMediaType().toString());
       JSONObject msg = response.readEntity(JSONObject.class);
       JSONObject msg = response.readEntity(JSONObject.class);
       JSONObject exception = msg.getJSONObject("RemoteException");
       JSONObject exception = msg.getJSONObject("RemoteException");
-      assertEquals("incorrect number of elements", 3, exception.length());
+      assertEquals(3, exception.length(), "incorrect number of elements");
       String message = exception.getString("message");
       String message = exception.getString("message");
       String type = exception.getString("exception");
       String type = exception.getString("exception");
       String classname = exception.getString("javaClassName");
       String classname = exception.getString("javaClassName");
@@ -284,7 +287,7 @@ public class TestRMWebServicesAppAttempts extends JerseyTestBase {
           response.getMediaType().toString());
           response.getMediaType().toString());
       JSONObject msg = response.readEntity(JSONObject.class);
       JSONObject msg = response.readEntity(JSONObject.class);
       JSONObject exception = msg.getJSONObject("RemoteException");
       JSONObject exception = msg.getJSONObject("RemoteException");
-      assertEquals("incorrect number of elements", 3, exception.length());
+      assertEquals(3, exception.length(), "incorrect number of elements");
       String message = exception.getString("message");
       String message = exception.getString("message");
       String type = exception.getString("exception");
       String type = exception.getString("exception");
       String classname = exception.getString("javaClassName");
       String classname = exception.getString("javaClassName");
@@ -325,7 +328,7 @@ public class TestRMWebServicesAppAttempts extends JerseyTestBase {
 
 
       JSONObject msg = response.readEntity(JSONObject.class);
       JSONObject msg = response.readEntity(JSONObject.class);
       JSONObject exception = msg.getJSONObject("RemoteException");
       JSONObject exception = msg.getJSONObject("RemoteException");
-      assertEquals("incorrect number of elements", 3, exception.length());
+      assertEquals(3, exception.length(), "incorrect number of elements");
       String message = exception.getString("message");
       String message = exception.getString("message");
       String type = exception.getString("exception");
       String type = exception.getString("exception");
       String classname = exception.getString("javaClassName");
       String classname = exception.getString("javaClassName");
@@ -348,14 +351,14 @@ public class TestRMWebServicesAppAttempts extends JerseyTestBase {
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject json = response.readEntity(JSONObject.class);
-    assertEquals("incorrect number of elements", 1, json.length());
+    assertEquals(1, json.length(), "incorrect number of elements");
     JSONObject jsonAppAttempts = json.getJSONObject("appAttempts");
     JSONObject jsonAppAttempts = json.getJSONObject("appAttempts");
-    assertEquals("incorrect number of elements", 1, jsonAppAttempts.length());
+    assertEquals(1, jsonAppAttempts.length(), "incorrect number of elements");
     JSONArray jsonArray = parseJsonAppAttempt(jsonAppAttempts);
     JSONArray jsonArray = parseJsonAppAttempt(jsonAppAttempts);
 
 
     Collection<RMAppAttempt> attempts = app.getAppAttempts().values();
     Collection<RMAppAttempt> attempts = app.getAppAttempts().values();
-    assertEquals("incorrect number of elements", attempts.size(),
-        jsonArray.length());
+    assertEquals(attempts.size(), jsonArray.length(),
+        "incorrect number of elements");
 
 
     // Verify these parallel arrays are the same
     // Verify these parallel arrays are the same
     int i = 0;
     int i = 0;
@@ -406,9 +409,9 @@ public class TestRMWebServicesAppAttempts extends JerseyTestBase {
     is.setCharacterStream(new StringReader(xml));
     is.setCharacterStream(new StringReader(xml));
     Document dom = db.parse(is);
     Document dom = db.parse(is);
     NodeList nodes = dom.getElementsByTagName("appAttempts");
     NodeList nodes = dom.getElementsByTagName("appAttempts");
-    assertEquals("incorrect number of elements", 1, nodes.getLength());
+    assertEquals(1, nodes.getLength(), "incorrect number of elements");
     NodeList attempt = dom.getElementsByTagName("appAttempt");
     NodeList attempt = dom.getElementsByTagName("appAttempt");
-    assertEquals("incorrect number of elements", 1, attempt.getLength());
+    assertEquals(1, attempt.getLength(), "incorrect number of elements");
     verifyAppAttemptsXML(attempt, app1.getCurrentAppAttempt(), user);
     verifyAppAttemptsXML(attempt, app1.getCurrentAppAttempt(), user);
     rm.stop();
     rm.stop();
   }
   }
@@ -435,7 +438,7 @@ public class TestRMWebServicesAppAttempts extends JerseyTestBase {
           String user)
           String user)
           throws Exception {
           throws Exception {
 
 
-    assertEquals("incorrect number of elements", 12, info.length());
+    assertEquals(12, info.length(), "incorrect number of elements");
 
 
     verifyAppAttemptInfoGeneric(appAttempt, info.getInt("id"),
     verifyAppAttemptInfoGeneric(appAttempt, info.getInt("id"),
             info.getLong("startTime"), info.getString("containerId"),
             info.getLong("startTime"), info.getString("containerId"),
@@ -449,21 +452,19 @@ public class TestRMWebServicesAppAttempts extends JerseyTestBase {
           nodeId, String logsLink, String user, String exportPorts,
           nodeId, String logsLink, String user, String exportPorts,
           String appAttemptState) {
           String appAttemptState) {
 
 
-    assertEquals("id doesn't match", appAttempt.getAppAttemptId()
-            .getAttemptId(), id);
-    assertEquals("startedTime doesn't match", appAttempt.getStartTime(),
-            startTime);
+    assertEquals(appAttempt.getAppAttemptId()
+        .getAttemptId(), id, "id doesn't match");
+    assertEquals(appAttempt.getStartTime(),
+        startTime, "startedTime doesn't match");
     checkStringMatch("containerId", appAttempt
     checkStringMatch("containerId", appAttempt
             .getMasterContainer().getId().toString(), containerId);
             .getMasterContainer().getId().toString(), containerId);
     checkStringMatch("nodeHttpAddress", appAttempt
     checkStringMatch("nodeHttpAddress", appAttempt
             .getMasterContainer().getNodeHttpAddress(), nodeHttpAddress);
             .getMasterContainer().getNodeHttpAddress(), nodeHttpAddress);
     checkStringMatch("nodeId", appAttempt
     checkStringMatch("nodeId", appAttempt
             .getMasterContainer().getNodeId().toString(), nodeId);
             .getMasterContainer().getNodeId().toString(), nodeId);
-    assertTrue("logsLink doesn't match ", logsLink.startsWith("http://"));
-    assertTrue(
-            "logsLink doesn't contain user info", logsLink.endsWith("/"
-                    + user));
-    assertEquals("appAttemptState doesn't match", appAttemptState, appAttempt
-            .getAppAttemptState().toString());
+    assertTrue(logsLink.startsWith("http://"), "logsLink doesn't match ");
+    assertTrue(logsLink.endsWith("/" + user), "logsLink doesn't contain user info");
+    assertEquals(appAttemptState, appAttempt.getAppAttemptState().toString(),
+        "appAttemptState doesn't match");
   }
   }
 }
 }

+ 4 - 4
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesAppCustomResourceTypes.java

@@ -40,7 +40,7 @@ import org.apache.hadoop.yarn.webapp.GenericExceptionHandler;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.w3c.dom.NodeList;
 import org.w3c.dom.NodeList;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
@@ -53,7 +53,7 @@ import java.util.ArrayList;
 
 
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesCustomResourceTypesCommons.verifyAppInfoJson;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesCustomResourceTypesCommons.verifyAppInfoJson;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesCustomResourceTypesCommons.verifyAppsXML;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesCustomResourceTypesCommons.verifyAppsXML;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
@@ -137,7 +137,7 @@ public class TestRMWebServicesAppCustomResourceTypes extends JerseyTestBase {
     testCase.verify(document -> {
     testCase.verify(document -> {
       NodeList appArray = document
       NodeList appArray = document
               .getElementsByTagName("app");
               .getElementsByTagName("app");
-      assertEquals("incorrect number of app elements", 1, appArray.getLength());
+      assertEquals(1, appArray.getLength(), "incorrect number of app elements");
 
 
       verifyAppsXML(appArray, app1, rm);
       verifyAppsXML(appArray, app1, rm);
     });
     });
@@ -168,7 +168,7 @@ public class TestRMWebServicesAppCustomResourceTypes extends JerseyTestBase {
             new BufferedClientResponse(response));
             new BufferedClientResponse(response));
     testCase.verify(json -> {
     testCase.verify(json -> {
       try {
       try {
-        assertEquals("incorrect number of app elements", 1, json.length());
+        assertEquals(1, json.length(), "incorrect number of app elements");
         JSONObject app = json.getJSONObject("app");
         JSONObject app = json.getJSONObject("app");
         verifyAppInfoJson(app, app1, rm);
         verifyAppInfoJson(app, app1, rm);
       } catch (JSONException e) {
       } catch (JSONException e) {

File diff suppressed because it is too large
+ 231 - 238
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesApps.java


+ 7 - 7
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesAppsCustomResourceTypes.java

@@ -44,7 +44,7 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.w3c.dom.Element;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 import org.w3c.dom.NodeList;
 
 
@@ -60,7 +60,7 @@ import static org.apache.hadoop.yarn.server.resourcemanager.webapp
     .TestRMWebServicesCustomResourceTypesCommons.verifyAppInfoJson;
     .TestRMWebServicesCustomResourceTypesCommons.verifyAppInfoJson;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp
     .TestRMWebServicesCustomResourceTypesCommons.verifyAppsXML;
     .TestRMWebServicesCustomResourceTypesCommons.verifyAppsXML;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
@@ -135,11 +135,11 @@ public class TestRMWebServicesAppsCustomResourceTypes extends JerseyTestBase {
                     new BufferedClientResponse(response));
                     new BufferedClientResponse(response));
     testCase.verify(document -> {
     testCase.verify(document -> {
       NodeList apps = document.getElementsByTagName("apps");
       NodeList apps = document.getElementsByTagName("apps");
-      assertEquals("incorrect number of apps elements", 1, apps.getLength());
+      assertEquals(1, apps.getLength(), "incorrect number of apps elements");
 
 
       NodeList appArray = ((Element)(apps.item(0)))
       NodeList appArray = ((Element)(apps.item(0)))
               .getElementsByTagName("app");
               .getElementsByTagName("app");
-      assertEquals("incorrect number of app elements", 1, appArray.getLength());
+      assertEquals(1, appArray.getLength(), "incorrect number of app elements");
 
 
       verifyAppsXML(appArray, app1, rm);
       verifyAppsXML(appArray, app1, rm);
     });
     });
@@ -171,13 +171,13 @@ public class TestRMWebServicesAppsCustomResourceTypes extends JerseyTestBase {
             new BufferedClientResponse(response));
             new BufferedClientResponse(response));
     testCase.verify(json -> {
     testCase.verify(json -> {
       try {
       try {
-        assertEquals("incorrect number of apps elements", 1, json.length());
+        assertEquals(1, json.length(), "incorrect number of apps elements");
         JSONObject apps = json.getJSONObject("apps");
         JSONObject apps = json.getJSONObject("apps");
-        assertEquals("incorrect number of app elements", 1, apps.length());
+        assertEquals(1, apps.length(), "incorrect number of app elements");
         JSONObject app = apps.getJSONObject("app");
         JSONObject app = apps.getJSONObject("app");
         JSONArray array = new JSONArray();
         JSONArray array = new JSONArray();
         array.put(app);
         array.put(app);
-        assertEquals("incorrect count of app", 1, array.length());
+        assertEquals(1, array.length(), "incorrect count of app");
 
 
         verifyAppInfoJson(array.getJSONObject(0), app1, rm);
         verifyAppInfoJson(array.getJSONObject(0), app1, rm);
       } catch (JSONException e) {
       } catch (JSONException e) {

+ 87 - 68
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesAppsModification.java

@@ -19,9 +19,9 @@
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 
 
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.assertResponseStatusCode;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.assertResponseStatusCode;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayInputStream;
@@ -114,13 +114,10 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.apache.hadoop.yarn.webapp.WebServicesTestUtils;
 import org.apache.hadoop.yarn.webapp.WebServicesTestUtils;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Timeout;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.w3c.dom.Document;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 import org.w3c.dom.NodeList;
@@ -141,7 +138,6 @@ import static javax.ws.rs.core.Response.Status.OK;
 import static javax.ws.rs.core.Response.Status.UNAUTHORIZED;
 import static javax.ws.rs.core.Response.Status.UNAUTHORIZED;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
-@RunWith(Parameterized.class)
 public class TestRMWebServicesAppsModification extends JerseyTestBase {
 public class TestRMWebServicesAppsModification extends JerseyTestBase {
   private static MockRM rm;
   private static MockRM rm;
 
 
@@ -334,18 +330,16 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     return new FairTestServletModule(true);
     return new FairTestServletModule(true);
   }
   }
 
 
-  @Parameters
   public static Collection<Object[]> guiceConfigs() {
   public static Collection<Object[]> guiceConfigs() {
-    return Arrays.asList(new Object[][] { { 0 }, { 1 }, { 2 }, { 3 } });
+    return Arrays.asList(new Object[][]{{0}, {1}, {2}, {3}});
   }
   }
 
 
-  @Before
   @Override
   @Override
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     super.setUp();
     super.setUp();
   }
   }
 
 
-  public TestRMWebServicesAppsModification(int run) throws JAXBException {
+  public void initTestRMWebServicesAppsModification(int run) throws Exception {
     switch (run) {
     switch (run) {
     case 0:
     case 0:
     default:
     default:
@@ -365,6 +359,7 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
       config.register(getSimpleAuthInjectorFair());
       config.register(getSimpleAuthInjectorFair());
       break;
       break;
     }
     }
+    setUp();
   }
   }
 
 
   private boolean isAuthenticationEnabled() {
   private boolean isAuthenticationEnabled() {
@@ -392,8 +387,10 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     return this.constructWebResource(ws, paths);
     return this.constructWebResource(ws, paths);
   }
   }
 
 
-  @Test
-  public void testSingleAppState() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testSingleAppState(int run) throws Exception {
+    initTestRMWebServicesAppsModification(run);
     rm.start();
     rm.start();
     MockNM amNodeManager = rm.registerNode("127.0.0.1:1234", 2048);
     MockNM amNodeManager = rm.registerNode("127.0.0.1:1234", 2048);
     String[] mediaTypes =
     String[] mediaTypes =
@@ -407,9 +404,8 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
       RMApp app = MockRMAppSubmitter.submit(rm, data);
       RMApp app = MockRMAppSubmitter.submit(rm, data);
       amNodeManager.nodeHeartbeat(true);
       amNodeManager.nodeHeartbeat(true);
       Response response =
       Response response =
-          this
-            .constructWebResource("apps", app.getApplicationId().toString(),
-              "state").request(mediaType).get(Response.class);
+          this.constructWebResource("apps", app.getApplicationId().toString(),
+          "state").request(mediaType).get(Response.class);
       assertResponseStatusCode(OK, response.getStatusInfo());
       assertResponseStatusCode(OK, response.getStatusInfo());
       if (mediaType.contains(MediaType.APPLICATION_JSON)) {
       if (mediaType.contains(MediaType.APPLICATION_JSON)) {
         verifyAppStateJson(response, RMAppState.ACCEPTED);
         verifyAppStateJson(response, RMAppState.ACCEPTED);
@@ -420,8 +416,11 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test(timeout = 120000)
-  public void testSingleAppKill() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  @Timeout(value = 120)
+  public void testSingleAppKill(int run) throws Exception {
+    initTestRMWebServicesAppsModification(run);
     rm.start();
     rm.start();
     MockNM amNodeManager = rm.registerNode("127.0.0.1:1234", 2048);
     MockNM amNodeManager = rm.registerNode("127.0.0.1:1234", 2048);
     String[] mediaTypes =
     String[] mediaTypes =
@@ -502,8 +501,8 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
             } else {
             } else {
               verifyAppStateXML(response, RMAppState.KILLED);
               verifyAppStateXML(response, RMAppState.KILLED);
             }
             }
-            assertTrue("Diagnostic message is incorrect",
-                app.getDiagnostics().toString().contains(diagnostic));
+            assertTrue(app.getDiagnostics().toString().contains(diagnostic),
+                "Diagnostic message is incorrect");
             break;
             break;
           }
           }
         }
         }
@@ -513,8 +512,10 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testSingleAppKillInvalidState() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testSingleAppKillInvalidState(int run) throws Exception {
+    initTestRMWebServicesAppsModification(run);
     rm.start();
     rm.start();
     MockNM amNodeManager = rm.registerNode("127.0.0.1:1234", 2048);
     MockNM amNodeManager = rm.registerNode("127.0.0.1:1234", 2048);
 
 
@@ -575,7 +576,7 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject json = response.readEntity(JSONObject.class);
-    assertEquals("incorrect number of elements", 1, json.length());
+    assertEquals(1, json.length(), "incorrect number of elements");
     String responseState = json.getJSONObject("appstate").getString("state");
     String responseState = json.getJSONObject("appstate").getString("state");
     boolean valid = false;
     boolean valid = false;
     for (RMAppState state : states) {
     for (RMAppState state : states) {
@@ -584,7 +585,7 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
       }
       }
     }
     }
     String msg = "app state incorrect, got " + responseState;
     String msg = "app state incorrect, got " + responseState;
-    assertTrue(msg, valid);
+    assertTrue(valid, msg);
   }
   }
 
 
   protected static void verifyAppStateXML(Response response,
   protected static void verifyAppStateXML(Response response,
@@ -599,7 +600,7 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     is.setCharacterStream(new StringReader(xml));
     is.setCharacterStream(new StringReader(xml));
     Document dom = db.parse(is);
     Document dom = db.parse(is);
     NodeList nodes = dom.getElementsByTagName("appstate");
     NodeList nodes = dom.getElementsByTagName("appstate");
-    assertEquals("incorrect number of elements", 1, nodes.getLength());
+    assertEquals(1, nodes.getLength(), "incorrect number of elements");
     Element element = (Element) nodes.item(0);
     Element element = (Element) nodes.item(0);
     String state = WebServicesTestUtils.getXmlString(element, "state");
     String state = WebServicesTestUtils.getXmlString(element, "state");
     boolean valid = false;
     boolean valid = false;
@@ -609,18 +610,20 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
       }
       }
     }
     }
     String msg = "app state incorrect, got " + state;
     String msg = "app state incorrect, got " + state;
-    assertTrue(msg, valid);
+    assertTrue(valid, msg);
   }
   }
 
 
-  @Test(timeout = 60000)
-  public void testSingleAppKillUnauthorized() throws Exception {
-
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  @Timeout(value = 60)
+  public void testSingleAppKillUnauthorized(int run) throws Exception {
+    initTestRMWebServicesAppsModification(run);
     boolean isCapacityScheduler =
     boolean isCapacityScheduler =
         rm.getResourceScheduler() instanceof CapacityScheduler;
         rm.getResourceScheduler() instanceof CapacityScheduler;
     boolean isFairScheduler =
     boolean isFairScheduler =
         rm.getResourceScheduler() instanceof FairScheduler;
         rm.getResourceScheduler() instanceof FairScheduler;
-    assumeTrue("This test is only supported on Capacity and Fair Scheduler",
-        isCapacityScheduler || isFairScheduler);
+    assumeTrue(isCapacityScheduler || isFairScheduler,
+        "This test is only supported on Capacity and Fair Scheduler");
     // FairScheduler use ALLOCATION_FILE to configure ACL
     // FairScheduler use ALLOCATION_FILE to configure ACL
     if (isCapacityScheduler) {
     if (isCapacityScheduler) {
       // default root queue allows anyone to have admin acl
       // default root queue allows anyone to have admin acl
@@ -660,8 +663,10 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testSingleAppKillInvalidId() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testSingleAppKillInvalidId(int run) throws Exception {
+    initTestRMWebServicesAppsModification(run);
     rm.start();
     rm.start();
     MockNM amNodeManager = rm.registerNode("127.0.0.1:1234", 2048);
     MockNM amNodeManager = rm.registerNode("127.0.0.1:1234", 2048);
     amNodeManager.nodeHeartbeat(true);
     amNodeManager.nodeHeartbeat(true);
@@ -688,7 +693,7 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @After
+  @AfterEach
   @Override
   @Override
   public void tearDown() throws Exception {
   public void tearDown() throws Exception {
     if (rm != null) {
     if (rm != null) {
@@ -738,8 +743,10 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
   }
   }
 
 
   // Simple test - just post to /apps/new-application and validate the response
   // Simple test - just post to /apps/new-application and validate the response
-  @Test
-  public void testGetNewApplication() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testGetNewApplication(int run) throws Exception {
+    initTestRMWebServicesAppsModification(run);
     rm.start();
     rm.start();
     String mediaTypes[] =
     String mediaTypes[] =
         { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML };
         { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML };
@@ -799,7 +806,7 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     is.setCharacterStream(new StringReader(response));
     is.setCharacterStream(new StringReader(response));
     Document dom = db.parse(is);
     Document dom = db.parse(is);
     NodeList nodes = dom.getElementsByTagName("NewApplication");
     NodeList nodes = dom.getElementsByTagName("NewApplication");
-    assertEquals("incorrect number of elements", 1, nodes.getLength());
+    assertEquals(1, nodes.getLength(), "incorrect number of elements");
     Element element = (Element) nodes.item(0);
     Element element = (Element) nodes.item(0);
     String appId = WebServicesTestUtils.getXmlString(element, "application-id");
     String appId = WebServicesTestUtils.getXmlString(element, "application-id");
     assertTrue(!appId.isEmpty());
     assertTrue(!appId.isEmpty());
@@ -818,8 +825,10 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
 
 
   // Test to validate the process of submitting apps - test for appropriate
   // Test to validate the process of submitting apps - test for appropriate
   // errors as well
   // errors as well
-  @Test
-  public void testGetNewApplicationAndSubmit() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testGetNewApplicationAndSubmit(int run) throws Exception {
+    initTestRMWebServicesAppsModification(run);
     rm.start();
     rm.start();
     MockNM amNodeManager = rm.registerNode("127.0.0.1:1234", 2048);
     MockNM amNodeManager = rm.registerNode("127.0.0.1:1234", 2048);
     amNodeManager.nodeHeartbeat(true);
     amNodeManager.nodeHeartbeat(true);
@@ -983,8 +992,8 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     DataInputStream di = new DataInputStream(str);
     DataInputStream di = new DataInputStream(str);
     cs.readTokenStorageStream(di);
     cs.readTokenStorageStream(di);
     Text key = new Text("secret1");
     Text key = new Text("secret1");
-    assertTrue("Secrets missing from credentials object", cs
-        .getAllSecretKeys().contains(key));
+    assertTrue(cs
+        .getAllSecretKeys().contains(key), "Secrets missing from credentials object");
     assertEquals("mysecret", new String(cs.getSecretKey(key), StandardCharsets.UTF_8));
     assertEquals("mysecret", new String(cs.getSecretKey(key), StandardCharsets.UTF_8));
 
 
     // Check LogAggregationContext
     // Check LogAggregationContext
@@ -1060,9 +1069,10 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     validateResponseStatus(response, BAD_REQUEST);
     validateResponseStatus(response, BAD_REQUEST);
   }
   }
 
 
-  @Test
-  public void testAppSubmitBadJsonAndXML() throws Exception {
-
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testAppSubmitBadJsonAndXML(int run) throws Exception {
+    initTestRMWebServicesAppsModification(run);
     // submit a bunch of bad XML and JSON via the
     // submit a bunch of bad XML and JSON via the
     // REST API and make sure we get error response codes
     // REST API and make sure we get error response codes
 
 
@@ -1107,8 +1117,10 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testGetAppQueue() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testGetAppQueue(int run) throws Exception {
+    initTestRMWebServicesAppsModification(run);
     boolean isCapacityScheduler =
     boolean isCapacityScheduler =
         rm.getResourceScheduler() instanceof CapacityScheduler;
         rm.getResourceScheduler() instanceof CapacityScheduler;
     rm.start();
     rm.start();
@@ -1139,8 +1151,11 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test(timeout = 90000)
-  public void testUpdateAppPriority() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  @Timeout(value = 90)
+  public void testUpdateAppPriority(int run) throws Exception {
+    initTestRMWebServicesAppsModification(run);
 
 
     if (!(rm.getResourceScheduler() instanceof CapacityScheduler)) {
     if (!(rm.getResourceScheduler() instanceof CapacityScheduler)) {
       // till the fair scheduler modifications for priority is completed
       // till the fair scheduler modifications for priority is completed
@@ -1234,9 +1249,11 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test(timeout = 90000)
-  public void testAppMove() throws Exception {
-
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  @Timeout(value = 90)
+  public void testAppMove(int run) throws Exception {
+    initTestRMWebServicesAppsModification(run);
     boolean isCapacityScheduler =
     boolean isCapacityScheduler =
         rm.getResourceScheduler() instanceof CapacityScheduler;
         rm.getResourceScheduler() instanceof CapacityScheduler;
 
 
@@ -1292,7 +1309,7 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
         } else {
         } else {
           verifyAppQueueXML(response, expectedQueue);
           verifyAppQueueXML(response, expectedQueue);
         }
         }
-        Assert.assertEquals(expectedQueue, app.getQueue());
+        assertEquals(expectedQueue, app.getQueue());
 
 
         // check unauthorized
         // check unauthorized
         MockRMAppSubmissionData data =
         MockRMAppSubmissionData data =
@@ -1306,10 +1323,10 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
             "queue").request().put(Entity.entity(entity, contentType), Response.class);
             "queue").request().put(Entity.entity(entity, contentType), Response.class);
         assertResponseStatusCode(Response.Status.FORBIDDEN, response.getStatusInfo());
         assertResponseStatusCode(Response.Status.FORBIDDEN, response.getStatusInfo());
         if(isCapacityScheduler) {
         if(isCapacityScheduler) {
-          Assert.assertEquals("root.default", app.getQueue());
+          assertEquals("root.default", app.getQueue());
         }
         }
         else {
         else {
-          Assert.assertEquals("root.someuser", app.getQueue());
+          assertEquals("root.someuser", app.getQueue());
         }
         }
 
 
       }
       }
@@ -1335,7 +1352,7 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject json = response.readEntity(JSONObject.class);
-    assertEquals("incorrect number of elements", 1, json.length());
+    assertEquals(1, json.length(), "incorrect number of elements");
     JSONObject applicationpriority = json.getJSONObject("applicationpriority");
     JSONObject applicationpriority = json.getJSONObject("applicationpriority");
     int responsePriority = applicationpriority.getInt("priority");
     int responsePriority = applicationpriority.getInt("priority");
     assertEquals(expectedPriority, responsePriority);
     assertEquals(expectedPriority, responsePriority);
@@ -1353,7 +1370,7 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     is.setCharacterStream(new StringReader(xml));
     is.setCharacterStream(new StringReader(xml));
     Document dom = db.parse(is);
     Document dom = db.parse(is);
     NodeList nodes = dom.getElementsByTagName("applicationpriority");
     NodeList nodes = dom.getElementsByTagName("applicationpriority");
-    assertEquals("incorrect number of elements", 1, nodes.getLength());
+    assertEquals(1, nodes.getLength(), "incorrect number of elements");
     Element element = (Element) nodes.item(0);
     Element element = (Element) nodes.item(0);
     int responsePriority = WebServicesTestUtils.getXmlInt(element, "priority");
     int responsePriority = WebServicesTestUtils.getXmlInt(element, "priority");
     assertEquals(expectedPriority, responsePriority);
     assertEquals(expectedPriority, responsePriority);
@@ -1364,7 +1381,7 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject json = response.readEntity(JSONObject.class);
-    assertEquals("incorrect number of elements", 1, json.length());
+    assertEquals(1, json.length(), "incorrect number of elements");
     String responseQueue = json.getJSONObject("appqueue").getString("queue");
     String responseQueue = json.getJSONObject("appqueue").getString("queue");
     assertEquals(queue, responseQueue);
     assertEquals(queue, responseQueue);
   }
   }
@@ -1380,15 +1397,17 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     is.setCharacterStream(new StringReader(xml));
     is.setCharacterStream(new StringReader(xml));
     Document dom = db.parse(is);
     Document dom = db.parse(is);
     NodeList nodes = dom.getElementsByTagName("appqueue");
     NodeList nodes = dom.getElementsByTagName("appqueue");
-    assertEquals("incorrect number of elements", 1, nodes.getLength());
+    assertEquals(1, nodes.getLength(), "incorrect number of elements");
     Element element = (Element) nodes.item(0);
     Element element = (Element) nodes.item(0);
     String responseQueue = WebServicesTestUtils.getXmlString(element, "queue");
     String responseQueue = WebServicesTestUtils.getXmlString(element, "queue");
     assertEquals(queue, responseQueue);
     assertEquals(queue, responseQueue);
   }
   }
 
 
-  @Test(timeout = 90000)
-  public void testUpdateAppTimeout() throws Exception {
-
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  @Timeout(value = 90)
+  public void testUpdateAppTimeout(int run) throws Exception {
+    initTestRMWebServicesAppsModification(run);
     rm.start();
     rm.start();
     rm.registerNode("127.0.0.1:1234", 2048);
     rm.registerNode("127.0.0.1:1234", 2048);
     String[] mediaTypes =
     String[] mediaTypes =
@@ -1490,7 +1509,7 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject jsonTimeout = response.readEntity(JSONObject.class);
     JSONObject jsonTimeout = response.readEntity(JSONObject.class);
-    assertEquals("incorrect number of elements", 1, jsonTimeout.length());
+    assertEquals(1, jsonTimeout.length(), "incorrect number of elements");
     JSONObject json = jsonTimeout.getJSONObject("timeout");
     JSONObject json = jsonTimeout.getJSONObject("timeout");
     verifyAppTimeoutJson(json, type, expireTime, timeOutFromNow);
     verifyAppTimeoutJson(json, type, expireTime, timeOutFromNow);
   }
   }
@@ -1498,7 +1517,7 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
   protected static void verifyAppTimeoutJson(JSONObject json,
   protected static void verifyAppTimeoutJson(JSONObject json,
       ApplicationTimeoutType type, String expireTime, long timeOutFromNow)
       ApplicationTimeoutType type, String expireTime, long timeOutFromNow)
       throws JSONException {
       throws JSONException {
-    assertEquals("incorrect number of elements", 3, json.length());
+    assertEquals(3, json.length(), "incorrect number of elements");
     assertEquals(type.toString(), json.getString("type"));
     assertEquals(type.toString(), json.getString("type"));
     assertEquals(expireTime, json.getString("expiryTime"));
     assertEquals(expireTime, json.getString("expiryTime"));
     assertTrue(json.getLong("remainingTimeInSeconds") <= timeOutFromNow);
     assertTrue(json.getLong("remainingTimeInSeconds") <= timeOutFromNow);
@@ -1516,7 +1535,7 @@ public class TestRMWebServicesAppsModification extends JerseyTestBase {
     is.setCharacterStream(new StringReader(xml));
     is.setCharacterStream(new StringReader(xml));
     Document dom = db.parse(is);
     Document dom = db.parse(is);
     NodeList nodes = dom.getElementsByTagName("timeout");
     NodeList nodes = dom.getElementsByTagName("timeout");
-    assertEquals("incorrect number of elements", 1, nodes.getLength());
+    assertEquals(1, nodes.getLength(), "incorrect number of elements");
     Element element = (Element) nodes.item(0);
     Element element = (Element) nodes.item(0);
     assertEquals(type.toString(),
     assertEquals(type.toString(),
         WebServicesTestUtils.getXmlString(element, "type"));
         WebServicesTestUtils.getXmlString(element, "type"));

+ 26 - 21
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySched.java

@@ -38,9 +38,8 @@ import org.codehaus.jettison.json.JSONObject;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeEach;
 
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.yarn.api.records.Resource;
 import org.apache.hadoop.yarn.api.records.Resource;
@@ -49,8 +48,8 @@ import org.apache.hadoop.yarn.server.resourcemanager.MockRMAppSubmissionData;
 import org.apache.hadoop.yarn.server.resourcemanager.MockRMAppSubmitter;
 import org.apache.hadoop.yarn.server.resourcemanager.MockRMAppSubmitter;
 import org.apache.hadoop.yarn.util.resource.Resources;
 import org.apache.hadoop.yarn.util.resource.Resources;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
 
 import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerTestUtilities.GB;
 import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerTestUtilities.GB;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.assertJsonResponse;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.assertJsonResponse;
@@ -59,18 +58,16 @@ import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServic
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.backupSchedulerConfigFileInTarget;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.backupSchedulerConfigFileInTarget;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.createRM;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.createRM;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.restoreSchedulerConfigFileInTarget;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.restoreSchedulerConfigFileInTarget;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
-@RunWith(Parameterized.class)
 public class TestRMWebServicesCapacitySched extends JerseyTestBase {
 public class TestRMWebServicesCapacitySched extends JerseyTestBase {
 
 
-  private final boolean legacyQueueMode;
+  private boolean legacyQueueMode;
   private MockRM rm;
   private MockRM rm;
   private ResourceConfig config;
   private ResourceConfig config;
 
 
-  @Parameterized.Parameters(name = "{index}: legacy-queue-mode={0}")
   public static Collection<Boolean> getParameters() {
   public static Collection<Boolean> getParameters() {
     return Arrays.asList(true, false);
     return Arrays.asList(true, false);
   }
   }
@@ -109,24 +106,26 @@ public class TestRMWebServicesCapacitySched extends JerseyTestBase {
     }
     }
   }
   }
 
 
-  @Before
+  @BeforeEach
   @Override
   @Override
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     super.setUp();
     super.setUp();
   }
   }
 
 
-  public TestRMWebServicesCapacitySched(boolean legacyQueueMode) {
-    this.legacyQueueMode = legacyQueueMode;
+  public void initTestRMWebServicesCapacitySched(boolean pLegacyQueueMode) {
+    this.legacyQueueMode = pLegacyQueueMode;
     backupSchedulerConfigFileInTarget();
     backupSchedulerConfigFileInTarget();
   }
   }
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }
 
 
-  @Test
-  public void testClusterScheduler() throws Exception {
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testClusterScheduler(boolean pLegacyQueueMode) throws Exception {
+    initTestRMWebServicesCapacitySched(pLegacyQueueMode);
     rm.registerNode("h1:1234", 32 * GB, 32);
     rm.registerNode("h1:1234", 32 * GB, 32);
     assertJsonResponse(target().path("ws/v1/cluster/scheduler")
     assertJsonResponse(target().path("ws/v1/cluster/scheduler")
         .request(MediaType.APPLICATION_JSON).get(Response.class),
         .request(MediaType.APPLICATION_JSON).get(Response.class),
@@ -142,8 +141,10 @@ public class TestRMWebServicesCapacitySched extends JerseyTestBase {
         "webapp/scheduler-response.xml");
         "webapp/scheduler-response.xml");
   }
   }
 
 
-  @Test
-  public void testPerUserResources() throws Exception {
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testPerUserResources(boolean pLegacyQueueMode) throws Exception {
+    initTestRMWebServicesCapacitySched(pLegacyQueueMode);
     rm.registerNode("h1:1234", 32 * GB, 32);
     rm.registerNode("h1:1234", 32 * GB, 32);
 
 
     MockRMAppSubmitter.submit(rm, MockRMAppSubmissionData.Builder
     MockRMAppSubmitter.submit(rm, MockRMAppSubmissionData.Builder
@@ -174,8 +175,10 @@ public class TestRMWebServicesCapacitySched extends JerseyTestBase {
         "webapp/scheduler-response-PerUserResources.json");
         "webapp/scheduler-response-PerUserResources.json");
   }
   }
 
 
-  @Test
-  public void testClusterSchedulerOverviewCapacity() throws Exception {
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testClusterSchedulerOverviewCapacity(boolean pLegacyQueueMode) throws Exception {
+    initTestRMWebServicesCapacitySched(pLegacyQueueMode);
     rm.registerNode("h1:1234", 32 * GB, 32);
     rm.registerNode("h1:1234", 32 * GB, 32);
     Response response = targetWithJsonObject().path("ws/v1/cluster/scheduler-overview")
     Response response = targetWithJsonObject().path("ws/v1/cluster/scheduler-overview")
         .request(MediaType.APPLICATION_JSON).get(Response.class);
         .request(MediaType.APPLICATION_JSON).get(Response.class);
@@ -185,8 +188,10 @@ public class TestRMWebServicesCapacitySched extends JerseyTestBase {
     TestRMWebServices.verifyClusterSchedulerOverView(scheduler, "Capacity Scheduler");
     TestRMWebServices.verifyClusterSchedulerOverView(scheduler, "Capacity Scheduler");
   }
   }
 
 
-  @Test
-  public void testResourceInfo() {
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testResourceInfo(boolean pLegacyQueueMode) {
+    initTestRMWebServicesCapacitySched(pLegacyQueueMode);
     Resource res = Resources.createResource(10, 1);
     Resource res = Resources.createResource(10, 1);
     // If we add a new resource (e.g. disks), then
     // If we add a new resource (e.g. disks), then
     // CapacitySchedulerPage and these RM WebServices + docs need to be updated
     // CapacitySchedulerPage and these RM WebServices + docs need to be updated

+ 13 - 14
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedDefaultLabel.java

@@ -31,11 +31,9 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -53,16 +51,14 @@ import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServic
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
-@RunWith(Parameterized.class)
 public class TestRMWebServicesCapacitySchedDefaultLabel extends JerseyTestBase {
 public class TestRMWebServicesCapacitySchedDefaultLabel extends JerseyTestBase {
 
 
   private static final QueuePath ROOT = new QueuePath(CapacitySchedulerConfiguration.ROOT);
   private static final QueuePath ROOT = new QueuePath(CapacitySchedulerConfiguration.ROOT);
   private static final QueuePath A = new QueuePath(CapacitySchedulerConfiguration.ROOT + ".a");
   private static final QueuePath A = new QueuePath(CapacitySchedulerConfiguration.ROOT + ".a");
-  private final boolean legacyQueueMode;
+  private boolean legacyQueueMode;
   private MockRM rm;
   private MockRM rm;
   private ResourceConfig config;
   private ResourceConfig config;
 
 
-  @Parameterized.Parameters(name = "{index}: legacy-queue-mode={0}")
   public static Collection<Boolean> getParameters() {
   public static Collection<Boolean> getParameters() {
     return Arrays.asList(true, false);
     return Arrays.asList(true, false);
   }
   }
@@ -100,24 +96,27 @@ public class TestRMWebServicesCapacitySchedDefaultLabel extends JerseyTestBase {
     }
     }
   }
   }
 
 
-  @Before
   @Override
   @Override
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     super.setUp();
     super.setUp();
   }
   }
 
 
-  public TestRMWebServicesCapacitySchedDefaultLabel(boolean legacyQueueMode) {
-    this.legacyQueueMode = legacyQueueMode;
+  public void initTestRMWebServicesCapacitySchedDefaultLabel(boolean pLegacyQueueMode)
+      throws Exception {
+    this.legacyQueueMode = pLegacyQueueMode;
     backupSchedulerConfigFileInTarget();
     backupSchedulerConfigFileInTarget();
+    setUp();
   }
   }
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }
 
 
-  @Test
-  public void testNodeLabelDefaultAPI() throws Exception {
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testNodeLabelDefaultAPI(boolean pLegacyQueueMode) throws Exception {
+    initTestRMWebServicesCapacitySchedDefaultLabel(pLegacyQueueMode);
     rm.registerNode("h1:1234", 32 * GB, 32);
     rm.registerNode("h1:1234", 32 * GB, 32);
     Response response = target().path("ws/v1/cluster/scheduler")
     Response response = target().path("ws/v1/cluster/scheduler")
         .request(MediaType.APPLICATION_XML).get(Response.class);
         .request(MediaType.APPLICATION_XML).get(Response.class);

+ 18 - 12
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedDynamicConfig.java

@@ -31,14 +31,13 @@ import org.apache.hadoop.yarn.webapp.GenericExceptionHandler;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
 
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.yarn.server.resourcemanager.MockRM;
 import org.apache.hadoop.yarn.server.resourcemanager.MockRM;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -62,23 +61,28 @@ import static org.mockito.Mockito.when;
  *     root.test_1.test_1_2      2/16      [memory=2048,  vcores=2]       6.25%
  *     root.test_1.test_1_2      2/16      [memory=2048,  vcores=2]       6.25%
  *     root.test_1.test_1_3     12/16      [memory=12288, vcores=12]      37.5%
  *     root.test_1.test_1_3     12/16      [memory=12288, vcores=12]      37.5%
  */
  */
-@RunWith(Parameterized.class)
 public class TestRMWebServicesCapacitySchedDynamicConfig extends JerseyTestBase {
 public class TestRMWebServicesCapacitySchedDynamicConfig extends JerseyTestBase {
 
 
-  private final boolean legacyQueueMode;
+  private boolean legacyQueueMode;
 
 
   private MockRM rm;
   private MockRM rm;
 
 
-  @Parameterized.Parameters(name = "{index}: legacy-queue-mode={0}")
   public static Collection<Boolean> getParameters() {
   public static Collection<Boolean> getParameters() {
     return Arrays.asList(true, false);
     return Arrays.asList(true, false);
   }
   }
 
 
   private static final String EXPECTED_FILE_TMPL = "webapp/dynamic-%s-%s.json";
   private static final String EXPECTED_FILE_TMPL = "webapp/dynamic-%s-%s.json";
 
 
-  public TestRMWebServicesCapacitySchedDynamicConfig(boolean legacyQueueMode) {
-    this.legacyQueueMode = legacyQueueMode;
+  public void initTestRMWebServicesCapacitySchedDynamicConfig(boolean pLegacyQueueMode)
+      throws Exception {
+    this.legacyQueueMode = pLegacyQueueMode;
     backupSchedulerConfigFileInTarget();
     backupSchedulerConfigFileInTarget();
+    setUp();
+  }
+
+  @Override
+  public void setUp() throws Exception {
+    super.setUp();
   }
   }
 
 
   @Override
   @Override
@@ -124,13 +128,15 @@ public class TestRMWebServicesCapacitySchedDynamicConfig extends JerseyTestBase
     }
     }
   }
   }
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }
 
 
-  @Test
-  public void testPercentageMode() throws Exception {
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testPercentageMode(boolean pLegacyQueueMode) throws Exception {
+    initTestRMWebServicesCapacitySchedDynamicConfig(pLegacyQueueMode);
     runTest(EXPECTED_FILE_TMPL, "testPercentageMode", rm, target());
     runTest(EXPECTED_FILE_TMPL, "testPercentageMode", rm, target());
   }
   }
 }
 }

+ 18 - 12
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedDynamicConfigAbsoluteMode.java

@@ -31,10 +31,9 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -62,23 +61,28 @@ import static org.mockito.Mockito.when;
  *     root.test_1.test_1_2      2/16      [memory=2048,  vcores=2]       6.25%
  *     root.test_1.test_1_2      2/16      [memory=2048,  vcores=2]       6.25%
  *     root.test_1.test_1_3     12/16      [memory=12288, vcores=12]      37.5%
  *     root.test_1.test_1_3     12/16      [memory=12288, vcores=12]      37.5%
  */
  */
-@RunWith(Parameterized.class)
 public class TestRMWebServicesCapacitySchedDynamicConfigAbsoluteMode extends JerseyTestBase {
 public class TestRMWebServicesCapacitySchedDynamicConfigAbsoluteMode extends JerseyTestBase {
 
 
-  private final boolean legacyQueueMode;
+  private boolean legacyQueueMode;
 
 
   private MockRM rm;
   private MockRM rm;
 
 
-  @Parameterized.Parameters(name = "{index}: legacy-queue-mode={0}")
   public static Collection<Boolean> getParameters() {
   public static Collection<Boolean> getParameters() {
     return Arrays.asList(true, false);
     return Arrays.asList(true, false);
   }
   }
 
 
   private static final String EXPECTED_FILE_TMPL = "webapp/dynamic-%s-%s.json";
   private static final String EXPECTED_FILE_TMPL = "webapp/dynamic-%s-%s.json";
 
 
-  public TestRMWebServicesCapacitySchedDynamicConfigAbsoluteMode(boolean legacyQueueMode) {
-    this.legacyQueueMode = legacyQueueMode;
+  @Override
+  public void setUp() throws Exception {
+    super.setUp();
+  }
+
+  public void initTestRMWebServicesCapacitySchedDynamicConfigAbsoluteMode(
+      boolean pLegacyQueueMode) throws Exception {
+    this.legacyQueueMode = pLegacyQueueMode;
     backupSchedulerConfigFileInTarget();
     backupSchedulerConfigFileInTarget();
+    setUp();
   }
   }
 
 
   @Override
   @Override
@@ -128,13 +132,15 @@ public class TestRMWebServicesCapacitySchedDynamicConfigAbsoluteMode extends Jer
     }
     }
   }
   }
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }
 
 
-  @Test
-  public void testAbsoluteMode() throws Exception {
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testAbsoluteMode(boolean pLegacyQueueMode) throws Exception {
+    initTestRMWebServicesCapacitySchedDynamicConfigAbsoluteMode(pLegacyQueueMode);
     runTest(EXPECTED_FILE_TMPL, "testAbsoluteMode", rm, target());
     runTest(EXPECTED_FILE_TMPL, "testAbsoluteMode", rm, target());
   }
   }
 }
 }

+ 18 - 12
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedDynamicConfigWeightMode.java

@@ -31,10 +31,9 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -61,23 +60,28 @@ import static org.mockito.Mockito.when;
  *     root.test_1.test_1_2      2/16      [memory=2048,  vcores=2]       6.25%
  *     root.test_1.test_1_2      2/16      [memory=2048,  vcores=2]       6.25%
  *     root.test_1.test_1_3     12/16      [memory=12288, vcores=12]      37.5%
  *     root.test_1.test_1_3     12/16      [memory=12288, vcores=12]      37.5%
  */
  */
-@RunWith(Parameterized.class)
 public class TestRMWebServicesCapacitySchedDynamicConfigWeightMode extends JerseyTestBase {
 public class TestRMWebServicesCapacitySchedDynamicConfigWeightMode extends JerseyTestBase {
 
 
-  private final boolean legacyQueueMode;
+  private boolean legacyQueueMode;
 
 
   private MockRM rm;
   private MockRM rm;
 
 
-  @Parameterized.Parameters(name = "{index}: legacy-queue-mode={0}")
   public static Collection<Boolean> getParameters() {
   public static Collection<Boolean> getParameters() {
     return Arrays.asList(true, false);
     return Arrays.asList(true, false);
   }
   }
 
 
   private static final String EXPECTED_FILE_TMPL = "webapp/dynamic-%s-%s.json";
   private static final String EXPECTED_FILE_TMPL = "webapp/dynamic-%s-%s.json";
 
 
-  public TestRMWebServicesCapacitySchedDynamicConfigWeightMode(boolean legacyQueueMode) {
-    this.legacyQueueMode = legacyQueueMode;
+  public void initTestRMWebServicesCapacitySchedDynamicConfigWeightMode(
+      boolean pLegacyQueueMode) throws Exception {
+    this.legacyQueueMode = pLegacyQueueMode;
     backupSchedulerConfigFileInTarget();
     backupSchedulerConfigFileInTarget();
+    setUp();
+  }
+
+  @Override
+  public void setUp() throws Exception {
+    super.setUp();
   }
   }
 
 
   @Override
   @Override
@@ -126,13 +130,15 @@ public class TestRMWebServicesCapacitySchedDynamicConfigWeightMode extends Jerse
     }
     }
   }
   }
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }
 
 
-  @Test
-  public void testWeightMode() throws Exception {
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testWeightMode(boolean pLegacyQueueMode) throws Exception {
+    initTestRMWebServicesCapacitySchedDynamicConfigWeightMode(pLegacyQueueMode);
     runTest(EXPECTED_FILE_TMPL, "testWeightMode", rm, target());
     runTest(EXPECTED_FILE_TMPL, "testWeightMode", rm, target());
   }
   }
 }
 }

+ 18 - 12
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedDynamicConfigWeightModeDQC.java

@@ -33,10 +33,9 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -70,14 +69,12 @@ import static org.mockito.Mockito.when;
  *     root.test_1.test_1_2      2/16      [memory=2048,  vcores=2]       6.25%
  *     root.test_1.test_1_2      2/16      [memory=2048,  vcores=2]       6.25%
  *     root.test_1.test_1_3     12/16      [memory=12288, vcores=12]      37.5%
  *     root.test_1.test_1_3     12/16      [memory=12288, vcores=12]      37.5%
  */
  */
-@RunWith(Parameterized.class)
 public class TestRMWebServicesCapacitySchedDynamicConfigWeightModeDQC extends JerseyTestBase {
 public class TestRMWebServicesCapacitySchedDynamicConfigWeightModeDQC extends JerseyTestBase {
 
 
-  private final boolean legacyQueueMode;
+  private boolean legacyQueueMode;
 
 
   private MockRM rm;
   private MockRM rm;
 
 
-  @Parameterized.Parameters(name = "{index}: legacy-queue-mode={0}")
   public static Collection<Boolean> getParameters() {
   public static Collection<Boolean> getParameters() {
     return Arrays.asList(true, false);
     return Arrays.asList(true, false);
   }
   }
@@ -86,9 +83,16 @@ public class TestRMWebServicesCapacitySchedDynamicConfigWeightModeDQC extends Je
 
 
   private Configuration conf;
   private Configuration conf;
 
 
-  public TestRMWebServicesCapacitySchedDynamicConfigWeightModeDQC(boolean legacyQueueMode) {
-    this.legacyQueueMode = legacyQueueMode;
+  @Override
+  public void setUp() throws Exception {
+    super.setUp();
+  }
+
+  public void initTestRMWebServicesCapacitySchedDynamicConfigWeightModeDQC(
+      boolean pLegacyQueueMode) throws Exception {
+    this.legacyQueueMode = pLegacyQueueMode;
     backupSchedulerConfigFileInTarget();
     backupSchedulerConfigFileInTarget();
+    setUp();
   }
   }
 
 
   @Override
   @Override
@@ -135,13 +139,15 @@ public class TestRMWebServicesCapacitySchedDynamicConfigWeightModeDQC extends Je
     }
     }
   }
   }
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }
 
 
-  @Test
-  public void testWeightModeFlexibleAQC() throws Exception {
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testWeightModeFlexibleAQC(boolean pLegacyQueueMode) throws Exception {
+    initTestRMWebServicesCapacitySchedDynamicConfigWeightModeDQC(pLegacyQueueMode);
     // capacity and normalizedWeight are set differently between legacy/non-legacy queue mode
     // capacity and normalizedWeight are set differently between legacy/non-legacy queue mode
     rm.registerNode("h1:1234", 32 * GB, 32);
     rm.registerNode("h1:1234", 32 * GB, 32);
     assertJsonResponse(sendRequest(target()),
     assertJsonResponse(sendRequest(target()),

+ 18 - 12
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedLegacyQueueCreation.java

@@ -37,13 +37,12 @@ import org.apache.hadoop.yarn.webapp.GenericExceptionHandler;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
 
 
 import org.apache.hadoop.yarn.server.resourcemanager.MockRM;
 import org.apache.hadoop.yarn.server.resourcemanager.MockRM;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
 
 import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfigGeneratorForTest.createConfiguration;
 import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfigGeneratorForTest.createConfiguration;
 import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerTestUtilities.GB;
 import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerTestUtilities.GB;
@@ -54,15 +53,13 @@ import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServic
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
-@RunWith(Parameterized.class)
 public class TestRMWebServicesCapacitySchedLegacyQueueCreation extends
 public class TestRMWebServicesCapacitySchedLegacyQueueCreation extends
     JerseyTestBase {
     JerseyTestBase {
 
 
-  private final boolean legacyQueueMode;
+  private boolean legacyQueueMode;
 
 
   private MockRM rm;
   private MockRM rm;
 
 
-  @Parameterized.Parameters(name = "{index}: legacy-queue-mode={0}")
   public static Collection<Boolean> getParameters() {
   public static Collection<Boolean> getParameters() {
     return Arrays.asList(true, false);
     return Arrays.asList(true, false);
   }
   }
@@ -80,6 +77,11 @@ public class TestRMWebServicesCapacitySchedLegacyQueueCreation extends
     return config;
     return config;
   }
   }
 
 
+  @Override
+  public void setUp() throws Exception {
+    super.setUp();
+  }
+
   private class JerseyBinder extends AbstractBinder {
   private class JerseyBinder extends AbstractBinder {
     @Override
     @Override
     protected void configure() {
     protected void configure() {
@@ -107,19 +109,23 @@ public class TestRMWebServicesCapacitySchedLegacyQueueCreation extends
     }
     }
   }
   }
 
 
-  public TestRMWebServicesCapacitySchedLegacyQueueCreation(boolean legacyQueueMode) {
-    this.legacyQueueMode = legacyQueueMode;
+  public void initTestRMWebServicesCapacitySchedLegacyQueueCreation(boolean pLegacyQueueMode)
+      throws Exception {
+    this.legacyQueueMode = pLegacyQueueMode;
     backupSchedulerConfigFileInTarget();
     backupSchedulerConfigFileInTarget();
+    setUp();
   }
   }
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }
 
 
-  @Test
-  public void testSchedulerResponsePercentageModeLegacyAutoCreation()
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testSchedulerResponsePercentageModeLegacyAutoCreation(boolean pLegacyQueueMode)
       throws Exception {
       throws Exception {
+    initTestRMWebServicesCapacitySchedLegacyQueueCreation(pLegacyQueueMode);
     rm.registerNode("h1:1234", 32 * GB, 32);
     rm.registerNode("h1:1234", 32 * GB, 32);
     assertJsonResponse(sendRequest(),
     assertJsonResponse(sendRequest(),
         "webapp/scheduler-response-PercentageModeLegacyAutoCreation.json");
         "webapp/scheduler-response-PercentageModeLegacyAutoCreation.json");

+ 20 - 12
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedLegacyQueueCreationAbsoluteMode.java

@@ -30,10 +30,10 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.glassfish.jersey.test.TestProperties;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -54,15 +54,13 @@ import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServic
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
-@RunWith(Parameterized.class)
 public class TestRMWebServicesCapacitySchedLegacyQueueCreationAbsoluteMode extends
 public class TestRMWebServicesCapacitySchedLegacyQueueCreationAbsoluteMode extends
     JerseyTestBase {
     JerseyTestBase {
 
 
-  private final boolean legacyQueueMode;
+  private boolean legacyQueueMode;
 
 
   private MockRM rm;
   private MockRM rm;
 
 
-  @Parameterized.Parameters(name = "{index}: legacy-queue-mode={0}")
   public static Collection<Boolean> getParameters() {
   public static Collection<Boolean> getParameters() {
     return Arrays.asList(true, false);
     return Arrays.asList(true, false);
   }
   }
@@ -75,6 +73,7 @@ public class TestRMWebServicesCapacitySchedLegacyQueueCreationAbsoluteMode exten
     config.register(GenericExceptionHandler.class);
     config.register(GenericExceptionHandler.class);
     config.register(TestRMWebServicesAppsModification.TestRMCustomAuthFilter.class);
     config.register(TestRMWebServicesAppsModification.TestRMCustomAuthFilter.class);
     config.register(new JettisonFeature()).register(JAXBContextResolver.class);
     config.register(new JettisonFeature()).register(JAXBContextResolver.class);
+    forceSet(TestProperties.CONTAINER_PORT, JERSEY_RANDOM_PORT);
     return config;
     return config;
   }
   }
 
 
@@ -111,19 +110,28 @@ public class TestRMWebServicesCapacitySchedLegacyQueueCreationAbsoluteMode exten
     }
     }
   }
   }
 
 
-  public TestRMWebServicesCapacitySchedLegacyQueueCreationAbsoluteMode(boolean legacyQueueMode) {
-    this.legacyQueueMode = legacyQueueMode;
+  @Override
+  public void setUp() throws Exception {
+    super.setUp();
+  }
+
+  public void initTestRMWebServicesCapacitySchedLegacyQueueCreationAbsoluteMode(
+      boolean pLegacyQueueMode) throws Exception {
+    this.legacyQueueMode = pLegacyQueueMode;
     backupSchedulerConfigFileInTarget();
     backupSchedulerConfigFileInTarget();
+    setUp();
   }
   }
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }
 
 
-  @Test
-  public void testSchedulerResponseAbsoluteModeLegacyAutoCreation()
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testSchedulerResponseAbsoluteModeLegacyAutoCreation(boolean pLegacyQueueMode)
       throws Exception {
       throws Exception {
+    initTestRMWebServicesCapacitySchedLegacyQueueCreationAbsoluteMode(pLegacyQueueMode);
     rm.registerNode("h1:1234", 32 * GB, 32);
     rm.registerNode("h1:1234", 32 * GB, 32);
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
     CapacitySchedulerQueueManager autoQueueHandler = cs.getCapacitySchedulerQueueManager();
     CapacitySchedulerQueueManager autoQueueHandler = cs.getCapacitySchedulerQueueManager();

+ 22 - 18
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerConfigMutation.java

@@ -26,7 +26,6 @@ import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.Response;
 
 
 import java.io.FileOutputStream;
 import java.io.FileOutputStream;
-import java.io.IOException;
 import java.security.Principal;
 import java.security.Principal;
 import java.util.Arrays;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collection;
@@ -46,15 +45,14 @@ import org.apache.hadoop.yarn.webapp.dao.SchedConfUpdateInfo;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.yarn.server.resourcemanager.MockRM;
 import org.apache.hadoop.yarn.server.resourcemanager.MockRM;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
 
 import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerTestUtilities.GB;
 import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerTestUtilities.GB;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.assertJsonResponse;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.assertJsonResponse;
@@ -63,20 +61,18 @@ import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServic
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.getCapacitySchedulerConfigFileInTarget;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.getCapacitySchedulerConfigFileInTarget;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.getExpectedResourceFile;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.getExpectedResourceFile;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.restoreSchedulerConfigFileInTarget;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.restoreSchedulerConfigFileInTarget;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
-@RunWith(Parameterized.class)
 public class TestRMWebServicesCapacitySchedulerConfigMutation extends JerseyTestBase {
 public class TestRMWebServicesCapacitySchedulerConfigMutation extends JerseyTestBase {
   private static final String EXPECTED_FILE_TMPL = "webapp/configmutation-%s-%s.json";
   private static final String EXPECTED_FILE_TMPL = "webapp/configmutation-%s-%s.json";
-  private final boolean legacyQueueMode;
+  private boolean legacyQueueMode;
   private String userName;
   private String userName;
   private Configuration absoluteConfig;
   private Configuration absoluteConfig;
   private MockRM rm;
   private MockRM rm;
   private HttpServletRequest request;
   private HttpServletRequest request;
 
 
-  @Parameterized.Parameters(name = "{index}: legacy-queue-mode={0}")
   public static Collection<Boolean> getParameters() {
   public static Collection<Boolean> getParameters() {
     return Arrays.asList(true, false);
     return Arrays.asList(true, false);
   }
   }
@@ -118,25 +114,33 @@ public class TestRMWebServicesCapacitySchedulerConfigMutation extends JerseyTest
     }
     }
   }
   }
 
 
-  @BeforeClass
+  @BeforeAll
   public static void beforeClass() {
   public static void beforeClass() {
     backupSchedulerConfigFileInTarget();
     backupSchedulerConfigFileInTarget();
   }
   }
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }
 
 
-  public TestRMWebServicesCapacitySchedulerConfigMutation(boolean legacyQueueMode)
-      throws IOException {
-    this.legacyQueueMode = legacyQueueMode;
-    this.userName = UserGroupInformation.getCurrentUser().getShortUserName();
+  @Override
+  public void setUp() throws Exception {
+    super.setUp();
   }
   }
 
 
-  @Test
-  public void testUpdateAbsoluteHierarchyWithZeroCapacities() throws Exception {
+  public void initTestRMWebServicesCapacitySchedulerConfigMutation(boolean pLegacyQueueMode)
+      throws Exception {
+    this.legacyQueueMode = pLegacyQueueMode;
+    this.userName = UserGroupInformation.getCurrentUser().getShortUserName();
+    setUp();
+  }
 
 
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testUpdateAbsoluteHierarchyWithZeroCapacities(boolean pLegacyQueueMode)
+      throws Exception {
+    initTestRMWebServicesCapacitySchedulerConfigMutation(pLegacyQueueMode);
     Principal principal = () -> userName;
     Principal principal = () -> userName;
     when(request.getUserPrincipal()).thenReturn(principal);
     when(request.getUserPrincipal()).thenReturn(principal);
 
 

+ 3 - 3
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedMode.java

@@ -29,8 +29,8 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.Test;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -67,7 +67,7 @@ public class TestRMWebServicesCapacitySchedulerMixedMode extends JerseyTestBase
   private Configuration conf;
   private Configuration conf;
   private RMWebServices rmWebServices;
   private RMWebServices rmWebServices;
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }

+ 3 - 3
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndPercentage.java

@@ -25,8 +25,8 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.Test;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -67,7 +67,7 @@ public class TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndPercentage
   private Configuration conf;
   private Configuration conf;
   private RMWebServices rmWebServices;
   private RMWebServices rmWebServices;
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }

+ 3 - 3
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndPercentageAndWeight.java

@@ -25,8 +25,8 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.Test;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -66,7 +66,7 @@ public class TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndPercentageAnd
   private Configuration conf;
   private Configuration conf;
   private RMWebServices rmWebServices;
   private RMWebServices rmWebServices;
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }

+ 3 - 3
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndPercentageAndWeightVector.java

@@ -25,8 +25,8 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.Test;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -66,7 +66,7 @@ public class TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndPercentageAnd
   private Configuration conf;
   private Configuration conf;
   private RMWebServices rmWebServices;
   private RMWebServices rmWebServices;
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }

+ 3 - 3
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndPercentageVector.java

@@ -25,8 +25,8 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.Test;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -66,7 +66,7 @@ public class TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndPercentageVec
   private Configuration conf;
   private Configuration conf;
   private RMWebServices rmWebServices;
   private RMWebServices rmWebServices;
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }

+ 3 - 3
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndWeight.java

@@ -25,8 +25,8 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.Test;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -66,7 +66,7 @@ public class TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndWeight
   private Configuration conf;
   private Configuration conf;
   private RMWebServices rmWebServices;
   private RMWebServices rmWebServices;
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }

+ 3 - 3
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndWeightVector.java

@@ -25,8 +25,8 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.Test;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -66,7 +66,7 @@ public class TestRMWebServicesCapacitySchedulerMixedModeAbsoluteAndWeightVector
   private Configuration conf;
   private Configuration conf;
   private RMWebServices rmWebServices;
   private RMWebServices rmWebServices;
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }

+ 3 - 3
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedModePercentageAndWeight.java

@@ -25,8 +25,8 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.Test;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -65,7 +65,7 @@ public class TestRMWebServicesCapacitySchedulerMixedModePercentageAndWeight exte
   private Configuration conf;
   private Configuration conf;
   private RMWebServices rmWebServices;
   private RMWebServices rmWebServices;
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }

+ 3 - 3
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCapacitySchedulerMixedModePercentageAndWeightVector.java

@@ -25,8 +25,8 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
-import org.junit.AfterClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.Test;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -66,7 +66,7 @@ public class TestRMWebServicesCapacitySchedulerMixedModePercentageAndWeightVecto
   private Configuration conf;
   private Configuration conf;
   private RMWebServices rmWebServices;
   private RMWebServices rmWebServices;
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }

+ 25 - 25
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesConfigurationMutation.java

@@ -46,11 +46,11 @@ import org.apache.hadoop.yarn.webapp.dao.SchedConfUpdateInfo;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 
 
@@ -76,10 +76,10 @@ import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServic
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.backupSchedulerConfigFileInTarget;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.backupSchedulerConfigFileInTarget;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.restoreSchedulerConfigFileInTarget;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.restoreSchedulerConfigFileInTarget;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.toJson;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.toJson;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfiguration.ORDERING_POLICY;
 import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfiguration.ORDERING_POLICY;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
@@ -156,18 +156,18 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
   }
   }
 
 
 
 
-  @BeforeClass
+  @BeforeAll
   public static void beforeClass() {
   public static void beforeClass() {
     backupSchedulerConfigFileInTarget();
     backupSchedulerConfigFileInTarget();
   }
   }
 
 
-  @AfterClass
+  @AfterAll
   public static void afterClass() {
   public static void afterClass() {
     restoreSchedulerConfigFileInTarget();
     restoreSchedulerConfigFileInTarget();
   }
   }
 
 
   @Override
   @Override
-  @Before
+  @BeforeEach
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     super.setUp();
     super.setUp();
   }
   }
@@ -409,8 +409,8 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
         .getConfiguration();
         .getConfiguration();
     bOrderingPolicy = CapacitySchedulerConfiguration.PREFIX
     bOrderingPolicy = CapacitySchedulerConfiguration.PREFIX
         + "root.b" + CapacitySchedulerConfiguration.DOT + ORDERING_POLICY;
         + "root.b" + CapacitySchedulerConfiguration.DOT + ORDERING_POLICY;
-    assertNull("Failed to unset Parent Queue OrderingPolicy",
-        newCSConf.get(bOrderingPolicy));
+    assertNull(newCSConf.get(bOrderingPolicy),
+        "Failed to unset Parent Queue OrderingPolicy");
   }
   }
 
 
   @Test
   @Test
@@ -453,8 +453,8 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
         .getConfiguration();
         .getConfiguration();
     cOrderingPolicy = CapacitySchedulerConfiguration.PREFIX
     cOrderingPolicy = CapacitySchedulerConfiguration.PREFIX
         + "root.c" + CapacitySchedulerConfiguration.DOT + ORDERING_POLICY;
         + "root.c" + CapacitySchedulerConfiguration.DOT + ORDERING_POLICY;
-    assertNull("Failed to unset Leaf Queue OrderingPolicy",
-        newCSConf.get(cOrderingPolicy));
+    assertNull(newCSConf.get(cOrderingPolicy),
+        "Failed to unset Leaf Queue OrderingPolicy");
   }
   }
 
 
   @Test
   @Test
@@ -477,10 +477,10 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
     assertEquals(Status.OK.getStatusCode(), response.getStatus());
     assertEquals(Status.OK.getStatusCode(), response.getStatus());
     CapacitySchedulerConfiguration newCSConf =
     CapacitySchedulerConfiguration newCSConf =
         ((CapacityScheduler) rm.getResourceScheduler()).getConfiguration();
         ((CapacityScheduler) rm.getResourceScheduler()).getConfiguration();
-    assertEquals("Failed to remove the queue",
-        1, newCSConf.getQueues(ROOT_A).size());
-    assertEquals("Failed to remove the right queue",
-        "a1", newCSConf.getQueues(ROOT_A).get(0));
+    assertEquals(1, newCSConf.getQueues(ROOT_A).size(),
+        "Failed to remove the queue");
+    assertEquals("a1", newCSConf.getQueues(ROOT_A).get(0),
+        "Failed to remove the right queue");
   }
   }
 
 
   @Test
   @Test
@@ -520,8 +520,8 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
 
 
     // Validate Queue 'mappedqueue' exists before deletion
     // Validate Queue 'mappedqueue' exists before deletion
-    assertNotNull("Failed to setup CapacityScheduler Configuration",
-        cs.getQueue("mappedqueue"));
+    assertNotNull(cs.getQueue("mappedqueue"),
+        "Failed to setup CapacityScheduler Configuration");
 
 
     // Set state of queue 'mappedqueue' to STOPPED.
     // Set state of queue 'mappedqueue' to STOPPED.
     SchedConfUpdateInfo updateInfo = new SchedConfUpdateInfo();
     SchedConfUpdateInfo updateInfo = new SchedConfUpdateInfo();
@@ -547,8 +547,8 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
     CapacitySchedulerConfiguration newCSConf =
     CapacitySchedulerConfiguration newCSConf =
         ((CapacityScheduler) rm.getResourceScheduler()).getConfiguration();
         ((CapacityScheduler) rm.getResourceScheduler()).getConfiguration();
     assertEquals(4, newCSConf.getQueues(ROOT).size());
     assertEquals(4, newCSConf.getQueues(ROOT).size());
-    assertNotNull("CapacityScheduler Configuration is corrupt",
-        cs.getQueue("mappedqueue"));
+    assertNotNull(cs.getQueue("mappedqueue"),
+        "CapacityScheduler Configuration is corrupt");
   }
   }
 
 
   @Test
   @Test
@@ -1034,7 +1034,7 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
   }
   }
 
 
   @Override
   @Override
-  @After
+  @AfterEach
   public void tearDown() throws Exception {
   public void tearDown() throws Exception {
     if (rm != null) {
     if (rm != null) {
       rm.stop();
       rm.stop();

+ 5 - 5
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesContainers.java

@@ -18,8 +18,8 @@
 
 
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 
 
-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.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
@@ -50,8 +50,8 @@ import org.apache.hadoop.yarn.server.resourcemanager.webapp.reader.ApplicationSu
 import org.apache.hadoop.yarn.server.resourcemanager.webapp.writer.ApplicationSubmissionContextInfoWriter;
 import org.apache.hadoop.yarn.server.resourcemanager.webapp.writer.ApplicationSubmissionContextInfoWriter;
 import org.apache.hadoop.yarn.webapp.GenericExceptionHandler;
 import org.apache.hadoop.yarn.webapp.GenericExceptionHandler;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
@@ -106,7 +106,7 @@ public class TestRMWebServicesContainers extends JerseyTestBase {
     }
     }
   }
   }
 
 
-  @Before
+  @BeforeEach
   @Override
   @Override
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     super.setUp();
     super.setUp();

+ 3 - 3
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesCustomResourceTypesCommons.java

@@ -34,7 +34,7 @@ import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 import org.w3c.dom.NodeList;
 
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 
 public class TestRMWebServicesCustomResourceTypesCommons {
 public class TestRMWebServicesCustomResourceTypesCommons {
 
 
@@ -62,8 +62,8 @@ public class TestRMWebServicesCustomResourceTypesCommons {
       throws JSONException {
       throws JSONException {
     int expectedNumberOfElements = getExpectedNumberOfElements(app);
     int expectedNumberOfElements = getExpectedNumberOfElements(app);
 
 
-    assertEquals("incorrect number of elements", expectedNumberOfElements,
-        info.length());
+    assertEquals(expectedNumberOfElements,
+        info.length(), "incorrect number of elements");
 
 
     AppInfoJsonVerifications.verify(info, app);
     AppInfoJsonVerifications.verify(info, app);
 
 

+ 35 - 30
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesDelegationTokenAuthentication.java

@@ -19,9 +19,9 @@
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 
 
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.toJson;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.toJson;
-import static org.junit.Assert.assertEquals;
-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.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 
 
 import java.io.BufferedReader;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.File;
@@ -63,18 +63,16 @@ import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoSchedule
 import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.ApplicationSubmissionContextInfo;
 import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.ApplicationSubmissionContextInfo;
 import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.DelegationToken;
 import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.DelegationToken;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.BeforeAll;
 
 
 import static org.apache.hadoop.yarn.conf.YarnConfiguration.RM_PROXY_USER_PREFIX;
 import static org.apache.hadoop.yarn.conf.YarnConfiguration.RM_PROXY_USER_PREFIX;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
 
 
-@RunWith(Parameterized.class)
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
+
 public class TestRMWebServicesDelegationTokenAuthentication {
 public class TestRMWebServicesDelegationTokenAuthentication {
 
 
   private static final File testRootDir = new File("target",
   private static final File testRootDir = new File("target",
@@ -102,7 +100,7 @@ public class TestRMWebServicesDelegationTokenAuthentication {
   final static String NewDelegationTokenHeader =
   final static String NewDelegationTokenHeader =
       DelegationTokenAuthenticator.DELEGATION_TOKEN_HEADER;
       DelegationTokenAuthenticator.DELEGATION_TOKEN_HEADER;
 
 
-  @BeforeClass
+  @BeforeAll
   public static void setUp() {
   public static void setUp() {
     try {
     try {
       // Disabling kerberos replay cache to avoid "Request is a replay" errors
       // Disabling kerberos replay cache to avoid "Request is a replay" errors
@@ -114,11 +112,11 @@ public class TestRMWebServicesDelegationTokenAuthentication {
       setupKDC();
       setupKDC();
 
 
     } catch (Exception e) {
     } catch (Exception e) {
-      assertTrue("Couldn't create MiniKDC", false);
+      assertTrue(false, "Couldn't create MiniKDC");
     }
     }
   }
   }
 
 
-  @AfterClass
+  @AfterAll
   public static void tearDown() {
   public static void tearDown() {
     if (testMiniKDC != null) {
     if (testMiniKDC != null) {
       testMiniKDC.stop();
       testMiniKDC.stop();
@@ -131,25 +129,24 @@ public class TestRMWebServicesDelegationTokenAuthentication {
     }
     }
   }
   }
 
 
-  @Before
+  @BeforeEach
   public void before() throws Exception {
   public void before() throws Exception {
     setupAndStartRM();
     setupAndStartRM();
   }
   }
 
 
-  @After
+  @AfterEach
   public void after() {
   public void after() {
     if (rm != null) {
     if (rm != null) {
       rm.stop();
       rm.stop();
     }
     }
   }
   }
 
 
-  @Parameterized.Parameters
   public static Collection<Object[]> headers() {
   public static Collection<Object[]> headers() {
     return Arrays.asList(new Object[][] { {OldDelegationTokenHeader}, {NewDelegationTokenHeader}});
     return Arrays.asList(new Object[][] { {OldDelegationTokenHeader}, {NewDelegationTokenHeader}});
   }
   }
 
 
-  public TestRMWebServicesDelegationTokenAuthentication(String header) throws Exception {
-    super();
+  public void initTestRMWebServicesDelegationTokenAuthentication(String header)
+      throws Exception {
     this.delegationTokenHeader = header;
     this.delegationTokenHeader = header;
   }
   }
 
 
@@ -218,8 +215,10 @@ public class TestRMWebServicesDelegationTokenAuthentication {
   // - confirm owner of the app is the user whose
   // - confirm owner of the app is the user whose
   // delegation-token we used
   // delegation-token we used
 
 
-  @Test
-  public void testDelegationTokenAuth() throws Exception {
+  @MethodSource("headers")
+  @ParameterizedTest
+  public void testDelegationTokenAuth(String header) throws Exception {
+    initTestRMWebServicesDelegationTokenAuthentication(header);
     final String token = getDelegationToken("test");
     final String token = getDelegationToken("test");
 
 
     ApplicationSubmissionContextInfo app =
     ApplicationSubmissionContextInfo app =
@@ -275,8 +274,10 @@ public class TestRMWebServicesDelegationTokenAuthentication {
 
 
   // Test to make sure that cancelled delegation tokens
   // Test to make sure that cancelled delegation tokens
   // are rejected
   // are rejected
-  @Test
-  public void testCancelledDelegationToken() throws Exception {
+  @MethodSource("headers")
+  @ParameterizedTest
+  public void testCancelledDelegationToken(String header) throws Exception {
+    initTestRMWebServicesDelegationTokenAuthentication(header);
     String token = getDelegationToken("client");
     String token = getDelegationToken("client");
     cancelDelegationToken(token);
     cancelDelegationToken(token);
     ApplicationSubmissionContextInfo app =
     ApplicationSubmissionContextInfo app =
@@ -302,8 +303,10 @@ public class TestRMWebServicesDelegationTokenAuthentication {
 
 
   // Test to make sure that we can't do delegation token
   // Test to make sure that we can't do delegation token
   // functions using just delegation token auth
   // functions using just delegation token auth
-  @Test
-  public void testDelegationTokenOps() throws Exception {
+  @MethodSource("headers")
+  @ParameterizedTest
+  public void testDelegationTokenOps(String header) throws Exception {
+    initTestRMWebServicesDelegationTokenAuthentication(header);
     String token = getDelegationToken("client");
     String token = getDelegationToken("client");
     DelegationToken createRequestToken = new DelegationToken();
     DelegationToken createRequestToken = new DelegationToken();
     createRequestToken.setRenewer("test");
     createRequestToken.setRenewer("test");
@@ -347,8 +350,10 @@ public class TestRMWebServicesDelegationTokenAuthentication {
   // Superuser "client" should be able to get a delegation token
   // Superuser "client" should be able to get a delegation token
   // for user "client2" when authenticated using Kerberos
   // for user "client2" when authenticated using Kerberos
   // The request shouldn't work when authenticated using DelegationTokens
   // The request shouldn't work when authenticated using DelegationTokens
-  @Test
-  public void testDoAs() throws Exception {
+  @MethodSource("headers")
+  @ParameterizedTest
+  public void testDoAs(String header) throws Exception {
+    initTestRMWebServicesDelegationTokenAuthentication(header);
 
 
     KerberosTestUtils.doAsClient(new Callable<Void>() {
     KerberosTestUtils.doAsClient(new Callable<Void>() {
       @Override
       @Override
@@ -381,10 +386,10 @@ public class TestRMWebServicesDelegationTokenAuthentication {
           IOUtils.closeStream(reader);
           IOUtils.closeStream(reader);
           IOUtils.closeStream(response);
           IOUtils.closeStream(response);
         }
         }
-        Assert.assertEquals("client2", owner);
+        assertEquals("client2", owner);
         Token<RMDelegationTokenIdentifier> realToken = new Token<>();
         Token<RMDelegationTokenIdentifier> realToken = new Token<>();
         realToken.decodeFromUrlString(token);
         realToken.decodeFromUrlString(token);
-        Assert.assertEquals("client2", realToken.decodeIdentifier().getOwner().toString());
+        assertEquals("client2", realToken.decodeIdentifier().getOwner().toString());
         return null;
         return null;
       }
       }
     });
     });

+ 30 - 29
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesDelegationTokens.java

@@ -68,23 +68,20 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.apache.hadoop.yarn.webapp.WebServicesTestUtils;
 import org.apache.hadoop.yarn.webapp.WebServicesTestUtils;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.w3c.dom.Document;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 import org.w3c.dom.NodeList;
 import org.xml.sax.InputSource;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXException;
 
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 
 
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
@@ -95,7 +92,6 @@ import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.logging.LoggingFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
 
 
-@RunWith(Parameterized.class)
 public class TestRMWebServicesDelegationTokens extends JerseyTestBase {
 public class TestRMWebServicesDelegationTokens extends JerseyTestBase {
 
 
   private static File testRootDir;
   private static File testRootDir;
@@ -217,12 +213,11 @@ public class TestRMWebServicesDelegationTokens extends JerseyTestBase {
     }
     }
   }
   }
 
 
-  @Parameters
   public static Collection<Object[]> guiceConfigs() {
   public static Collection<Object[]> guiceConfigs() {
-    return Arrays.asList(new Object[][] { { 0 }, { 1 } });
+    return Arrays.asList(new Object[][]{{0}, {1}});
   }
   }
 
 
-  public TestRMWebServicesDelegationTokens(int run) throws Exception {
+  public void initTestRMWebServicesDelegationTokens(int run) throws Exception {
     switch (run) {
     switch (run) {
     case 0:
     case 0:
     default:
     default:
@@ -232,9 +227,10 @@ public class TestRMWebServicesDelegationTokens extends JerseyTestBase {
       config.register(new SimpleAuth());
       config.register(new SimpleAuth());
       break;
       break;
     }
     }
+    setUp();
   }
   }
 
 
-  @BeforeClass
+  @BeforeAll
   public static void setupKDC() throws Exception {
   public static void setupKDC() throws Exception {
     testRootDir = new File("target",
     testRootDir = new File("target",
       TestRMWebServicesDelegationTokens.class.getName() + "-root");
       TestRMWebServicesDelegationTokens.class.getName() + "-root");
@@ -244,7 +240,6 @@ public class TestRMWebServicesDelegationTokens extends JerseyTestBase {
       "client", "client2", "client3");
       "client", "client2", "client3");
   }
   }
 
 
-  @Before
   @Override
   @Override
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     super.setUp();
     super.setUp();
@@ -255,14 +250,14 @@ public class TestRMWebServicesDelegationTokens extends JerseyTestBase {
     UserGroupInformation.setConfiguration(conf);
     UserGroupInformation.setConfiguration(conf);
   }
   }
 
 
-  @AfterClass
+  @AfterAll
   public static void shutdownKdc() {
   public static void shutdownKdc() {
     if (testMiniKDC != null) {
     if (testMiniKDC != null) {
       testMiniKDC.stop();
       testMiniKDC.stop();
     }
     }
   }
   }
 
 
-  @After
+  @AfterEach
   @Override
   @Override
   public void tearDown() throws Exception {
   public void tearDown() throws Exception {
     if (rm != null) {
     if (rm != null) {
@@ -275,8 +270,10 @@ public class TestRMWebServicesDelegationTokens extends JerseyTestBase {
   // Simple test - try to create a delegation token via web services and check
   // Simple test - try to create a delegation token via web services and check
   // to make sure we get back a valid token. Validate token using RM function
   // to make sure we get back a valid token. Validate token using RM function
   // calls. It should only succeed with the kerberos filter
   // calls. It should only succeed with the kerberos filter
-  @Test
-  public void testCreateDelegationToken() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testCreateDelegationToken(int run) throws Exception {
+    initTestRMWebServicesDelegationTokens(run);
     rm.start();
     rm.start();
     final String renewer = "test-renewer";
     final String renewer = "test-renewer";
     DelegationToken token = new DelegationToken();
     DelegationToken token = new DelegationToken();
@@ -359,8 +356,10 @@ public class TestRMWebServicesDelegationTokens extends JerseyTestBase {
 
 
   // Test to verify renew functionality - create a token and then try to renew
   // Test to verify renew functionality - create a token and then try to renew
   // it. The renewer should succeed; owner and third user should fail
   // it. The renewer should succeed; owner and third user should fail
-  @Test
-  public void testRenewDelegationToken() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testRenewDelegationToken(int run) throws Exception {
+    initTestRMWebServicesDelegationTokens(run);
     this.client().register(new LoggingFeature());
     this.client().register(new LoggingFeature());
     rm.start();
     rm.start();
     final String renewer = "client2";
     final String renewer = "client2";
@@ -430,7 +429,7 @@ public class TestRMWebServicesDelegationTokens extends JerseyTestBase {
             String message =
             String message =
                 "Expiration time not as expected: old = " + oldExpirationTime
                 "Expiration time not as expected: old = " + oldExpirationTime
                     + "; new = " + tok.getNextExpirationTime();
                     + "; new = " + tok.getNextExpirationTime();
-            assertTrue(message, tok.getNextExpirationTime() > oldExpirationTime);
+            assertTrue(tok.getNextExpirationTime() > oldExpirationTime, message);
             oldExpirationTime = tok.getNextExpirationTime();
             oldExpirationTime = tok.getNextExpirationTime();
             // artificial sleep to ensure we get a different expiration time
             // artificial sleep to ensure we get a different expiration time
             Thread.sleep(1000);
             Thread.sleep(1000);
@@ -444,7 +443,7 @@ public class TestRMWebServicesDelegationTokens extends JerseyTestBase {
             message =
             message =
                 "Expiration time not as expected: old = " + oldExpirationTime
                 "Expiration time not as expected: old = " + oldExpirationTime
                     + "; new = " + tok.getNextExpirationTime();
                     + "; new = " + tok.getNextExpirationTime();
-            assertTrue(message, tok.getNextExpirationTime() > oldExpirationTime);
+            assertTrue(tok.getNextExpirationTime() > oldExpirationTime, message);
             return tok;
             return tok;
           }
           }
         });
         });
@@ -527,8 +526,10 @@ public class TestRMWebServicesDelegationTokens extends JerseyTestBase {
 
 
   // Test to verify cancel functionality - create a token and then try to cancel
   // Test to verify cancel functionality - create a token and then try to cancel
   // it. The owner and renewer should succeed; third user should fail
   // it. The owner and renewer should succeed; third user should fail
-  @Test
-  public void testCancelDelegationToken() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testCancelDelegationToken(int run) throws Exception {
+    initTestRMWebServicesDelegationTokens(run);
     rm.start();
     rm.start();
     if (isKerberosAuth == false) {
     if (isKerberosAuth == false) {
       verifySimpleAuthCancel();
       verifySimpleAuthCancel();
@@ -760,7 +761,7 @@ public class TestRMWebServicesDelegationTokens extends JerseyTestBase {
     is.setCharacterStream(new StringReader(tokenXML));
     is.setCharacterStream(new StringReader(tokenXML));
     Document dom = db.parse(is);
     Document dom = db.parse(is);
     NodeList nodes = dom.getElementsByTagName("delegation-token");
     NodeList nodes = dom.getElementsByTagName("delegation-token");
-    assertEquals("incorrect number of elements", 1, nodes.getLength());
+    assertEquals(1, nodes.getLength(), "incorrect number of elements");
     Element element = (Element) nodes.item(0);
     Element element = (Element) nodes.item(0);
     DelegationToken ret = new DelegationToken();
     DelegationToken ret = new DelegationToken();
     String token = WebServicesTestUtils.getXmlString(element, "token");
     String token = WebServicesTestUtils.getXmlString(element, "token");
@@ -810,7 +811,7 @@ public class TestRMWebServicesDelegationTokens extends JerseyTestBase {
     } catch (InvalidToken it) {
     } catch (InvalidToken it) {
       exceptionCaught = true;
       exceptionCaught = true;
     }
     }
-    assertTrue("InvalidToken exception not thrown", exceptionCaught);
+    assertTrue(exceptionCaught, "InvalidToken exception not thrown");
     assertFalse(rm.getRMContext().getRMDelegationTokenSecretManager()
     assertFalse(rm.getRMContext().getRMDelegationTokenSecretManager()
       .getAllTokens().containsKey(ident));
       .getAllTokens().containsKey(ident));
   }
   }

+ 121 - 117
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesForCSWithPartitions.java

@@ -26,8 +26,9 @@ import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTes
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTestUtils.getFirstSubNodeFromJson;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTestUtils.getFirstSubNodeFromJson;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTestUtils.verifyNumberOfAllocations;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTestUtils.verifyNumberOfAllocations;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.createRM;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.createRM;
-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 static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
@@ -77,12 +78,9 @@ import org.apache.hadoop.yarn.webapp.WebServicesTestUtils;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.w3c.dom.Document;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 import org.w3c.dom.NodeList;
@@ -94,7 +92,6 @@ import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.TestProperties;
 import org.glassfish.jersey.test.TestProperties;
 
 
-@RunWith(Parameterized.class)
 public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
 public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
   private static final String DEFAULT_PARTITION = "";
   private static final String DEFAULT_PARTITION = "";
   private static final String CAPACITIES = "capacities";
   private static final String CAPACITIES = "capacities";
@@ -119,9 +116,8 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
   private MockRM rm;
   private MockRM rm;
   private CapacitySchedulerConfiguration csConf;
   private CapacitySchedulerConfiguration csConf;
   private YarnConfiguration conf;
   private YarnConfiguration conf;
-  private final boolean legacyQueueMode;
+  private boolean legacyQueueMode;
 
 
-  @Parameterized.Parameters(name = "{index}: legacy-queue-mode={0}")
   public static Collection<Boolean> getParameters() {
   public static Collection<Boolean> getParameters() {
     return Arrays.asList(true, false);
     return Arrays.asList(true, false);
   }
   }
@@ -157,7 +153,7 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
               rm.getRMContext().getNodeLabelManager();
               rm.getRMContext().getNodeLabelManager();
           nodeLabelManager.addToCluserNodeLabels(labels);
           nodeLabelManager.addToCluserNodeLabels(labels);
         } catch (Exception e) {
         } catch (Exception e) {
-          Assert.fail();
+          fail();
         }
         }
 
 
         rm.start();
         rm.start();
@@ -259,25 +255,28 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
     config.setMaximumCapacityByLabel(leafQueueC2Path, LABEL_LY, 75);
     config.setMaximumCapacityByLabel(leafQueueC2Path, LABEL_LY, 75);
   }
   }
 
 
-  @Before
   @Override
   @Override
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     super.setUp();
     super.setUp();
   }
   }
 
 
-  @After
+  @AfterEach
   public void tearDown() {
   public void tearDown() {
     if (rm != null) {
     if (rm != null) {
       rm.stop();
       rm.stop();
     }
     }
   }
   }
 
 
-  public TestRMWebServicesForCSWithPartitions(boolean legacyQueueMode) {
-    this.legacyQueueMode = legacyQueueMode;
+  public void initTestRMWebServicesForCSWithPartitions(boolean pLegacyQueueMode)
+      throws Exception {
+    this.legacyQueueMode = pLegacyQueueMode;
+    setUp();
   }
   }
 
 
-  @Test
-  public void testSchedulerPartitions() throws JSONException, Exception {
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testSchedulerPartitions(boolean pLegacyQueueMode) throws JSONException, Exception {
+    initTestRMWebServicesForCSWithPartitions(pLegacyQueueMode);
     WebTarget r = targetWithJsonObject();
     WebTarget r = targetWithJsonObject();
     Response response =
     Response response =
         r.path("ws").path("v1").path("cluster").path("scheduler")
         r.path("ws").path("v1").path("cluster").path("scheduler")
@@ -288,8 +287,11 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
     verifySchedulerInfoJson(json);
     verifySchedulerInfoJson(json);
   }
   }
 
 
-  @Test
-  public void testSchedulerPartitionsSlash() throws JSONException, Exception {
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testSchedulerPartitionsSlash(boolean pLegacyQueueMode)
+      throws JSONException, Exception {
+    initTestRMWebServicesForCSWithPartitions(pLegacyQueueMode);
     WebTarget r = targetWithJsonObject();
     WebTarget r = targetWithJsonObject();
     Response response =
     Response response =
         r.path("ws").path("v1").path("cluster").path("scheduler/")
         r.path("ws").path("v1").path("cluster").path("scheduler/")
@@ -301,8 +303,11 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
 
 
   }
   }
 
 
-  @Test
-  public void testSchedulerPartitionsDefault() throws JSONException, Exception {
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testSchedulerPartitionsDefault(boolean pLegacyQueueMode)
+      throws JSONException, Exception {
+    initTestRMWebServicesForCSWithPartitions(pLegacyQueueMode);
     WebTarget r = targetWithJsonObject();
     WebTarget r = targetWithJsonObject();
     Response response = r.path("ws").path("v1").path("cluster")
     Response response = r.path("ws").path("v1").path("cluster")
         .path("scheduler").request().get(Response.class);
         .path("scheduler").request().get(Response.class);
@@ -312,8 +317,11 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
     verifySchedulerInfoJson(json);
     verifySchedulerInfoJson(json);
   }
   }
 
 
-  @Test
-  public void testSchedulerPartitionsXML() throws JSONException, Exception {
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testSchedulerPartitionsXML(boolean pLegacyQueueMode)
+      throws JSONException, Exception {
+    initTestRMWebServicesForCSWithPartitions(pLegacyQueueMode);
     WebTarget r = target();
     WebTarget r = target();
     Response response =
     Response response =
         r.path("ws").path("v1").path("cluster").path("scheduler")
         r.path("ws").path("v1").path("cluster").path("scheduler")
@@ -329,8 +337,11 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
     verifySchedulerInfoXML(dom);
     verifySchedulerInfoXML(dom);
   }
   }
 
 
-  @Test
-  public void testPartitionInSchedulerActivities() throws Exception {
+  @MethodSource("getParameters")
+  @ParameterizedTest(name = "{index}: legacy-queue-mode={0}")
+  public void testPartitionInSchedulerActivities(boolean pLegacyQueueMode)
+      throws Exception {
+    initTestRMWebServicesForCSWithPartitions(pLegacyQueueMode);
     RMApp app1 = MockRMAppSubmitter.submit(rm,
     RMApp app1 = MockRMAppSubmitter.submit(rm,
         MockRMAppSubmissionData.Builder.createWithMemory(1024, rm)
         MockRMAppSubmissionData.Builder.createWithMemory(1024, rm)
             .withAppName("app1")
             .withAppName("app1")
@@ -402,9 +413,9 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
 
 
   private void verifySchedulerInfoXML(Document dom) throws Exception {
   private void verifySchedulerInfoXML(Document dom) throws Exception {
     NodeList scheduler = dom.getElementsByTagName("scheduler");
     NodeList scheduler = dom.getElementsByTagName("scheduler");
-    assertEquals("incorrect number of elements", 1, scheduler.getLength());
+    assertEquals(1, scheduler.getLength(), "incorrect number of elements");
     NodeList schedulerInfo = dom.getElementsByTagName("schedulerInfo");
     NodeList schedulerInfo = dom.getElementsByTagName("schedulerInfo");
-    assertEquals("incorrect number of elements", 1, schedulerInfo.getLength());
+    assertEquals(1, schedulerInfo.getLength(), "incorrect number of elements");
     for (int i = 0; i < schedulerInfo.getLength(); i++) {
     for (int i = 0; i < schedulerInfo.getLength(); i++) {
       Element element = (Element) schedulerInfo.item(i);
       Element element = (Element) schedulerInfo.item(i);
       NodeList children = element.getChildNodes();
       NodeList children = element.getChildNodes();
@@ -427,20 +438,19 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
               verifyQueueCInfoXML(qElem2);
               verifyQueueCInfoXML(qElem2);
               break;
               break;
             default:
             default:
-              Assert.fail("Unexpected queue" + queue);
+              fail("Unexpected queue" + queue);
             }
             }
           }
           }
         } else if (schedulerInfoElem.getTagName().equals(CAPACITIES)) {
         } else if (schedulerInfoElem.getTagName().equals(CAPACITIES)) {
           NodeList capacitiesListInfos = schedulerInfoElem.getChildNodes();
           NodeList capacitiesListInfos = schedulerInfoElem.getChildNodes();
-          assertEquals("incorrect number of partitions", 3,
-              capacitiesListInfos.getLength());
+          assertEquals(3,
+              capacitiesListInfos.getLength(), "incorrect number of partitions");
           for (int k = 0; k < capacitiesListInfos.getLength(); k++) {
           for (int k = 0; k < capacitiesListInfos.getLength(); k++) {
             Element partitionCapacitiesInfo =
             Element partitionCapacitiesInfo =
                 (Element) capacitiesListInfos.item(k);
                 (Element) capacitiesListInfos.item(k);
             String partitionName = WebServicesTestUtils
             String partitionName = WebServicesTestUtils
                 .getXmlString(partitionCapacitiesInfo, "partitionName");
                 .getXmlString(partitionCapacitiesInfo, "partitionName");
-            assertTrue("invalid PartitionCapacityInfo",
-                CLUSTER_LABELS.contains(partitionName));
+            assertTrue(CLUSTER_LABELS.contains(partitionName), "invalid PartitionCapacityInfo");
             verifyPartitionCapacityInfoXML(partitionCapacitiesInfo, 100, 0, 100,
             verifyPartitionCapacityInfoXML(partitionCapacitiesInfo, 100, 0, 100,
                 100, 0, 100);
                 100, 0, 100);
           }
           }
@@ -455,13 +465,12 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
       Element queueChildElem = (Element) children.item(j);
       Element queueChildElem = (Element) children.item(j);
       if (queueChildElem.getTagName().equals(CAPACITIES)) {
       if (queueChildElem.getTagName().equals(CAPACITIES)) {
         NodeList capacitiesListInfos = queueChildElem.getChildNodes();
         NodeList capacitiesListInfos = queueChildElem.getChildNodes();
-        assertEquals("incorrect number of partitions", 1,
-            capacitiesListInfos.getLength());
+        assertEquals(1,
+            capacitiesListInfos.getLength(), "incorrect number of partitions");
         Element partitionCapacitiesInfo = (Element) capacitiesListInfos.item(0);
         Element partitionCapacitiesInfo = (Element) capacitiesListInfos.item(0);
         String partitionName = WebServicesTestUtils
         String partitionName = WebServicesTestUtils
             .getXmlString(partitionCapacitiesInfo, "partitionName");
             .getXmlString(partitionCapacitiesInfo, "partitionName");
-        assertTrue("invalid PartitionCapacityInfo",
-            partitionName.isEmpty());
+        assertTrue(partitionName.isEmpty(), "invalid PartitionCapacityInfo");
         verifyPartitionCapacityInfoXML(partitionCapacitiesInfo, 30, 0, 50, 30,
         verifyPartitionCapacityInfoXML(partitionCapacitiesInfo, 30, 0, 50, 30,
             0, 50);
             0, 50);
       } else if (queueChildElem.getTagName().equals("resources")) {
       } else if (queueChildElem.getTagName().equals("resources")) {
@@ -471,16 +480,16 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
   }
   }
 
 
   private void verifyQueueBInfoXML(Element queueElem) {
   private void verifyQueueBInfoXML(Element queueElem) {
-    assertEquals("Invalid default Label expression", LABEL_LX,
+    assertEquals(LABEL_LX,
         WebServicesTestUtils.getXmlString(queueElem,
         WebServicesTestUtils.getXmlString(queueElem,
-            "defaultNodeLabelExpression"));
+        "defaultNodeLabelExpression"), "Invalid default Label expression");
     NodeList children = queueElem.getChildNodes();
     NodeList children = queueElem.getChildNodes();
     for (int j = 0; j < children.getLength(); j++) {
     for (int j = 0; j < children.getLength(); j++) {
       Element queueChildElem = (Element) children.item(j);
       Element queueChildElem = (Element) children.item(j);
       if (queueChildElem.getTagName().equals(CAPACITIES)) {
       if (queueChildElem.getTagName().equals(CAPACITIES)) {
         NodeList capacitiesListInfos = queueChildElem.getChildNodes();
         NodeList capacitiesListInfos = queueChildElem.getChildNodes();
-        assertEquals("incorrect number of partitions", 2,
-            capacitiesListInfos.getLength());
+        assertEquals(2,
+            capacitiesListInfos.getLength(), "incorrect number of partitions");
         for (int k = 0; k < capacitiesListInfos.getLength(); k++) {
         for (int k = 0; k < capacitiesListInfos.getLength(); k++) {
           Element partitionCapacitiesInfo =
           Element partitionCapacitiesInfo =
               (Element) capacitiesListInfos.item(k);
               (Element) capacitiesListInfos.item(k);
@@ -496,13 +505,13 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
                 30, 0, 50);
                 30, 0, 50);
             break;
             break;
           default:
           default:
-            Assert.fail("Unexpected partition" + partitionName);
+            fail("Unexpected partition" + partitionName);
           }
           }
         }
         }
       }
       }
     }
     }
-    assertEquals("Node Labels are not matching", LABEL_LX,
-        WebServicesTestUtils.getXmlString(queueElem, "nodeLabels"));
+    assertEquals(LABEL_LX, WebServicesTestUtils.getXmlString(queueElem, "nodeLabels"),
+        "Node Labels are not matching");
   }
   }
 
 
   private void verifyQueueCInfoXML(Element queueElem) {
   private void verifyQueueCInfoXML(Element queueElem) {
@@ -521,9 +530,9 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
           String queue = WebServicesTestUtils.getXmlString(qElem2, "queueName");
           String queue = WebServicesTestUtils.getXmlString(qElem2, "queueName");
           switch (queue) {
           switch (queue) {
           case LEAF_QUEUE_C1:
           case LEAF_QUEUE_C1:
-            assertEquals("Invalid default Label expression", LABEL_LX,
+            assertEquals(LABEL_LX,
                 WebServicesTestUtils.getXmlString(qElem2,
                 WebServicesTestUtils.getXmlString(qElem2,
-                    "defaultNodeLabelExpression"));
+                "defaultNodeLabelExpression"), "Invalid default Label expression");
             NodeList queuec1Children = qElem2.getChildNodes();
             NodeList queuec1Children = qElem2.getChildNodes();
             for (int l = 0; l < queuec1Children.getLength(); l++) {
             for (int l = 0; l < queuec1Children.getLength(); l++) {
               Element queueC1ChildElem = (Element) queuec1Children.item(l);
               Element queueC1ChildElem = (Element) queuec1Children.item(l);
@@ -534,9 +543,9 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
             }
             }
             break;
             break;
           case LEAF_QUEUE_C2:
           case LEAF_QUEUE_C2:
-            assertEquals("Invalid default Label expression", LABEL_LY,
+            assertEquals(LABEL_LY,
                 WebServicesTestUtils.getXmlString(qElem2,
                 WebServicesTestUtils.getXmlString(qElem2,
-                    "defaultNodeLabelExpression"));
+                "defaultNodeLabelExpression"), "Invalid default Label expression");
             NodeList queuec2Children = qElem2.getChildNodes();
             NodeList queuec2Children = qElem2.getChildNodes();
             for (int l = 0; l < queuec2Children.getLength(); l++) {
             for (int l = 0; l < queuec2Children.getLength(); l++) {
               Element queueC2ChildElem = (Element) queuec2Children.item(l);
               Element queueC2ChildElem = (Element) queuec2Children.item(l);
@@ -547,7 +556,7 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
             }
             }
             break;
             break;
           default:
           default:
-            Assert.fail("Unexpected queue" + queue);
+            fail("Unexpected queue" + queue);
           }
           }
         }
         }
       }
       }
@@ -559,8 +568,7 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
       float lyCaps, float lyMaxCaps, float lyAbsCaps, float lyAbsMaxCaps,
       float lyCaps, float lyMaxCaps, float lyAbsCaps, float lyAbsMaxCaps,
       float defCaps, float defMaxCaps, float defAbsCaps, float defAbsMaxCaps) {
       float defCaps, float defMaxCaps, float defAbsCaps, float defAbsMaxCaps) {
     NodeList capacitiesListInfos = partitionCapacitiesElem.getChildNodes();
     NodeList capacitiesListInfos = partitionCapacitiesElem.getChildNodes();
-    assertEquals("incorrect number of partitions", 3,
-        capacitiesListInfos.getLength());
+    assertEquals(3, capacitiesListInfos.getLength(), "incorrect number of partitions");
     for (int k = 0; k < capacitiesListInfos.getLength(); k++) {
     for (int k = 0; k < capacitiesListInfos.getLength(); k++) {
       Element partitionCapacitiesInfo = (Element) capacitiesListInfos.item(k);
       Element partitionCapacitiesInfo = (Element) capacitiesListInfos.item(k);
       String partitionName = WebServicesTestUtils
       String partitionName = WebServicesTestUtils
@@ -579,60 +587,58 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
             defMaxCaps, defAbsCaps, 0, defAbsMaxCaps);
             defMaxCaps, defAbsCaps, 0, defAbsMaxCaps);
         break;
         break;
       default:
       default:
-        Assert.fail("Unexpected partition" + partitionName);
+        fail("Unexpected partition" + partitionName);
       }
       }
     }
     }
   }
   }
 
 
   private void verifyResourceUsageInfoXML(Element queueChildElem) {
   private void verifyResourceUsageInfoXML(Element queueChildElem) {
     NodeList resourceUsageInfo = queueChildElem.getChildNodes();
     NodeList resourceUsageInfo = queueChildElem.getChildNodes();
-    assertEquals("incorrect number of partitions", 1,
-        resourceUsageInfo.getLength());
+    assertEquals(1, resourceUsageInfo.getLength(), "incorrect number of partitions");
     Element partitionResourceUsageInfo = (Element) resourceUsageInfo.item(0);
     Element partitionResourceUsageInfo = (Element) resourceUsageInfo.item(0);
     String partitionName = WebServicesTestUtils
     String partitionName = WebServicesTestUtils
         .getXmlString(partitionResourceUsageInfo, "partitionName");
         .getXmlString(partitionResourceUsageInfo, "partitionName");
-    assertTrue("invalid PartitionCapacityInfo",
-        DEFAULT_PARTITION.equals(partitionName));
+    assertTrue(DEFAULT_PARTITION.equals(partitionName),
+        "invalid PartitionCapacityInfo");
   }
   }
 
 
   private void verifyPartitionCapacityInfoXML(Element partitionInfo,
   private void verifyPartitionCapacityInfoXML(Element partitionInfo,
       float capacity, float usedCapacity, float maxCapacity,
       float capacity, float usedCapacity, float maxCapacity,
       float absoluteCapacity, float absoluteUsedCapacity,
       float absoluteCapacity, float absoluteUsedCapacity,
       float absoluteMaxCapacity) {
       float absoluteMaxCapacity) {
-    assertEquals("capacity doesn't match", capacity,
-        WebServicesTestUtils.getXmlFloat(partitionInfo, "capacity"), EPSILON);
-    assertEquals("capacity doesn't match", usedCapacity,
-        WebServicesTestUtils.getXmlFloat(partitionInfo, "usedCapacity"), EPSILON);
-    assertEquals("capacity doesn't match", maxCapacity,
-        WebServicesTestUtils.getXmlFloat(partitionInfo, "maxCapacity"), EPSILON);
-    assertEquals("capacity doesn't match", absoluteCapacity,
+    assertEquals(capacity, WebServicesTestUtils.getXmlFloat(partitionInfo, "capacity"),
+        EPSILON, "capacity doesn't match");
+    assertEquals(usedCapacity, WebServicesTestUtils.getXmlFloat(partitionInfo, "usedCapacity"),
+        EPSILON, "capacity doesn't match");
+    assertEquals(maxCapacity, WebServicesTestUtils.getXmlFloat(partitionInfo, "maxCapacity"),
+        EPSILON, "capacity doesn't match");
+    assertEquals(absoluteCapacity,
         WebServicesTestUtils.getXmlFloat(partitionInfo, "absoluteCapacity"),
         WebServicesTestUtils.getXmlFloat(partitionInfo, "absoluteCapacity"),
-        EPSILON);
-    assertEquals("capacity doesn't match", absoluteUsedCapacity,
+        EPSILON, "capacity doesn't match");
+    assertEquals(absoluteUsedCapacity,
         WebServicesTestUtils.getXmlFloat(partitionInfo, "absoluteUsedCapacity"),
         WebServicesTestUtils.getXmlFloat(partitionInfo, "absoluteUsedCapacity"),
-        EPSILON);
-    assertEquals("capacity doesn't match", absoluteMaxCapacity,
+        EPSILON, "capacity doesn't match");
+    assertEquals(absoluteMaxCapacity,
         WebServicesTestUtils.getXmlFloat(partitionInfo, "absoluteMaxCapacity"),
         WebServicesTestUtils.getXmlFloat(partitionInfo, "absoluteMaxCapacity"),
-        EPSILON);
+        EPSILON, "capacity doesn't match");
   }
   }
 
 
   private void verifySchedulerInfoJson(JSONObject json)
   private void verifySchedulerInfoJson(JSONObject json)
       throws JSONException, Exception {
       throws JSONException, Exception {
-    assertEquals("incorrect number of elements", 1, json.length());
+    assertEquals(1, json.length(), "incorrect number of elements");
     JSONObject info = json.getJSONObject("scheduler");
     JSONObject info = json.getJSONObject("scheduler");
-    assertEquals("incorrect number of elements", 1, info.length());
+    assertEquals(1, info.length(), "incorrect number of elements");
     info = info.getJSONObject("schedulerInfo");
     info = info.getJSONObject("schedulerInfo");
-    assertEquals("incorrect number of elements", 25, info.length());
+    assertEquals(25, info.length(), "incorrect number of elements");
     JSONObject capacitiesJsonObject = info.getJSONObject(CAPACITIES);
     JSONObject capacitiesJsonObject = info.getJSONObject(CAPACITIES);
     JSONArray partitionsCapsArray =
     JSONArray partitionsCapsArray =
         capacitiesJsonObject.getJSONArray(QUEUE_CAPACITIES_BY_PARTITION);
         capacitiesJsonObject.getJSONArray(QUEUE_CAPACITIES_BY_PARTITION);
-    assertEquals("incorrect number of elements", CLUSTER_LABELS.size(),
-        partitionsCapsArray.length());
+    assertEquals(CLUSTER_LABELS.size(),
+        partitionsCapsArray.length(), "incorrect number of elements");
     for (int i = 0; i < partitionsCapsArray.length(); i++) {
     for (int i = 0; i < partitionsCapsArray.length(); i++) {
       JSONObject partitionInfo = partitionsCapsArray.getJSONObject(i);
       JSONObject partitionInfo = partitionsCapsArray.getJSONObject(i);
       String partitionName = partitionInfo.getString("partitionName");
       String partitionName = partitionInfo.getString("partitionName");
-      assertTrue("Unknown partition received",
-          CLUSTER_LABELS.contains(partitionName));
+      assertTrue(CLUSTER_LABELS.contains(partitionName), "Unknown partition received");
       verifyPartitionCapacityInfoJson(partitionInfo, 100, 0, 100, 100, 0, 100);
       verifyPartitionCapacityInfoJson(partitionInfo, 100, 0, 100, 100, 0, 100);
     }
     }
     JSONObject jsonQueuesObject = info.getJSONObject("queues");
     JSONObject jsonQueuesObject = info.getJSONObject("queues");
@@ -673,26 +679,24 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
       String partitionName = null;
       String partitionName = null;
       switch (queue) {
       switch (queue) {
       case QUEUE_A:
       case QUEUE_A:
-        assertEquals("incorrect number of partitions", 1,
-            partitionsCapsArray.length());
+        assertEquals(1, partitionsCapsArray.length(), "incorrect number of partitions");
         partitionInfo = partitionsCapsArray.getJSONObject(0);
         partitionInfo = partitionsCapsArray.getJSONObject(0);
         partitionName = partitionInfo.getString("partitionName");
         partitionName = partitionInfo.getString("partitionName");
         verifyPartitionCapacityInfoJson(partitionInfo, 30, 0, 50, 30, 0, 50);
         verifyPartitionCapacityInfoJson(partitionInfo, 30, 0, 50, 30, 0, 50);
-        assertEquals("incorrect number of elements", 7,
-            partitionsResourcesArray.getJSONObject(0).length());
-        assertEquals("incorrect number of objects", 1,
-            resourceUsageByPartition.length());
+        assertEquals(7, partitionsResourcesArray.getJSONObject(0).length(),
+            "incorrect number of elements");
+        assertEquals(1, resourceUsageByPartition.length(), "incorrect number of objects");
         break;
         break;
       case QUEUE_B:
       case QUEUE_B:
-        assertEquals("Invalid default Label expression", LABEL_LX,
-            queueJson.getString("defaultNodeLabelExpression"));
-        assertEquals("incorrect number of elements", 7,
-            partitionsResourcesArray.getJSONObject(0).length());
+        assertEquals(LABEL_LX, queueJson.getString("defaultNodeLabelExpression"),
+            "Invalid default Label expression");
+        assertEquals(7, partitionsResourcesArray.getJSONObject(0).length(),
+            "incorrect number of elements");
         verifyAccesibleNodeLabels(queueJson, ImmutableSet.of(LABEL_LX));
         verifyAccesibleNodeLabels(queueJson, ImmutableSet.of(LABEL_LX));
-        assertEquals("incorrect number of partitions", 2,
-            partitionsCapsArray.length());
-        assertEquals("incorrect number of objects", 2,
-            resourceUsageByPartition.length());
+        assertEquals(2, partitionsCapsArray.length(),
+            "incorrect number of partitions");
+        assertEquals(2, resourceUsageByPartition.length(),
+            "incorrect number of objects");
         for (int j = 0; j < partitionsCapsArray.length(); j++) {
         for (int j = 0; j < partitionsCapsArray.length(); j++) {
           partitionInfo = partitionsCapsArray.getJSONObject(j);
           partitionInfo = partitionsCapsArray.getJSONObject(j);
           partitionName = partitionInfo.getString("partitionName");
           partitionName = partitionInfo.getString("partitionName");
@@ -706,21 +710,21 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
                 50);
                 50);
             break;
             break;
           default:
           default:
-            Assert.fail("Unexpected partition" + partitionName);
+            fail("Unexpected partition" + partitionName);
           }
           }
         }
         }
         break;
         break;
       case QUEUE_C:
       case QUEUE_C:
         verifyAccesibleNodeLabels(queueJson,
         verifyAccesibleNodeLabels(queueJson,
             ImmutableSet.of(LABEL_LX, LABEL_LY));
             ImmutableSet.of(LABEL_LX, LABEL_LY));
-        assertEquals("incorrect number of elements", 4,
-            partitionsResourcesArray.getJSONObject(0).length());
+        assertEquals(4, partitionsResourcesArray.getJSONObject(0).length(),
+            "incorrect number of elements");
         verifyQcPartitionsCapacityInfoJson(partitionsCapsArray, 70, 100, 70,
         verifyQcPartitionsCapacityInfoJson(partitionsCapsArray, 70, 100, 70,
             100, 100, 100, 100, 100, 40, 50, 40, 50);
             100, 100, 100, 100, 100, 40, 50, 40, 50);
         verifySubQueuesOfQc(queueJson);
         verifySubQueuesOfQc(queueJson);
         break;
         break;
       default:
       default:
-        Assert.fail("Unexpected queue" + queue);
+        fail("Unexpected queue" + queue);
       }
       }
     }
     }
   }
   }
@@ -734,11 +738,11 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
     } else {
     } else {
       nodeLabels.put(nodeLabelsObj);
       nodeLabels.put(nodeLabelsObj);
     }
     }
-    assertEquals("number of accessible Node Labels not matching",
-        accesibleNodeLabels.size(), nodeLabels.length());
+    assertEquals(accesibleNodeLabels.size(), nodeLabels.length(),
+        "number of accessible Node Labels not matching");
     for (int i = 0; i < nodeLabels.length(); i++) {
     for (int i = 0; i < nodeLabels.length(); i++) {
-      assertTrue("Invalid accessible node label : " + nodeLabels.getString(i),
-          accesibleNodeLabels.contains(nodeLabels.getString(i)));
+      assertTrue(accesibleNodeLabels.contains(nodeLabels.getString(i)),
+          "Invalid accessible node label : " + nodeLabels.getString(i));
     }
     }
   }
   }
 
 
@@ -756,21 +760,21 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
       case LEAF_QUEUE_C1:
       case LEAF_QUEUE_C1:
         verifyAccesibleNodeLabels(queueJson,
         verifyAccesibleNodeLabels(queueJson,
             ImmutableSet.of(LABEL_LX, LABEL_LY));
             ImmutableSet.of(LABEL_LX, LABEL_LY));
-        assertEquals("Invalid default Label expression", LABEL_LX,
-            queueJson.getString("defaultNodeLabelExpression"));
+        assertEquals(LABEL_LX, queueJson.getString("defaultNodeLabelExpression"),
+            "Invalid default Label expression");
         verifyQcPartitionsCapacityInfoJson(partitionsCapsArray, 40, 100, 28,
         verifyQcPartitionsCapacityInfoJson(partitionsCapsArray, 40, 100, 28,
             100, 50, 75, 50, 75, 50, 60, 20, 30);
             100, 50, 75, 50, 75, 50, 60, 20, 30);
         break;
         break;
       case LEAF_QUEUE_C2:
       case LEAF_QUEUE_C2:
         verifyAccesibleNodeLabels(queueJson,
         verifyAccesibleNodeLabels(queueJson,
             ImmutableSet.of(LABEL_LX, LABEL_LY));
             ImmutableSet.of(LABEL_LX, LABEL_LY));
-        assertEquals("Invalid default Label expression", LABEL_LY,
-            queueJson.getString("defaultNodeLabelExpression"));
+        assertEquals(LABEL_LY, queueJson.getString("defaultNodeLabelExpression"),
+            "Invalid default Label expression");
         verifyQcPartitionsCapacityInfoJson(partitionsCapsArray, 60, 100, 42,
         verifyQcPartitionsCapacityInfoJson(partitionsCapsArray, 60, 100, 42,
             100, 50, 75, 50, 75, 50, 70, 20, 35);
             100, 50, 75, 50, 75, 50, 70, 20, 35);
         break;
         break;
       default:
       default:
-        Assert.fail("Unexpected queue" + queue);
+        fail("Unexpected queue" + queue);
       }
       }
     }
     }
   }
   }
@@ -780,8 +784,8 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
       float lyCaps, float lyMaxCaps, float lyAbsCaps, float lyAbsMaxCaps,
       float lyCaps, float lyMaxCaps, float lyAbsCaps, float lyAbsMaxCaps,
       float defCaps, float defMaxCaps, float defAbsCaps, float defAbsMaxCaps)
       float defCaps, float defMaxCaps, float defAbsCaps, float defAbsMaxCaps)
           throws JSONException {
           throws JSONException {
-    assertEquals("incorrect number of partitions", CLUSTER_LABELS.size(),
-        partitionsCapsArray.length());
+    assertEquals(CLUSTER_LABELS.size(), partitionsCapsArray.length(),
+        "incorrect number of partitions");
     for (int j = 0; j < partitionsCapsArray.length(); j++) {
     for (int j = 0; j < partitionsCapsArray.length(); j++) {
       JSONObject partitionInfo = partitionsCapsArray.getJSONObject(j);
       JSONObject partitionInfo = partitionsCapsArray.getJSONObject(j);
       String partitionName = partitionInfo.getString("partitionName");
       String partitionName = partitionInfo.getString("partitionName");
@@ -799,7 +803,7 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
             defAbsCaps, 0, defAbsMaxCaps);
             defAbsCaps, 0, defAbsMaxCaps);
         break;
         break;
       default:
       default:
-        Assert.fail("Unexpected partition" + partitionName);
+        fail("Unexpected partition" + partitionName);
       }
       }
     }
     }
   }
   }
@@ -808,19 +812,19 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase {
       JSONObject partitionCapacityInfoJson, float capacity, float usedCapacity,
       JSONObject partitionCapacityInfoJson, float capacity, float usedCapacity,
       float maxCapacity, float absoluteCapacity, float absoluteUsedCapacity,
       float maxCapacity, float absoluteCapacity, float absoluteUsedCapacity,
       float absoluteMaxCapacity) throws JSONException {
       float absoluteMaxCapacity) throws JSONException {
-    assertEquals("capacity doesn't match", capacity,
-        (float) partitionCapacityInfoJson.getDouble("capacity"), EPSILON);
-    assertEquals("capacity doesn't match", usedCapacity,
-        (float) partitionCapacityInfoJson.getDouble("usedCapacity"), EPSILON);
-    assertEquals("capacity doesn't match", maxCapacity,
-        (float) partitionCapacityInfoJson.getDouble("maxCapacity"), EPSILON);
-    assertEquals("capacity doesn't match", absoluteCapacity,
-        (float) partitionCapacityInfoJson.getDouble("absoluteCapacity"), EPSILON);
-    assertEquals("capacity doesn't match", absoluteUsedCapacity,
+    assertEquals(capacity, (float) partitionCapacityInfoJson.getDouble("capacity"),
+        EPSILON, "capacity doesn't match");
+    assertEquals(usedCapacity, (float) partitionCapacityInfoJson.getDouble("usedCapacity"),
+        EPSILON, "capacity doesn't match");
+    assertEquals(maxCapacity, (float) partitionCapacityInfoJson.getDouble("maxCapacity"),
+        EPSILON, "capacity doesn't match");
+    assertEquals(absoluteCapacity, (float) partitionCapacityInfoJson.getDouble("absoluteCapacity"),
+        EPSILON, "capacity doesn't match");
+    assertEquals(absoluteUsedCapacity,
         (float) partitionCapacityInfoJson.getDouble("absoluteUsedCapacity"),
         (float) partitionCapacityInfoJson.getDouble("absoluteUsedCapacity"),
-        1e-3f);
-    assertEquals("capacity doesn't match", absoluteMaxCapacity,
+        1e-3f, "capacity doesn't match");
+    assertEquals(absoluteMaxCapacity,
         (float) partitionCapacityInfoJson.getDouble("absoluteMaxCapacity"),
         (float) partitionCapacityInfoJson.getDouble("absoluteMaxCapacity"),
-        1e-3f);
+        1e-3f, "capacity doesn't match");
   }
   }
 }
 }

+ 7 - 7
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesHttpStaticUserPermissions.java

@@ -18,8 +18,8 @@
 
 
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
 
 
 import java.io.BufferedReader;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.File;
@@ -43,9 +43,9 @@ import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler
 import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler;
 import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler;
 import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.ApplicationSubmissionContextInfo;
 import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.ApplicationSubmissionContextInfo;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 
 
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.Response;
 
 
@@ -72,7 +72,7 @@ public class TestRMWebServicesHttpStaticUserPermissions {
     }
     }
   }
   }
 
 
-  @BeforeClass
+  @BeforeAll
   public static void setUp() {
   public static void setUp() {
     try {
     try {
       testMiniKDC = new MiniKdc(MiniKdc.createConf(), testRootDir);
       testMiniKDC = new MiniKdc(MiniKdc.createConf(), testRootDir);
@@ -83,7 +83,7 @@ public class TestRMWebServicesHttpStaticUserPermissions {
     }
     }
   }
   }
 
 
-  @AfterClass
+  @AfterAll
   public static void tearDown() {
   public static void tearDown() {
     if (testMiniKDC != null) {
     if (testMiniKDC != null) {
       testMiniKDC.stop();
       testMiniKDC.stop();

+ 22 - 22
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodeLabels.java

@@ -18,10 +18,10 @@
 
 
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-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.assertTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
@@ -67,9 +67,8 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.apache.hadoop.yarn.webapp.WebServicesTestUtils;
 import org.apache.hadoop.yarn.webapp.WebServicesTestUtils;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
@@ -158,7 +157,7 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase {
   }
   }
 
 
   @Override
   @Override
-  @Before
+  @BeforeEach
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     super.setUp();
     super.setUp();
   }
   }
@@ -435,8 +434,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase {
   private void assertLabelsToNodesInfo(LabelsToNodesInfo labelsToNodesInfo, int size,
   private void assertLabelsToNodesInfo(LabelsToNodesInfo labelsToNodesInfo, int size,
       List<Pair<Pair<String, Boolean>, List<String>>> nodeLabelsToNodesList) {
       List<Pair<Pair<String, Boolean>, List<String>>> nodeLabelsToNodesList) {
     Map<NodeLabelInfo, NodeIDsInfo> labelsToNodes = labelsToNodesInfo.getLabelsToNodes();
     Map<NodeLabelInfo, NodeIDsInfo> labelsToNodes = labelsToNodesInfo.getLabelsToNodes();
-    assertNotNull("Labels to nodes mapping should not be null.", labelsToNodes);
-    assertEquals("Size of label to nodes mapping is not the expected.", size, labelsToNodes.size());
+    assertNotNull(labelsToNodes, "Labels to nodes mapping should not be null.");
+    assertEquals(size, labelsToNodes.size(), "Size of label to nodes mapping is not the expected.");
 
 
     for (Pair<Pair<String, Boolean>, List<String>> nodeLabelToNodes : nodeLabelsToNodesList) {
     for (Pair<Pair<String, Boolean>, List<String>> nodeLabelToNodes : nodeLabelsToNodesList) {
       Pair<String, Boolean> expectedNLData = nodeLabelToNodes.getLeft();
       Pair<String, Boolean> expectedNLData = nodeLabelToNodes.getLeft();
@@ -444,11 +443,12 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase {
       NodeLabelInfo expectedNLInfo = new NodeLabelInfo(expectedNLData.getLeft(),
       NodeLabelInfo expectedNLInfo = new NodeLabelInfo(expectedNLData.getLeft(),
           expectedNLData.getRight());
           expectedNLData.getRight());
       NodeIDsInfo actualNodes = labelsToNodes.get(expectedNLInfo);
       NodeIDsInfo actualNodes = labelsToNodes.get(expectedNLInfo);
-      assertNotNull(String.format("Node info not found. Expected NodeLabel data: %s",
-          expectedNLData), actualNodes);
+      assertNotNull(actualNodes, String.format("Node info not found. Expected NodeLabel data: %s",
+          expectedNLData));
       for (String expectedNode : expectedNodes) {
       for (String expectedNode : expectedNodes) {
-        assertTrue(String.format("Can't find node ID in actual Node IDs list: %s",
-                actualNodes.getNodeIDs()), actualNodes.getNodeIDs().contains(expectedNode));
+        assertTrue(actualNodes.getNodeIDs().contains(expectedNode),
+            String.format("Can't find node ID in actual Node IDs list: %s",
+            actualNodes.getNodeIDs()));
       }
       }
     }
     }
   }
   }
@@ -477,17 +477,17 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase {
   private void assertNodeLabelsInfoContains(NodeLabelsInfo nodeLabelsInfo,
   private void assertNodeLabelsInfoContains(NodeLabelsInfo nodeLabelsInfo,
       Pair<String, Boolean> nlInfo) {
       Pair<String, Boolean> nlInfo) {
     NodeLabelInfo nodeLabelInfo = new NodeLabelInfo(nlInfo.getLeft(), nlInfo.getRight());
     NodeLabelInfo nodeLabelInfo = new NodeLabelInfo(nlInfo.getLeft(), nlInfo.getRight());
-    assertTrue(String.format("Cannot find nodeLabelInfo '%s' among items of node label info list:" +
-            " %s", nodeLabelInfo, nodeLabelsInfo.getNodeLabelsInfo()),
-        nodeLabelsInfo.getNodeLabelsInfo().contains(nodeLabelInfo));
+    assertTrue(nodeLabelsInfo.getNodeLabelsInfo().contains(nodeLabelInfo),
+        String.format("Cannot find nodeLabelInfo '%s' among items of node label info list:" +
+        " %s", nodeLabelInfo, nodeLabelsInfo.getNodeLabelsInfo()));
   }
   }
 
 
   private void assertNodeLabelsInfoDoesNotContain(NodeLabelsInfo nodeLabelsInfo, Pair<String,
   private void assertNodeLabelsInfoDoesNotContain(NodeLabelsInfo nodeLabelsInfo, Pair<String,
       Boolean> nlInfo) {
       Boolean> nlInfo) {
     NodeLabelInfo nodeLabelInfo = new NodeLabelInfo(nlInfo.getLeft(), nlInfo.getRight());
     NodeLabelInfo nodeLabelInfo = new NodeLabelInfo(nlInfo.getLeft(), nlInfo.getRight());
-    assertFalse(String.format("Should have not found nodeLabelInfo '%s' among " +
-        "items of node label info list: %s", nodeLabelInfo, nodeLabelsInfo.getNodeLabelsInfo()),
-        nodeLabelsInfo.getNodeLabelsInfo().contains(nodeLabelInfo));
+    assertFalse(nodeLabelsInfo.getNodeLabelsInfo().contains(nodeLabelInfo),
+        String.format("Should have not found nodeLabelInfo '%s' among " +
+        "items of node label info list: %s", nodeLabelInfo, nodeLabelsInfo.getNodeLabelsInfo()));
   }
   }
 
 
   private void assertNodeLabelsSize(NodeLabelsInfo nodeLabelsInfo, int expectedSize) {
   private void assertNodeLabelsSize(NodeLabelsInfo nodeLabelsInfo, int expectedSize) {
@@ -622,11 +622,11 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase {
   private void validateJsonExceptionContent(Response response,
   private void validateJsonExceptionContent(Response response,
       String expectedMessage)
       String expectedMessage)
       throws JSONException {
       throws JSONException {
-    Assert.assertEquals(BAD_REQUEST_CODE, response.getStatus());
+    assertEquals(BAD_REQUEST_CODE, response.getStatus());
     JSONObject msg = response.readEntity(JSONObject.class);
     JSONObject msg = response.readEntity(JSONObject.class);
     JSONObject exception = msg.getJSONObject("RemoteException");
     JSONObject exception = msg.getJSONObject("RemoteException");
     String message = exception.getString("message");
     String message = exception.getString("message");
-    assertEquals("incorrect number of elements", 3, exception.length());
+    assertEquals(3, exception.length(), "incorrect number of elements");
     String type = exception.getString("exception");
     String type = exception.getString("exception");
     String classname = exception.getString("javaClassName");
     String classname = exception.getString("javaClassName");
     WebServicesTestUtils.checkStringMatch("exception type",
     WebServicesTestUtils.checkStringMatch("exception type",

+ 73 - 73
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodes.java

@@ -21,8 +21,8 @@ package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 import static org.apache.hadoop.yarn.server.resourcemanager.MockNM.createMockNodeStatus;
 import static org.apache.hadoop.yarn.server.resourcemanager.MockNM.createMockNodeStatus;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.assertResponseStatusCode;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.assertResponseStatusCode;
-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.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
@@ -100,7 +100,8 @@ import org.apache.hadoop.yarn.webapp.WebServicesTestUtils;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.w3c.dom.Document;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 import org.w3c.dom.NodeList;
@@ -186,6 +187,7 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
     }
     }
   }
   }
 
 
+  @BeforeEach
   @Override
   @Override
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     super.setUp();
     super.setUp();
@@ -237,12 +239,12 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject json = response.readEntity(JSONObject.class);
-    assertEquals("incorrect number of elements", 1, json.length());
+    assertEquals(1, json.length(), "incorrect number of elements");
     JSONObject nodes = json.getJSONObject("nodes");
     JSONObject nodes = json.getJSONObject("nodes");
-    assertEquals("incorrect number of elements", 1, nodes.length());
+    assertEquals(1, nodes.length(), "incorrect number of elements");
     JSONArray nodeArray = nodes.getJSONArray("node");
     JSONArray nodeArray = nodes.getJSONArray("node");
     // 3 nodes, including the unhealthy node and the new node.
     // 3 nodes, including the unhealthy node and the new node.
-    assertEquals("incorrect number of elements", 3, nodeArray.length());
+    assertEquals(3, nodeArray.length(), "incorrect number of elements");
   }
   }
 
 
   private RMNode getRunningRMNode(String host, int port, int memory) {
   private RMNode getRunningRMNode(String host, int port, int memory) {
@@ -287,14 +289,14 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject json = response.readEntity(JSONObject.class);
-    assertEquals("incorrect number of elements", 1, json.length());
+    assertEquals(1, json.length(), "incorrect number of elements");
     JSONObject nodes = json.getJSONObject("nodes");
     JSONObject nodes = json.getJSONObject("nodes");
-    assertEquals("incorrect number of elements", 1, nodes.length());
+    assertEquals(1, nodes.length(), "incorrect number of elements");
     JSONObject node = nodes.getJSONObject("node");
     JSONObject node = nodes.getJSONObject("node");
     JSONArray nodeArray = new JSONArray();
     JSONArray nodeArray = new JSONArray();
     nodeArray.put(node);
     nodeArray.put(node);
 
 
-    assertEquals("incorrect number of elements", 1, nodeArray.length());
+    assertEquals(1, nodeArray.length(), "incorrect number of elements");
     JSONObject info = nodeArray.getJSONObject(0);
     JSONObject info = nodeArray.getJSONObject(0);
 
 
     verifyNodeInfo(info, rmnode2);
     verifyNodeInfo(info, rmnode2);
@@ -313,8 +315,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject json = response.readEntity(JSONObject.class);
-    assertEquals("incorrect number of elements", 1, json.length());
-    assertEquals("nodes is not empty", "", json.get("nodes").toString());
+    assertEquals(1, json.length(), "incorrect number of elements");
+    assertEquals("", json.get("nodes").toString(), "nodes is not empty");
   }
   }
 
 
   @Test
   @Test
@@ -334,7 +336,7 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
     String json = response.readEntity(String.class);
     String json = response.readEntity(String.class);
     JSONObject msg = new JSONObject(json);
     JSONObject msg = new JSONObject(json);
     JSONObject exception = msg.getJSONObject("RemoteException");
     JSONObject exception = msg.getJSONObject("RemoteException");
-    assertEquals("incorrect number of elements", 3, exception.length());
+    assertEquals(3, exception.length(), "incorrect number of elements");
     String message = exception.getString("message");
     String message = exception.getString("message");
     String type = exception.getString("exception");
     String type = exception.getString("exception");
     String classname = exception.getString("javaClassName");
     String classname = exception.getString("javaClassName");
@@ -365,9 +367,9 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject nodes = json.getJSONObject("nodes");
     JSONObject nodes = json.getJSONObject("nodes");
-    assertEquals("incorrect number of elements", 1, nodes.length());
+    assertEquals(1, nodes.length(), "incorrect number of elements");
     JSONArray nodeArray = nodes.getJSONArray("node");
     JSONArray nodeArray = nodes.getJSONArray("node");
-    assertEquals("incorrect number of elements", 2, nodeArray.length());
+    assertEquals(2, nodeArray.length(), "incorrect number of elements");
     for (int i = 0; i < nodeArray.length(); ++i) {
     for (int i = 0; i < nodeArray.length(); ++i) {
       JSONObject info = nodeArray.getJSONObject(i);
       JSONObject info = nodeArray.getJSONObject(i);
       String[] node = info.get("id").toString().split(":");
       String[] node = info.get("id").toString().split(":");
@@ -399,7 +401,7 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
     JSONObject info = json.getJSONObject("node");
     JSONObject info = json.getJSONObject("node");
     String id = info.get("id").toString();
     String id = info.get("id").toString();
 
 
-    assertEquals("Incorrect Node Information.", "h2:1234", id);
+    assertEquals("h2:1234", id, "Incorrect Node Information.");
 
 
     RMNode rmNode =
     RMNode rmNode =
         rm.getRMContext().getInactiveRMNodes().get(rmnode2.getNodeID());
         rm.getRMContext().getInactiveRMNodes().get(rmnode2.getNodeID());
@@ -423,13 +425,13 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject json = response.readEntity(JSONObject.class);
-    assertEquals("incorrect number of elements", 1, json.length());
+    assertEquals(1, json.length(), "incorrect number of elements");
     JSONObject nodes = json.getJSONObject("nodes");
     JSONObject nodes = json.getJSONObject("nodes");
-    assertEquals("incorrect number of elements", 1, nodes.length());
+    assertEquals(1, nodes.length(), "incorrect number of elements");
     JSONObject node = nodes.getJSONObject("node");
     JSONObject node = nodes.getJSONObject("node");
     JSONArray nodeArray = new JSONArray();
     JSONArray nodeArray = new JSONArray();
     nodeArray.put(node);
     nodeArray.put(node);
-    assertEquals("incorrect number of elements", 1, nodeArray.length());
+    assertEquals(1, nodeArray.length(), "incorrect number of elements");
   }
   }
 
 
   @Test
   @Test
@@ -444,8 +446,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject json = response.readEntity(JSONObject.class);
-    assertEquals("incorrect number of elements", 1, json.length());
-    assertEquals("nodes is not empty", "", json.get("nodes").toString());
+    assertEquals(1, json.length(), "incorrect number of elements");
+    assertEquals("", json.get("nodes").toString(), "nodes is not empty");
   }
   }
 
 
   public void testNodesHelper(String path, String media) throws JSONException,
   public void testNodesHelper(String path, String media) throws JSONException,
@@ -459,11 +461,11 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject json = response.readEntity(JSONObject.class);
-    assertEquals("incorrect number of elements", 1, json.length());
+    assertEquals(1, json.length(), "incorrect number of elements");
     JSONObject nodes = json.getJSONObject("nodes");
     JSONObject nodes = json.getJSONObject("nodes");
-    assertEquals("incorrect number of elements", 1, nodes.length());
+    assertEquals(1, nodes.length(), "incorrect number of elements");
     JSONArray nodeArray = nodes.getJSONArray("node");
     JSONArray nodeArray = nodes.getJSONArray("node");
-    assertEquals("incorrect number of elements", 2, nodeArray.length());
+    assertEquals(2, nodeArray.length(), "incorrect number of elements");
     JSONObject info = nodeArray.getJSONObject(0);
     JSONObject info = nodeArray.getJSONObject(0);
     String id = info.get("id").toString();
     String id = info.get("id").toString();
 
 
@@ -506,7 +508,7 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject json = response.readEntity(JSONObject.class);
-    assertEquals("incorrect number of elements", 1, json.length());
+    assertEquals(1, json.length(), "incorrect number of elements");
     JSONObject info = json.getJSONObject("node");
     JSONObject info = json.getJSONObject("node");
     verifyNodeInfo(info, nm);
     verifyNodeInfo(info, nm);
   }
   }
@@ -527,7 +529,7 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject msg = response.readEntity(JSONObject.class);
     JSONObject msg = response.readEntity(JSONObject.class);
     JSONObject exception = msg.getJSONObject("RemoteException");
     JSONObject exception = msg.getJSONObject("RemoteException");
-    assertEquals("incorrect number of elements", 3, exception.length());
+    assertEquals(3, exception.length(), "incorrect number of elements");
     String message = exception.getString("message");
     String message = exception.getString("message");
     String type = exception.getString("exception");
     String type = exception.getString("exception");
     String classname = exception.getString("javaClassName");
     String classname = exception.getString("javaClassName");
@@ -549,7 +551,7 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject msg = response.readEntity(JSONObject.class);
     JSONObject msg = response.readEntity(JSONObject.class);
     JSONObject exception = msg.getJSONObject("RemoteException");
     JSONObject exception = msg.getJSONObject("RemoteException");
-    assertEquals("incorrect number of elements", 3, exception.length());
+    assertEquals(3, exception.length(), "incorrect number of elements");
     String message = exception.getString("message");
     String message = exception.getString("message");
     String type = exception.getString("exception");
     String type = exception.getString("exception");
     String classname = exception.getString("javaClassName");
     String classname = exception.getString("javaClassName");
@@ -582,11 +584,11 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
   }
   }
 
 
   private void verifyNonexistNodeException(String message, String type, String classname) {
   private void verifyNonexistNodeException(String message, String type, String classname) {
-    assertTrue("exception message incorrect: " + message,
-        "nodeId, node_invalid:99, is not found".matches(message));
-    assertTrue("exception type incorrect", "NotFoundException".matches(type));
-    assertTrue("exception className incorrect",
-        "org.apache.hadoop.yarn.webapp.NotFoundException".matches(classname));
+    assertTrue("nodeId, node_invalid:99, is not found".matches(message),
+        "exception message incorrect: " + message);
+    assertTrue("NotFoundException".matches(type), "exception type incorrect");
+    assertTrue("org.apache.hadoop.yarn.webapp.NotFoundException".matches(classname),
+        "exception className incorrect");
   }
   }
 
 
   @Test
   @Test
@@ -602,7 +604,7 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject msg = response.readEntity(JSONObject.class);
     JSONObject msg = response.readEntity(JSONObject.class);
     JSONObject exception = msg.getJSONObject("RemoteException");
     JSONObject exception = msg.getJSONObject("RemoteException");
-    assertEquals("incorrect number of elements", 3, exception.length());
+    assertEquals(3, exception.length(), "incorrect number of elements");
     String message = exception.getString("message");
     String message = exception.getString("message");
     String type = exception.getString("exception");
     String type = exception.getString("exception");
     String classname = exception.getString("javaClassName");
     String classname = exception.getString("javaClassName");
@@ -630,9 +632,9 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
     InputSource is = new InputSource(new StringReader(xml));
     InputSource is = new InputSource(new StringReader(xml));
     Document dom = db.parse(is);
     Document dom = db.parse(is);
     NodeList nodesApps = dom.getElementsByTagName("nodes");
     NodeList nodesApps = dom.getElementsByTagName("nodes");
-    assertEquals("incorrect number of elements", 1, nodesApps.getLength());
+    assertEquals(1, nodesApps.getLength(), "incorrect number of elements");
     NodeList nodes = dom.getElementsByTagName("node");
     NodeList nodes = dom.getElementsByTagName("node");
-    assertEquals("incorrect number of elements", 1, nodes.getLength());
+    assertEquals(1, nodes.getLength(), "incorrect number of elements");
     verifyNodesXML(nodes, rmnode1);
     verifyNodesXML(nodes, rmnode1);
   }
   }
 
 
@@ -656,7 +658,7 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
     is.setCharacterStream(new StringReader(xml));
     is.setCharacterStream(new StringReader(xml));
     Document dom = db.parse(is);
     Document dom = db.parse(is);
     NodeList nodes = dom.getElementsByTagName("node");
     NodeList nodes = dom.getElementsByTagName("node");
-    assertEquals("incorrect number of elements", 1, nodes.getLength());
+    assertEquals(1, nodes.getLength(), "incorrect number of elements");
     verifyNodesXML(nodes, rmnode1);
     verifyNodesXML(nodes, rmnode1);
   }
   }
 
 
@@ -678,9 +680,9 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
     is.setCharacterStream(new StringReader(xml));
     is.setCharacterStream(new StringReader(xml));
     Document dom = db.parse(is);
     Document dom = db.parse(is);
     NodeList nodesApps = dom.getElementsByTagName("nodes");
     NodeList nodesApps = dom.getElementsByTagName("nodes");
-    assertEquals("incorrect number of elements", 1, nodesApps.getLength());
+    assertEquals(1, nodesApps.getLength(), "incorrect number of elements");
     NodeList nodes = dom.getElementsByTagName("node");
     NodeList nodes = dom.getElementsByTagName("node");
-    assertEquals("incorrect number of elements", 2, nodes.getLength());
+    assertEquals(2, nodes.getLength(), "incorrect number of elements");
   }
   }
   
   
   @Test
   @Test
@@ -702,9 +704,9 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject nodes = json.getJSONObject("nodes");
     JSONObject nodes = json.getJSONObject("nodes");
-    assertEquals("incorrect number of elements", 1, nodes.length());
+    assertEquals(1, nodes.length(), "incorrect number of elements");
     JSONArray nodeArray = nodes.getJSONArray("node");
     JSONArray nodeArray = nodes.getJSONArray("node");
-    assertEquals("incorrect number of elements", 3, nodeArray.length());
+    assertEquals(3, nodeArray.length(), "incorrect number of elements");
   }
   }
 
 
   @Test
   @Test
@@ -734,13 +736,13 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
     assertEquals(MediaType.APPLICATION_JSON_TYPE + ";" + JettyUtils.UTF_8,
         response.getMediaType().toString());
         response.getMediaType().toString());
     JSONObject json = response.readEntity(JSONObject.class);
     JSONObject json = response.readEntity(JSONObject.class);
-    assertEquals("incorrect number of elements", 1, json.length());
+    assertEquals(1, json.length(), "incorrect number of elements");
     JSONObject nodes = json.getJSONObject("nodes");
     JSONObject nodes = json.getJSONObject("nodes");
-    assertEquals("incorrect number of elements", 1, nodes.length());
+    assertEquals(1, nodes.length(), "incorrect number of elements");
     JSONObject jsonNode = nodes.getJSONObject("node");
     JSONObject jsonNode = nodes.getJSONObject("node");
     JSONArray nodeArray = new JSONArray();
     JSONArray nodeArray = new JSONArray();
     nodeArray.put(jsonNode);
     nodeArray.put(jsonNode);
-    assertEquals("incorrect number of elements", 1, nodeArray.length());
+    assertEquals(1, nodeArray.length(), "incorrect number of elements");
     JSONObject info = nodeArray.getJSONObject(0);
     JSONObject info = nodeArray.getJSONObject(0);
 
 
     // verify the resource utilization
     // verify the resource utilization
@@ -801,7 +803,7 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
     JSONObject exception = json.getJSONObject("RemoteException");
     JSONObject exception = json.getJSONObject("RemoteException");
     assertEquals("IllegalArgumentException", exception.getString("exception"));
     assertEquals("IllegalArgumentException", exception.getString("exception"));
     String msg = exception.getString("message");
     String msg = exception.getString("message");
-    assertTrue("Wrong message: " + msg, msg.startsWith("Invalid NodeId"));
+    assertTrue(msg.startsWith("Invalid NodeId"), "Wrong message: " + msg);
 
 
     rm.stop();
     rm.stop();
   }
   }
@@ -842,7 +844,7 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
 
 
   public void verifyNodeInfo(JSONObject nodeInfo, RMNode nm)
   public void verifyNodeInfo(JSONObject nodeInfo, RMNode nm)
       throws JSONException, Exception {
       throws JSONException, Exception {
-    assertEquals("incorrect number of elements", 23, nodeInfo.length());
+    assertEquals(23, nodeInfo.length(), "incorrect number of elements");
 
 
     JSONObject resourceInfo = nodeInfo.getJSONObject("resourceUtilization");
     JSONObject resourceInfo = nodeInfo.getJSONObject("resourceUtilization");
     verifyNodeInfoGeneric(nm, nodeInfo.getString("state"),
     verifyNodeInfoGeneric(nm, nodeInfo.getString("state"),
@@ -901,47 +903,45 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
     if (node.getNodeUtilization() != null) {
     if (node.getNodeUtilization() != null) {
       ResourceUtilization nodeResource = ResourceUtilization.newInstance(
       ResourceUtilization nodeResource = ResourceUtilization.newInstance(
           nodePhysicalMemoryMB, nodeVirtualMemoryMB, (float) nodeCPUUsage);
           nodePhysicalMemoryMB, nodeVirtualMemoryMB, (float) nodeCPUUsage);
-      assertEquals("nodeResourceUtilization doesn't match",
-          node.getNodeUtilization(), nodeResource);
+      assertEquals(node.getNodeUtilization(), nodeResource,
+          "nodeResourceUtilization doesn't match");
     }
     }
     if (node.getAggregatedContainersUtilization() != null) {
     if (node.getAggregatedContainersUtilization() != null) {
       ResourceUtilization containerResource = ResourceUtilization.newInstance(
       ResourceUtilization containerResource = ResourceUtilization.newInstance(
           containersPhysicalMemoryMB, containersVirtualMemoryMB,
           containersPhysicalMemoryMB, containersVirtualMemoryMB,
           (float) containersCPUUsage);
           (float) containersCPUUsage);
-      assertEquals("containerResourceUtilization doesn't match",
-          node.getAggregatedContainersUtilization(), containerResource);
+      assertEquals(node.getAggregatedContainersUtilization(), containerResource,
+          "containerResourceUtilization doesn't match");
     }
     }
 
 
     long expectedHealthUpdate = node.getLastHealthReportTime();
     long expectedHealthUpdate = node.getLastHealthReportTime();
-    assertEquals("lastHealthUpdate doesn't match, got: " + lastHealthUpdate
-        + " expected: " + expectedHealthUpdate, expectedHealthUpdate,
-        lastHealthUpdate);
+    assertEquals(expectedHealthUpdate, lastHealthUpdate,
+        "lastHealthUpdate doesn't match, got: " + lastHealthUpdate
+        + " expected: " + expectedHealthUpdate);
 
 
     if (report != null) {
     if (report != null) {
-      assertEquals("numContainers doesn't match: " + numContainers,
-          report.getNumContainers(), numContainers);
-      assertEquals("usedMemoryMB doesn't match: " + usedMemoryMB, report
-          .getUsedResource().getMemorySize(), usedMemoryMB);
-      assertEquals("availMemoryMB doesn't match: " + availMemoryMB, report
-          .getAvailableResource().getMemorySize(), availMemoryMB);
-      assertEquals("usedVirtualCores doesn't match: " + usedVirtualCores, report
-          .getUsedResource().getVirtualCores(), usedVirtualCores);
-      assertEquals("availVirtualCores doesn't match: " + availVirtualCores, report
-          .getAvailableResource().getVirtualCores(), availVirtualCores);
+      assertEquals(report.getNumContainers(), numContainers,
+          "numContainers doesn't match: " + numContainers);
+      assertEquals(report.getUsedResource().getMemorySize(), usedMemoryMB,
+          "usedMemoryMB doesn't match: " + usedMemoryMB);
+      assertEquals(report.getAvailableResource().getMemorySize(), availMemoryMB,
+          "availMemoryMB doesn't match: " + availMemoryMB);
+      assertEquals(report.getUsedResource().getVirtualCores(), usedVirtualCores,
+          "usedVirtualCores doesn't match: " + usedVirtualCores);
+      assertEquals(report.getAvailableResource().getVirtualCores(), availVirtualCores,
+          "availVirtualCores doesn't match: " + availVirtualCores);
     }
     }
 
 
     if (opportunisticStatus != null) {
     if (opportunisticStatus != null) {
-      assertEquals("numRunningOpportContainers doesn't match: " +
-              numRunningOpportContainers,
-          opportunisticStatus.getRunningOpportContainers(),
+      assertEquals(opportunisticStatus.getRunningOpportContainers(),
+          numRunningOpportContainers, "numRunningOpportContainers doesn't match: " +
           numRunningOpportContainers);
           numRunningOpportContainers);
-      assertEquals("usedMemoryOpportGB doesn't match: " + usedMemoryOpportGB,
-          opportunisticStatus.getOpportMemoryUsed(), usedMemoryOpportGB);
-      assertEquals(
-          "usedVirtualCoresOpport doesn't match: " + usedVirtualCoresOpport,
-          opportunisticStatus.getOpportCoresUsed(), usedVirtualCoresOpport);
-      assertEquals("numQueuedContainers doesn't match: " + numQueuedContainers,
-          opportunisticStatus.getQueuedOpportContainers(), numQueuedContainers);
+      assertEquals(opportunisticStatus.getOpportMemoryUsed(), usedMemoryOpportGB,
+          "usedMemoryOpportGB doesn't match: " + usedMemoryOpportGB);
+      assertEquals(opportunisticStatus.getOpportCoresUsed(), usedVirtualCoresOpport,
+          "usedVirtualCoresOpport doesn't match: " + usedVirtualCoresOpport);
+      assertEquals(opportunisticStatus.getQueuedOpportContainers(), numQueuedContainers,
+          "numQueuedContainers doesn't match: " + numQueuedContainers);
     }
     }
   }
   }
 
 
@@ -1060,8 +1060,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase {
       String nodeId = nodeJson.getString("id");
       String nodeId = nodeJson.getString("id");
 
 
       // Ensure the response contains all nodes info
       // Ensure the response contains all nodes info
-      assertTrue("Nodes info should have expected node IDs",
-          expectedAllocationTags.containsKey(nodeId));
+      assertTrue(expectedAllocationTags.containsKey(nodeId),
+          "Nodes info should have expected node IDs");
 
 
       Map<String, Long> expectedTags = expectedAllocationTags.get(nodeId);
       Map<String, Long> expectedTags = expectedAllocationTags.get(nodeId);
       JSONArray tagsInfo = nodeJson.getJSONObject("allocationTags")
       JSONArray tagsInfo = nodeJson.getJSONObject("allocationTags")

+ 99 - 57
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesReservation.java

@@ -21,8 +21,8 @@ package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.toJson;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.toJson;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.assertResponseStatusCode;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.assertResponseStatusCode;
-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.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
@@ -79,12 +79,7 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.AfterEach;
 
 
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.internal.inject.AbstractBinder;
 import org.glassfish.jersey.jettison.JettisonFeature;
 import org.glassfish.jersey.jettison.JettisonFeature;
@@ -92,8 +87,9 @@ import org.glassfish.jersey.jettison.JettisonJaxbContext;
 import org.glassfish.jersey.jettison.JettisonUnmarshaller;
 import org.glassfish.jersey.jettison.JettisonUnmarshaller;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.TestProperties;
 import org.glassfish.jersey.test.TestProperties;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
 
-@RunWith(Parameterized.class)
 public class TestRMWebServicesReservation extends JerseyTestBase {
 public class TestRMWebServicesReservation extends JerseyTestBase {
 
 
   private String webserviceUserName = "testuser";
   private String webserviceUserName = "testuser";
@@ -275,19 +271,17 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     return new FairTestServletModule(true);
     return new FairTestServletModule(true);
   }
   }
 
 
-  @Parameters
   public static Collection<Object[]> guiceConfigs() {
   public static Collection<Object[]> guiceConfigs() {
     return Arrays.asList(new Object[][] {{0, true}, {1, true}, {2, true},
     return Arrays.asList(new Object[][] {{0, true}, {1, true}, {2, true},
         {3, true}, {0, false}, {1, false}, {2, false}, {3, false}});
         {3, true}, {0, false}, {1, false}, {2, false}, {3, false}});
   }
   }
 
 
-  @Before
   @Override
   @Override
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     super.setUp();
     super.setUp();
   }
   }
 
 
-  public TestRMWebServicesReservation(int run, boolean recurrence) {
+  public void initTestRMWebServicesReservation(int run, boolean recurrence) throws Exception {
     enableRecurrence = recurrence;
     enableRecurrence = recurrence;
     switch (run) {
     switch (run) {
     case 0:
     case 0:
@@ -308,6 +302,7 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
       config.register(getSimpleAuthInjectorFair());
       config.register(getSimpleAuthInjectorFair());
       break;
       break;
     }
     }
+    setUp();
   }
   }
 
 
   private boolean isAuthenticationEnabled() {
   private boolean isAuthenticationEnabled() {
@@ -329,7 +324,7 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     return this.constructWebResource(target, paths);
     return this.constructWebResource(target, paths);
   }
   }
 
 
-  @After
+  @AfterEach
   @Override
   @Override
   public void tearDown() throws Exception {
   public void tearDown() throws Exception {
     if (rm != null) {
     if (rm != null) {
@@ -338,8 +333,10 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     super.tearDown();
     super.tearDown();
   }
   }
 
 
-  @Test
-  public void testSubmitReservation() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testSubmitReservation(int run, boolean recurrence) throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -353,8 +350,10 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testSubmitDuplicateReservation() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testSubmitDuplicateReservation(int run, boolean recurrence) throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -382,8 +381,11 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testSubmitDifferentReservationWithSameId() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testSubmitDifferentReservationWithSameId(int run, boolean recurrence)
+      throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -412,8 +414,10 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testFailedSubmitReservation() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testFailedSubmitReservation(int run, boolean recurrence) throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     // setup a cluster too small to accept the reservation
     // setup a cluster too small to accept the reservation
     setupCluster(1);
     setupCluster(1);
@@ -427,8 +431,10 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testUpdateReservation() throws JSONException, Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testUpdateReservation(int run, boolean recurrence) throws JSONException, Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -444,8 +450,10 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testTimeIntervalRequestListReservation() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testTimeIntervalRequestListReservation(int run, boolean recurrence) throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -485,9 +493,11 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testSameTimeIntervalRequestListReservation() throws Exception {
-
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testSameTimeIntervalRequestListReservation(int run, boolean recurrence)
+      throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -531,9 +541,12 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
 
 
     rm.stop();
     rm.stop();
   }
   }
-  @Test
-  public void testInvalidTimeIntervalRequestListReservation() throws
-          Exception {
+
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testInvalidTimeIntervalRequestListReservation(int run, boolean recurrence) throws
+      Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -572,8 +585,11 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testInvalidEndTimeRequestListReservation() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testInvalidEndTimeRequestListReservation(int run, boolean recurrence)
+      throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -624,8 +640,10 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testEmptyEndTimeRequestListReservation() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testEmptyEndTimeRequestListReservation(int run, boolean recurrence) throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -674,8 +692,11 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testInvalidStartTimeRequestListReservation() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testInvalidStartTimeRequestListReservation(int run, boolean recurrence)
+      throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -718,8 +739,11 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testEmptyStartTimeRequestListReservation() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testEmptyStartTimeRequestListReservation(int run, boolean recurrence)
+      throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -759,8 +783,10 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testQueueOnlyRequestListReservation() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testQueueOnlyRequestListReservation(int run, boolean recurrence) throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -791,8 +817,10 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testEmptyQueueRequestListReservation() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testEmptyQueueRequestListReservation(int run, boolean recurrence) throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -811,8 +839,11 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testNonExistentQueueRequestListReservation() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testNonExistentQueueRequestListReservation(int run, boolean recurrence)
+      throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -832,8 +863,11 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testReservationIdRequestListReservation() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testReservationIdRequestListReservation(int run, boolean recurrence)
+      throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -873,9 +907,11 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testInvalidReservationIdRequestListReservation() throws
-          Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testInvalidReservationIdRequestListReservation(int run, boolean recurrence)
+      throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -897,8 +933,10 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testIncludeResourceAllocations() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testIncludeResourceAllocations(int run, boolean recurrence) throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -933,8 +971,10 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testExcludeResourceAllocations() throws Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testExcludeResourceAllocations(int run, boolean recurrence) throws Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     setupCluster(100);
     setupCluster(100);
 
 
@@ -971,8 +1011,10 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
     rm.stop();
     rm.stop();
   }
   }
 
 
-  @Test
-  public void testDeleteReservation() throws JSONException, Exception {
+  @MethodSource("guiceConfigs")
+  @ParameterizedTest
+  public void testDeleteReservation(int run, boolean recurrence) throws JSONException, Exception {
+    initTestRMWebServicesReservation(run, recurrence);
     rm.start();
     rm.start();
     for (int i = 0; i < 100; i++) {
     for (int i = 0; i < 100; i++) {
       MockNM amNodeManager =
       MockNM amNodeManager =
@@ -1027,7 +1069,7 @@ public class TestRMWebServicesReservation extends JerseyTestBase {
         readEntity(JSONObject.class).
         readEntity(JSONObject.class).
         getJSONObject("new-reservation");
         getJSONObject("new-reservation");
 
 
-    assertEquals("incorrect number of elements", 1, json.length());
+    assertEquals(1, json.length(), "incorrect number of elements");
     ReservationId rid = null;
     ReservationId rid = null;
     try {
     try {
       rid = ReservationId.parseReservationId(json.getString("reservation-id"));
       rid = ReservationId.parseReservationId(json.getString("reservation-id"));

+ 30 - 21
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesSchedulerActivities.java

@@ -34,7 +34,7 @@ import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.Capacity
 import org.apache.hadoop.yarn.server.resourcemanager.webapp.reader.NodeLabelsInfoReader;
 import org.apache.hadoop.yarn.server.resourcemanager.webapp.reader.NodeLabelsInfoReader;
 import org.apache.hadoop.yarn.webapp.GenericExceptionHandler;
 import org.apache.hadoop.yarn.webapp.GenericExceptionHandler;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
-import org.junit.Before;
+import org.junit.jupiter.api.BeforeEach;
 import org.apache.hadoop.http.JettyUtils;
 import org.apache.hadoop.http.JettyUtils;
 import org.apache.hadoop.yarn.api.records.ContainerId;
 import org.apache.hadoop.yarn.api.records.ContainerId;
 import org.apache.hadoop.yarn.api.records.ContainerState;
 import org.apache.hadoop.yarn.api.records.ContainerState;
@@ -57,7 +57,8 @@ import org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.NodeUpdateS
 import org.apache.hadoop.yarn.util.resource.Resources;
 import org.apache.hadoop.yarn.util.resource.Resources;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.Timeout;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -99,10 +100,10 @@ import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTes
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTestUtils.verifyNumberOfNodes;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTestUtils.verifyNumberOfNodes;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTestUtils.verifyQueueOrder;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTestUtils.verifyQueueOrder;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTestUtils.verifyStateOfAllocations;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTestUtils.verifyStateOfAllocations;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-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.assertTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 
 
 /**
 /**
@@ -144,7 +145,7 @@ public class TestRMWebServicesSchedulerActivities extends JerseyTestBase {
   public TestRMWebServicesSchedulerActivities() {
   public TestRMWebServicesSchedulerActivities() {
   }
   }
 
 
-  @Before
+  @BeforeEach
   @Override
   @Override
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     super.setUp();
     super.setUp();
@@ -866,7 +867,8 @@ public class TestRMWebServicesSchedulerActivities extends JerseyTestBase {
     }
     }
   }
   }
 
 
-  @Test (timeout=30000)
+  @Test
+  @Timeout(value = 30)
   public void testInsufficientResourceDiagnostic() throws Exception {
   public void testInsufficientResourceDiagnostic() throws Exception {
     rm.start();
     rm.start();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
@@ -930,7 +932,8 @@ public class TestRMWebServicesSchedulerActivities extends JerseyTestBase {
     }
     }
   }
   }
 
 
-  @Test (timeout=30000)
+  @Test
+  @Timeout(value = 30)
   public void testPlacementConstraintDiagnostic() throws Exception {
   public void testPlacementConstraintDiagnostic() throws Exception {
     rm.start();
     rm.start();
     CapacityScheduler cs = (CapacityScheduler)rm.getResourceScheduler();
     CapacityScheduler cs = (CapacityScheduler)rm.getResourceScheduler();
@@ -998,7 +1001,8 @@ public class TestRMWebServicesSchedulerActivities extends JerseyTestBase {
     }
     }
   }
   }
 
 
-  @Test (timeout=30000)
+  @Test
+  @Timeout(value = 30)
   public void testAppInsufficientResourceDiagnostic() throws Exception {
   public void testAppInsufficientResourceDiagnostic() throws Exception {
     rm.start();
     rm.start();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
@@ -1050,7 +1054,8 @@ public class TestRMWebServicesSchedulerActivities extends JerseyTestBase {
     }
     }
   }
   }
 
 
-  @Test(timeout=30000)
+  @Test
+  @Timeout(value = 30)
   public void testAppPlacementConstraintDiagnostic() throws Exception {
   public void testAppPlacementConstraintDiagnostic() throws Exception {
     rm.start();
     rm.start();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
@@ -1108,7 +1113,8 @@ public class TestRMWebServicesSchedulerActivities extends JerseyTestBase {
     }
     }
   }
   }
 
 
-  @Test (timeout=30000)
+  @Test
+  @Timeout(value = 30)
   public void testAppFilterByRequestPrioritiesAndAllocationRequestIds()
   public void testAppFilterByRequestPrioritiesAndAllocationRequestIds()
       throws Exception {
       throws Exception {
     rm.start();
     rm.start();
@@ -1247,7 +1253,8 @@ public class TestRMWebServicesSchedulerActivities extends JerseyTestBase {
     }
     }
   }
   }
 
 
-  @Test(timeout = 30000)
+  @Test
+  @Timeout(value = 30)
   public void testAppLimit() throws Exception {
   public void testAppLimit() throws Exception {
     rm.start();
     rm.start();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
@@ -1322,7 +1329,8 @@ public class TestRMWebServicesSchedulerActivities extends JerseyTestBase {
     }
     }
   }
   }
 
 
-  @Test(timeout = 30000)
+  @Test
+  @Timeout(value = 30)
   public void testAppActions() throws Exception {
   public void testAppActions() throws Exception {
     rm.start();
     rm.start();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
@@ -1426,7 +1434,8 @@ public class TestRMWebServicesSchedulerActivities extends JerseyTestBase {
     }
     }
   }
   }
 
 
-  @Test(timeout=30000)
+  @Test
+  @Timeout(value = 30)
   public void testAppSummary() throws Exception {
   public void testAppSummary() throws Exception {
     rm.start();
     rm.start();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
@@ -1677,7 +1686,8 @@ public class TestRMWebServicesSchedulerActivities extends JerseyTestBase {
     }
     }
   }
   }
 
 
-  @Test(timeout=30000)
+  @Test
+  @Timeout(value = 30)
   public void testSchedulerBulkActivities() throws Exception {
   public void testSchedulerBulkActivities() throws Exception {
     rm.start();
     rm.start();
 
 
@@ -1703,8 +1713,8 @@ public class TestRMWebServicesSchedulerActivities extends JerseyTestBase {
       JSONObject activitiesJson = restClient.getOutput().getJSONObject(
       JSONObject activitiesJson = restClient.getOutput().getJSONObject(
           FN_SCHEDULER_BULK_ACT_ROOT);
           FN_SCHEDULER_BULK_ACT_ROOT);
       Object activities = activitiesJson.get(FN_SCHEDULER_ACT_ROOT);
       Object activities = activitiesJson.get(FN_SCHEDULER_ACT_ROOT);
-      assertEquals("Number of activities is wrong", expectedCount,
-          ((JSONArray) activities).length());
+      assertEquals(expectedCount,
+          ((JSONArray) activities).length(), "Number of activities is wrong");
 
 
 
 
       // Validate if response does not exceed max 500
       // Validate if response does not exceed max 500
@@ -1717,9 +1727,8 @@ public class TestRMWebServicesSchedulerActivities extends JerseyTestBase {
       activitiesJson = restClient.getOutput().getJSONObject(
       activitiesJson = restClient.getOutput().getJSONObject(
           FN_SCHEDULER_BULK_ACT_ROOT);
           FN_SCHEDULER_BULK_ACT_ROOT);
       activities = activitiesJson.get(FN_SCHEDULER_ACT_ROOT);
       activities = activitiesJson.get(FN_SCHEDULER_ACT_ROOT);
-      assertEquals("Max Activities Limit does not work",
-          RMWebServices.MAX_ACTIVITIES_COUNT,
-          ((JSONArray) activities).length());
+      assertEquals(RMWebServices.MAX_ACTIVITIES_COUNT,
+          ((JSONArray) activities).length(), "Max Activities Limit does not work");
 
 
     } finally {
     } finally {
       rm.stop();
       rm.stop();

+ 26 - 18
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesSchedulerActivitiesWithMultiNodesEnabled.java

@@ -47,9 +47,9 @@ import org.apache.hadoop.yarn.webapp.GenericExceptionHandler;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.Timeout;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -82,9 +82,10 @@ import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTes
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTestUtils.verifyNumberOfAllocationAttempts;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTestUtils.verifyNumberOfAllocationAttempts;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTestUtils.verifyNumberOfAllocations;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTestUtils.verifyNumberOfAllocations;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTestUtils.verifyStateOfAllocations;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.ActivitiesTestUtils.verifyStateOfAllocations;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+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.Mockito.mock;
 import static org.mockito.Mockito.mock;
 
 
 /**
 /**
@@ -163,13 +164,14 @@ public class TestRMWebServicesSchedulerActivitiesWithMultiNodesEnabled
     config.setMaximumApplicationMasterResourcePerQueuePercent(b, 100);
     config.setMaximumApplicationMasterResourcePerQueuePercent(b, 100);
   }
   }
 
 
-  @Before
+  @BeforeEach
   @Override
   @Override
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     super.setUp();
     super.setUp();
   }
   }
 
 
-  @Test (timeout=30000)
+  @Test
+  @Timeout(value = 30)
   public void testAssignContainer() throws Exception {
   public void testAssignContainer() throws Exception {
     //Start RM so that it accepts app submissions
     //Start RM so that it accepts app submissions
     rm.start();
     rm.start();
@@ -227,7 +229,8 @@ public class TestRMWebServicesSchedulerActivitiesWithMultiNodesEnabled
     }
     }
   }
   }
 
 
-  @Test (timeout=30000)
+  @Test
+  @Timeout(value = 30)
   public void testSchedulingWithoutPendingRequests()
   public void testSchedulingWithoutPendingRequests()
       throws Exception {
       throws Exception {
     //Start RM so that it accepts app submissions
     //Start RM so that it accepts app submissions
@@ -269,7 +272,8 @@ public class TestRMWebServicesSchedulerActivitiesWithMultiNodesEnabled
     }
     }
   }
   }
 
 
-  @Test (timeout=30000)
+  @Test
+  @Timeout(value = 30)
   public void testAppAssignContainer() throws Exception {
   public void testAppAssignContainer() throws Exception {
     rm.start();
     rm.start();
 
 
@@ -334,7 +338,8 @@ public class TestRMWebServicesSchedulerActivitiesWithMultiNodesEnabled
     }
     }
   }
   }
 
 
-  @Test (timeout=30000)
+  @Test
+  @Timeout(value = 30)
   public void testInsufficientResourceDiagnostic() throws Exception {
   public void testInsufficientResourceDiagnostic() throws Exception {
     rm.start();
     rm.start();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
@@ -420,7 +425,8 @@ public class TestRMWebServicesSchedulerActivitiesWithMultiNodesEnabled
     }
     }
   }
   }
 
 
-  @Test (timeout=30000)
+  @Test
+  @Timeout(value = 30)
   public void testAppInsufficientResourceDiagnostic() throws Exception {
   public void testAppInsufficientResourceDiagnostic() throws Exception {
     rm.start();
     rm.start();
     CapacityScheduler cs = (CapacityScheduler)rm.getResourceScheduler();
     CapacityScheduler cs = (CapacityScheduler)rm.getResourceScheduler();
@@ -499,7 +505,8 @@ public class TestRMWebServicesSchedulerActivitiesWithMultiNodesEnabled
     }
     }
   }
   }
 
 
-  @Test (timeout=30000)
+  @Test
+  @Timeout(value = 30)
   public void testGroupByDiagnostics() throws Exception {
   public void testGroupByDiagnostics() throws Exception {
     rm.start();
     rm.start();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
     CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
@@ -528,7 +535,7 @@ public class TestRMWebServicesSchedulerActivitiesWithMultiNodesEnabled
        */
        */
       params.add(RMWSConsts.GROUP_BY, "NON-EXIST-GROUP-BY");
       params.add(RMWSConsts.GROUP_BY, "NON-EXIST-GROUP-BY");
       JSONObject json = ActivitiesTestUtils.requestWebResource(r, params);
       JSONObject json = ActivitiesTestUtils.requestWebResource(r, params);
-      Assert.assertTrue(json.getJSONObject(FN_SCHEDULER_ACT_ROOT)
+      assertTrue(json.getJSONObject(FN_SCHEDULER_ACT_ROOT)
           .getString(FN_ACT_DIAGNOSTIC).startsWith("Got invalid groupBy:"));
           .getString(FN_ACT_DIAGNOSTIC).startsWith("Got invalid groupBy:"));
       params.remove(RMWSConsts.GROUP_BY);
       params.remove(RMWSConsts.GROUP_BY);
 
 
@@ -575,7 +582,7 @@ public class TestRMWebServicesSchedulerActivitiesWithMultiNodesEnabled
           assertEquals("1", reqChild.getString(FN_ACT_COUNT));
           assertEquals("1", reqChild.getString(FN_ACT_COUNT));
           assertNotNull(reqChild.getString(FN_ACT_NODE_IDS));
           assertNotNull(reqChild.getString(FN_ACT_NODE_IDS));
         } else {
         } else {
-          Assert.fail("Allocation state should be "
+          fail("Allocation state should be "
               + AllocationState.SKIPPED.name() + " or "
               + AllocationState.SKIPPED.name() + " or "
               + AllocationState.RESERVED.name() + "!");
               + AllocationState.RESERVED.name() + "!");
         }
         }
@@ -585,7 +592,8 @@ public class TestRMWebServicesSchedulerActivitiesWithMultiNodesEnabled
     }
     }
   }
   }
 
 
-  @Test (timeout=30000)
+  @Test
+  @Timeout(value = 30)
   public void testAppGroupByDiagnostics() throws Exception {
   public void testAppGroupByDiagnostics() throws Exception {
     rm.start();
     rm.start();
     CapacityScheduler cs = (CapacityScheduler)rm.getResourceScheduler();
     CapacityScheduler cs = (CapacityScheduler)rm.getResourceScheduler();
@@ -615,7 +623,7 @@ public class TestRMWebServicesSchedulerActivitiesWithMultiNodesEnabled
        */
        */
       params.add(RMWSConsts.GROUP_BY, "NON-EXIST-GROUP-BY");
       params.add(RMWSConsts.GROUP_BY, "NON-EXIST-GROUP-BY");
       JSONObject json = ActivitiesTestUtils.requestWebResource(r, params);
       JSONObject json = ActivitiesTestUtils.requestWebResource(r, params);
-      Assert.assertTrue(json.getJSONObject(FN_APP_ACT_ROOT)
+      assertTrue(json.getJSONObject(FN_APP_ACT_ROOT)
           .getString(FN_ACT_DIAGNOSTIC)
           .getString(FN_ACT_DIAGNOSTIC)
           .startsWith("Got invalid groupBy:"));
           .startsWith("Got invalid groupBy:"));
       params.remove(RMWSConsts.GROUP_BY);
       params.remove(RMWSConsts.GROUP_BY);
@@ -674,7 +682,7 @@ public class TestRMWebServicesSchedulerActivitiesWithMultiNodesEnabled
           assertEquals("1", allocationAttemptObj.getString(FN_ACT_COUNT));
           assertEquals("1", allocationAttemptObj.getString(FN_ACT_COUNT));
           assertNotNull(allocationAttemptObj.getString(FN_ACT_NODE_IDS));
           assertNotNull(allocationAttemptObj.getString(FN_ACT_NODE_IDS));
         } else {
         } else {
-          Assert.fail("Allocation state should be "
+          fail("Allocation state should be "
               + AllocationState.SKIPPED.name() + " or "
               + AllocationState.SKIPPED.name() + " or "
               + AllocationState.RESERVED.name() + "!");
               + AllocationState.RESERVED.name() + "!");
         }
         }

+ 17 - 21
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebappAuthentication.java

@@ -19,9 +19,9 @@
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 
 
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.toJson;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.toJson;
-import static org.junit.Assert.assertEquals;
-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.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 
 
 import java.io.File;
 import java.io.File;
 import java.io.IOException;
 import java.io.IOException;
@@ -48,18 +48,15 @@ import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoSchedule
 import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.AppState;
 import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.AppState;
 import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.ApplicationSubmissionContextInfo;
 import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.ApplicationSubmissionContextInfo;
 
 
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
 
 /* Just a simple test class to ensure that the RM handles the static web user
 /* Just a simple test class to ensure that the RM handles the static web user
  * correctly for secure and un-secure modes
  * correctly for secure and un-secure modes
  * 
  * 
  */
  */
-@RunWith(Parameterized.class)
 public class TestRMWebappAuthentication {
 public class TestRMWebappAuthentication {
 
 
   private static MockRM rm;
   private static MockRM rm;
@@ -93,28 +90,26 @@ public class TestRMWebappAuthentication {
     kerberosConf.setBoolean("mockrm.webapp.enabled", true);
     kerberosConf.setBoolean("mockrm.webapp.enabled", true);
   }
   }
 
 
-  @Parameters
   public static Collection params() {
   public static Collection params() {
-    return Arrays.asList(new Object[][] { { 1, simpleConf },
-        { 2, kerberosConf } });
+    return Arrays.asList(new Object[][]{{1, simpleConf},
+        {2, kerberosConf}});
   }
   }
 
 
-  public TestRMWebappAuthentication(int run, Configuration conf) {
-    super();
+  public void initTestRMWebappAuthentication(int run, Configuration conf) {
     setupAndStartRM(conf);
     setupAndStartRM(conf);
   }
   }
 
 
-  @BeforeClass
+  @BeforeAll
   public static void setUp() {
   public static void setUp() {
     try {
     try {
       testMiniKDC = new MiniKdc(MiniKdc.createConf(), testRootDir);
       testMiniKDC = new MiniKdc(MiniKdc.createConf(), testRootDir);
       setupKDC();
       setupKDC();
     } catch (Exception e) {
     } catch (Exception e) {
-      assertTrue("Couldn't create MiniKDC", false);
+      assertTrue(false, "Couldn't create MiniKDC");
     }
     }
   }
   }
 
 
-  @AfterClass
+  @AfterAll
   public static void tearDown() {
   public static void tearDown() {
     if (testMiniKDC != null) {
     if (testMiniKDC != null) {
       testMiniKDC.stop();
       testMiniKDC.stop();
@@ -142,9 +137,10 @@ public class TestRMWebappAuthentication {
   // ensure that in a non-secure cluster users can access
   // ensure that in a non-secure cluster users can access
   // the web pages as earlier and submit apps as anonymous
   // the web pages as earlier and submit apps as anonymous
   // user or by identifying themselves
   // user or by identifying themselves
-  @Test
-  public void testSimpleAuth() throws Exception {
-
+  @MethodSource("params")
+  @ParameterizedTest
+  public void testSimpleAuth(int run, Configuration conf) throws Exception {
+    initTestRMWebappAuthentication(run, conf);
     rm.start();
     rm.start();
 
 
     // ensure users can access web pages
     // ensure users can access web pages

+ 1 - 1
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRedirectionErrorPage.java

@@ -26,7 +26,7 @@ import org.apache.hadoop.yarn.server.resourcemanager.RMContext;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
 import org.apache.hadoop.yarn.webapp.YarnWebParams;
 import org.apache.hadoop.yarn.webapp.YarnWebParams;
 import org.apache.hadoop.yarn.webapp.test.WebAppTests;
 import org.apache.hadoop.yarn.webapp.test.WebAppTests;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 import com.google.inject.Binder;
 import com.google.inject.Binder;
 import com.google.inject.Injector;
 import com.google.inject.Injector;

+ 3 - 3
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestWebServiceUtil.java

@@ -55,7 +55,6 @@ import com.fasterxml.jackson.databind.ObjectWriter;
 import com.fasterxml.jackson.databind.SerializationFeature;
 import com.fasterxml.jackson.databind.SerializationFeature;
 import org.glassfish.jersey.jettison.JettisonJaxbContext;
 import org.glassfish.jersey.jettison.JettisonJaxbContext;
 import org.glassfish.jersey.jettison.JettisonMarshaller;
 import org.glassfish.jersey.jettison.JettisonMarshaller;
-import org.junit.Assert;
 import org.w3c.dom.Document;
 import org.w3c.dom.Document;
 import org.xml.sax.InputSource;
 import org.xml.sax.InputSource;
 
 
@@ -70,7 +69,8 @@ import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.Capacity
 import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfiguration;
 import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfiguration;
 
 
 import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerTestUtilities.GB;
 import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerTestUtilities.GB;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
 
 
 public final class TestWebServiceUtil {
 public final class TestWebServiceUtil {
   private static final ObjectMapper MAPPER = new ObjectMapper()
   private static final ObjectMapper MAPPER = new ObjectMapper()
@@ -288,7 +288,7 @@ public final class TestWebServiceUtil {
       }
       }
     } catch (URISyntaxException | IOException e) {
     } catch (URISyntaxException | IOException e) {
       e.printStackTrace();
       e.printStackTrace();
-      Assert.fail("overwrite should not fail " + e.getMessage());
+      fail("overwrite should not fail " + e.getMessage());
     }
     }
   }
   }
 
 

+ 5 - 4
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/TestFairSchedulerQueueInfo.java

@@ -28,11 +28,12 @@ import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairSchedule
 import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.QueueManager;
 import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.QueueManager;
 import org.apache.hadoop.util.SystemClock;
 import org.apache.hadoop.util.SystemClock;
 import org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator;
 import org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 import java.util.Collection;
 import java.util.Collection;
 
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.when;
 
 
@@ -64,7 +65,7 @@ public class TestFairSchedulerQueueInfo {
         new FairSchedulerQueueInfo(testQueue, scheduler);
         new FairSchedulerQueueInfo(testQueue, scheduler);
     Collection<FairSchedulerQueueInfo> childQueues =
     Collection<FairSchedulerQueueInfo> childQueues =
         queueInfo.getChildQueues();
         queueInfo.getChildQueues();
-    Assert.assertNotNull(childQueues);
-    Assert.assertEquals("Child QueueInfo was not empty", 0, childQueues.size());
+    assertNotNull(childQueues);
+    assertEquals(0, childQueues.size(), "Child QueueInfo was not empty");
   }
   }
 }
 }

+ 29 - 30
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/fairscheduler/FairSchedulerJsonVerifications.java

@@ -28,9 +28,9 @@ import org.codehaus.jettison.json.JSONObject;
 import java.util.List;
 import java.util.List;
 import java.util.Set;
 import java.util.Set;
 
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 
 /**
 /**
  * This test helper class is primarily used by
  * This test helper class is primarily used by
@@ -62,8 +62,8 @@ public class FairSchedulerJsonVerifications {
       Set<String> resourceCategories) throws JSONException {
       Set<String> resourceCategories) throws JSONException {
     for (String resourceCategory : resourceCategories) {
     for (String resourceCategory : resourceCategories) {
       boolean hasResourceCategory = queue.has(resourceCategory);
       boolean hasResourceCategory = queue.has(resourceCategory);
-      assertTrue("Queue " + queue + " does not have resource category key: "
-          + resourceCategory, hasResourceCategory);
+      assertTrue(hasResourceCategory, "Queue " + queue + " does not have resource category key: "
+          + resourceCategory);
       verifyResourceContainsDefaultResourceTypes(
       verifyResourceContainsDefaultResourceTypes(
           queue.getJSONObject(resourceCategory));
           queue.getJSONObject(resourceCategory));
     }
     }
@@ -74,15 +74,16 @@ public class FairSchedulerJsonVerifications {
     Object memory = jsonObject.opt("memory");
     Object memory = jsonObject.opt("memory");
     Object vCores = jsonObject.opt("vCores");
     Object vCores = jsonObject.opt("vCores");
 
 
-    assertNotNull("Key 'memory' not found in: " + jsonObject, memory);
-    assertNotNull("Key 'vCores' not found in: " + jsonObject, vCores);
+    assertNotNull(memory, "Key 'memory' not found in: " + jsonObject);
+    assertNotNull(vCores, "Key 'vCores' not found in: " + jsonObject);
   }
   }
 
 
   private void verifyResourcesContainCustomResourceTypes(JSONObject queue,
   private void verifyResourcesContainCustomResourceTypes(JSONObject queue,
       Set<String> resourceCategories) throws JSONException {
       Set<String> resourceCategories) throws JSONException {
     for (String resourceCategory : resourceCategories) {
     for (String resourceCategory : resourceCategories) {
-      assertTrue("Queue " + queue + " does not have resource category key: "
-          + resourceCategory, queue.has(resourceCategory));
+      assertTrue(queue.has(resourceCategory),
+          "Queue " + queue + " does not have resource category key: "
+          + resourceCategory);
       verifyResourceContainsAllCustomResourceTypes(
       verifyResourceContainsAllCustomResourceTypes(
           queue.getJSONObject(resourceCategory));
           queue.getJSONObject(resourceCategory));
     }
     }
@@ -90,35 +91,33 @@ public class FairSchedulerJsonVerifications {
 
 
   private void verifyResourceContainsAllCustomResourceTypes(
   private void verifyResourceContainsAllCustomResourceTypes(
       JSONObject resourceCategory) throws JSONException {
       JSONObject resourceCategory) throws JSONException {
-    assertTrue("resourceCategory does not have resourceInformations: "
-        + resourceCategory, resourceCategory.has("resourceInformations"));
+    assertTrue(resourceCategory.has("resourceInformations"),
+        "resourceCategory does not have resourceInformations: "
+        + resourceCategory);
 
 
     JSONObject resourceInformations =
     JSONObject resourceInformations =
         resourceCategory.getJSONObject("resourceInformations");
         resourceCategory.getJSONObject("resourceInformations");
-    assertTrue(
+    assertTrue(resourceInformations.has("resourceInformation"),
         "resourceInformations does not have resourceInformation object: "
         "resourceInformations does not have resourceInformation object: "
-            + resourceInformations,
-        resourceInformations.has("resourceInformation"));
+        + resourceInformations);
     JSONArray customResources =
     JSONArray customResources =
         resourceInformations.getJSONArray("resourceInformation");
         resourceInformations.getJSONArray("resourceInformation");
 
 
     // customResources will include vcores / memory as well
     // customResources will include vcores / memory as well
-    assertEquals(
-        "Different number of custom resource types found than expected",
-        customResourceTypes.size(), customResources.length() - 2);
+    assertEquals(customResourceTypes.size(), customResources.length() - 2,
+       "Different number of custom resource types found than expected");
 
 
     for (int i = 0; i < customResources.length(); i++) {
     for (int i = 0; i < customResources.length(); i++) {
       JSONObject customResource = customResources.getJSONObject(i);
       JSONObject customResource = customResources.getJSONObject(i);
-      assertTrue("Resource type does not have name field: " + customResource,
-          customResource.has("name"));
-      assertTrue("Resource type does not have name resourceType field: "
-          + customResource, customResource.has("resourceType"));
-      assertTrue(
-          "Resource type does not have name units field: " + customResource,
-          customResource.has("units"));
-      assertTrue(
-          "Resource type does not have name value field: " + customResource,
-          customResource.has("value"));
+      assertTrue(customResource.has("name"),
+          "Resource type does not have name field: " + customResource);
+      assertTrue(customResource.has("resourceType"),
+          "Resource type does not have name resourceType field: "
+          + customResource);
+      assertTrue(customResource.has("units"),
+          "Resource type does not have name units field: " + customResource);
+      assertTrue(customResource.has("value"),
+          "Resource type does not have name value field: " + customResource);
 
 
       String name = customResource.getString("name");
       String name = customResource.getString("name");
       String unit = customResource.getString("units");
       String unit = customResource.getString("units");
@@ -130,12 +129,12 @@ public class FairSchedulerJsonVerifications {
         continue;
         continue;
       }
       }
 
 
-      assertTrue("Custom resource type " + name + " not found",
-          customResourceTypes.contains(name));
+      assertTrue(customResourceTypes.contains(name),
+          "Custom resource type " + name + " not found");
       assertEquals("k", unit);
       assertEquals("k", unit);
       assertEquals(ResourceTypes.COUNTABLE,
       assertEquals(ResourceTypes.COUNTABLE,
           ResourceTypes.valueOf(resourceType));
           ResourceTypes.valueOf(resourceType));
-      assertNotNull("Custom resource value " + value + " is null!", value);
+      assertNotNull(value, "Custom resource value " + value + " is null!");
     }
     }
   }
   }
 }
 }

+ 19 - 22
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/fairscheduler/FairSchedulerXmlVerifications.java

@@ -33,9 +33,9 @@ import java.util.Set;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.helper.XmlCustomResourceTypeTestCase.toXml;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.helper.XmlCustomResourceTypeTestCase.toXml;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlLong;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlLong;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlString;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlString;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 
 /**
 /**
  * This test helper class is primarily used by
  * This test helper class is primarily used by
@@ -62,8 +62,8 @@ public class FairSchedulerXmlVerifications {
       Set<String> resourceCategories) {
       Set<String> resourceCategories) {
     for (String resourceCategory : resourceCategories) {
     for (String resourceCategory : resourceCategories) {
       boolean hasResourceCategory = hasChild(queue, resourceCategory);
       boolean hasResourceCategory = hasChild(queue, resourceCategory);
-      assertTrue("Queue " + queue + " does not have resource category key: "
-          + resourceCategory, hasResourceCategory);
+      assertTrue(hasResourceCategory, "Queue " + queue + " does not have resource category key: "
+          + resourceCategory);
       verifyResourceContainsDefaultResourceTypes(
       verifyResourceContainsDefaultResourceTypes(
               (Element) queue.getElementsByTagName(resourceCategory).item(0));
               (Element) queue.getElementsByTagName(resourceCategory).item(0));
     }
     }
@@ -74,15 +74,16 @@ public class FairSchedulerXmlVerifications {
     Object memory = opt(element, "memory");
     Object memory = opt(element, "memory");
     Object vCores = opt(element, "vCores");
     Object vCores = opt(element, "vCores");
 
 
-    assertNotNull("Key 'memory' not found in: " + element, memory);
-    assertNotNull("Key 'vCores' not found in: " + element, vCores);
+    assertNotNull(memory, "Key 'memory' not found in: " + element);
+    assertNotNull(vCores, "Key 'vCores' not found in: " + element);
   }
   }
 
 
   private void verifyResourcesContainCustomResourceTypes(Element queue,
   private void verifyResourcesContainCustomResourceTypes(Element queue,
       Set<String> resourceCategories) {
       Set<String> resourceCategories) {
     for (String resourceCategory : resourceCategories) {
     for (String resourceCategory : resourceCategories) {
-      assertTrue("Queue " + queue + " does not have key for resourceCategory: "
-          + resourceCategory, hasChild(queue, resourceCategory));
+      assertTrue(hasChild(queue, resourceCategory),
+          "Queue " + queue + " does not have key for resourceCategory: "
+          + resourceCategory);
       verifyResourceContainsCustomResourceTypes(
       verifyResourceContainsCustomResourceTypes(
               (Element) queue.getElementsByTagName(resourceCategory).item(0));
               (Element) queue.getElementsByTagName(resourceCategory).item(0));
     }
     }
@@ -90,11 +91,9 @@ public class FairSchedulerXmlVerifications {
 
 
   private void verifyResourceContainsCustomResourceTypes(
   private void verifyResourceContainsCustomResourceTypes(
       Element resourceCategory) {
       Element resourceCategory) {
-    assertEquals(
-        toXml(resourceCategory)
-            + " should have only one resourceInformations child!",
-        1, resourceCategory.getElementsByTagName("resourceInformations")
-            .getLength());
+    assertEquals(1, resourceCategory.getElementsByTagName("resourceInformations")
+        .getLength(), toXml(resourceCategory)
+        + " should have only one resourceInformations child!");
     Element resourceInformations = (Element) resourceCategory
     Element resourceInformations = (Element) resourceCategory
         .getElementsByTagName("resourceInformations").item(0);
         .getElementsByTagName("resourceInformations").item(0);
 
 
@@ -102,9 +101,8 @@ public class FairSchedulerXmlVerifications {
         resourceInformations.getElementsByTagName("resourceInformation");
         resourceInformations.getElementsByTagName("resourceInformation");
 
 
     // customResources will include vcores / memory as well
     // customResources will include vcores / memory as well
-    assertEquals(
-        "Different number of custom resource types found than expected",
-        customResourceTypes.size(), customResources.getLength() - 2);
+    assertEquals(customResourceTypes.size(), customResources.getLength() - 2,
+        "Different number of custom resource types found than expected");
 
 
     for (int i = 0; i < customResources.getLength(); i++) {
     for (int i = 0; i < customResources.getLength(); i++) {
       Element customResource = (Element) customResources.item(i);
       Element customResource = (Element) customResources.item(i);
@@ -118,14 +116,13 @@ public class FairSchedulerXmlVerifications {
         continue;
         continue;
       }
       }
 
 
-      assertTrue("Custom resource type " + name + " not found",
-          customResourceTypes.contains(name));
+      assertTrue(customResourceTypes.contains(name),
+          "Custom resource type " + name + " not found");
       assertEquals("k", unit);
       assertEquals("k", unit);
       assertEquals(ResourceTypes.COUNTABLE,
       assertEquals(ResourceTypes.COUNTABLE,
           ResourceTypes.valueOf(resourceType));
           ResourceTypes.valueOf(resourceType));
-      assertNotNull("Resource value should not be null for resource type "
-          + resourceType + ", listing xml contents: " + toXml(customResource),
-          value);
+      assertNotNull(value, "Resource value should not be null for resource type "
+          + resourceType + ", listing xml contents: " + toXml(customResource));
     }
     }
   }
   }
 
 

+ 8 - 6
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/fairscheduler/TestRMWebServicesFairScheduler.java

@@ -39,7 +39,8 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 import javax.ws.rs.client.WebTarget;
 import javax.ws.rs.client.WebTarget;
@@ -47,8 +48,8 @@ import javax.ws.rs.core.Application;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.Response;
 
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 
 
 /**
 /**
@@ -86,6 +87,7 @@ public class TestRMWebServicesFairScheduler extends JerseyTestBase {
     }
     }
   }
   }
 
 
+  @BeforeEach
   @Override
   @Override
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     super.setUp();
     super.setUp();
@@ -149,11 +151,11 @@ public class TestRMWebServicesFairScheduler extends JerseyTestBase {
   }
   }
 
 
   private void verifyClusterScheduler(JSONObject json) throws JSONException {
   private void verifyClusterScheduler(JSONObject json) throws JSONException {
-    assertEquals("incorrect number of elements", 1, json.length());
+    assertEquals(1, json.length(), "incorrect number of elements");
     JSONObject info = json.getJSONObject("scheduler");
     JSONObject info = json.getJSONObject("scheduler");
-    assertEquals("incorrect number of elements", 1, info.length());
+    assertEquals(1, info.length(), "incorrect number of elements");
     info = info.getJSONObject("schedulerInfo");
     info = info.getJSONObject("schedulerInfo");
-    assertEquals("incorrect number of elements", 2, info.length());
+    assertEquals(2, info.length(), "incorrect number of elements");
     JSONObject rootQueue = info.getJSONObject("rootQueue");
     JSONObject rootQueue = info.getJSONObject("rootQueue");
     assertEquals("root", rootQueue.getString("queueName"));
     assertEquals("root", rootQueue.getString("queueName"));
   }
   }

+ 7 - 7
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/fairscheduler/TestRMWebServicesFairSchedulerCustomResourceTypes.java

@@ -43,9 +43,9 @@ import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.w3c.dom.Element;
 import org.w3c.dom.Element;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
@@ -58,7 +58,7 @@ import java.util.Map;
 import java.util.function.Function;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mock;
 
 
 /**
 /**
@@ -106,17 +106,17 @@ public class TestRMWebServicesFairSchedulerCustomResourceTypes
   }
   }
 
 
   @Override
   @Override
-  @Before
+  @BeforeEach
   public void setUp() throws Exception {
   public void setUp() throws Exception {
     super.setUp();
     super.setUp();
   }
   }
 
 
-  @After
+  @AfterEach
   public void tearDown() {
   public void tearDown() {
     ResourceUtils.resetResourceTypes(new Configuration());
     ResourceUtils.resetResourceTypes(new Configuration());
   }
   }
 
 
-  @After
+  @AfterEach
   public void teardown() {
   public void teardown() {
     CustomResourceTypesConfigurationProvider.reset();
     CustomResourceTypesConfigurationProvider.reset();
   }
   }

+ 52 - 54
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/helper/AppInfoJsonVerifications.java

@@ -25,7 +25,9 @@ import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.codehaus.jettison.json.JSONObject;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.checkStringEqual;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.checkStringEqual;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.checkStringMatch;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.checkStringMatch;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 
 /**
 /**
  * Contains all value verifications that are needed to verify {@link AppInfo}
  * Contains all value verifications that are needed to verify {@link AppInfo}
@@ -51,75 +53,71 @@ public final class AppInfoJsonVerifications {
     checkStringMatch("applicationType", app.getApplicationType(),
     checkStringMatch("applicationType", app.getApplicationType(),
         info.getString("applicationType"));
         info.getString("applicationType"));
     checkStringMatch("queue", app.getQueue(), info.getString("queue"));
     checkStringMatch("queue", app.getQueue(), info.getString("queue"));
-    assertEquals("priority doesn't match", 0, info.getInt("priority"));
+    assertEquals(0, info.getInt("priority"), "priority doesn't match");
     checkStringMatch("state", app.getState().toString(),
     checkStringMatch("state", app.getState().toString(),
         info.getString("state"));
         info.getString("state"));
     checkStringMatch("finalStatus", app.getFinalApplicationStatus().toString(),
     checkStringMatch("finalStatus", app.getFinalApplicationStatus().toString(),
         info.getString("finalStatus"));
         info.getString("finalStatus"));
-    assertEquals("progress doesn't match", 0,
-        (float) info.getDouble("progress"), 0.0);
+    assertEquals(0, (float) info.getDouble("progress"), 0.0,
+        "progress doesn't match");
     if ("UNASSIGNED".equals(info.getString("trackingUI"))) {
     if ("UNASSIGNED".equals(info.getString("trackingUI"))) {
       checkStringMatch("trackingUI", "UNASSIGNED",
       checkStringMatch("trackingUI", "UNASSIGNED",
           info.getString("trackingUI"));
           info.getString("trackingUI"));
     }
     }
     checkStringEqual("diagnostics", app.getDiagnostics().toString(),
     checkStringEqual("diagnostics", app.getDiagnostics().toString(),
         info.getString("diagnostics"));
         info.getString("diagnostics"));
-    assertEquals("clusterId doesn't match",
-        ResourceManager.getClusterTimeStamp(), info.getLong("clusterId"));
-    assertEquals("startedTime doesn't match", app.getStartTime(),
-        info.getLong("startedTime"));
-    assertEquals("finishedTime doesn't match", app.getFinishTime(),
-        info.getLong("finishedTime"));
-    assertTrue("elapsed time not greater than 0",
-        info.getLong("elapsedTime") > 0);
+    assertEquals(ResourceManager.getClusterTimeStamp(), info.getLong("clusterId"),
+        "clusterId doesn't match");
+    assertEquals(app.getStartTime(), info.getLong("startedTime"),
+        "startedTime doesn't match");
+    assertEquals(app.getFinishTime(), info.getLong("finishedTime"),
+        "finishedTime doesn't match");
+    assertTrue(info.getLong("elapsedTime") > 0, "elapsed time not greater than 0");
     checkStringMatch("amHostHttpAddress",
     checkStringMatch("amHostHttpAddress",
         app.getCurrentAppAttempt().getMasterContainer().getNodeHttpAddress(),
         app.getCurrentAppAttempt().getMasterContainer().getNodeHttpAddress(),
         info.getString("amHostHttpAddress"));
         info.getString("amHostHttpAddress"));
-    assertTrue("amContainerLogs doesn't match",
-        info.getString("amContainerLogs").startsWith("http://"));
-    assertTrue("amContainerLogs doesn't contain user info",
-        info.getString("amContainerLogs").endsWith("/" + app.getUser()));
-    assertEquals("allocatedMB doesn't match", 1024, info.getInt("allocatedMB"));
-    assertEquals("allocatedVCores doesn't match", 1,
-        info.getInt("allocatedVCores"));
-    assertEquals("queueUsagePerc doesn't match", 50.0f,
-        (float) info.getDouble("queueUsagePercentage"), 0.01f);
-    assertEquals("clusterUsagePerc doesn't match", 50.0f,
-        (float) info.getDouble("clusterUsagePercentage"), 0.01f);
-    assertEquals("numContainers doesn't match", 1,
-        info.getInt("runningContainers"));
-    assertNotNull("preemptedResourceSecondsMap should not be null",
-        info.get("preemptedResourceSecondsMap"));
-    assertEquals("preemptedResourceMB doesn't match",
-        app.getRMAppMetrics().getResourcePreempted().getMemorySize(),
-        info.getInt("preemptedResourceMB"));
-    assertEquals("preemptedResourceVCores doesn't match",
-        app.getRMAppMetrics().getResourcePreempted().getVirtualCores(),
-        info.getInt("preemptedResourceVCores"));
-    assertEquals("numNonAMContainerPreempted doesn't match",
-        app.getRMAppMetrics().getNumNonAMContainersPreempted(),
-        info.getInt("numNonAMContainerPreempted"));
-    assertEquals("numAMContainerPreempted doesn't match",
-        app.getRMAppMetrics().getNumAMContainersPreempted(),
-        info.getInt("numAMContainerPreempted"));
-    assertEquals("Log aggregation Status doesn't match",
-        app.getLogAggregationStatusForAppReport().toString(),
-        info.getString("logAggregationStatus"));
-    assertEquals("unmanagedApplication doesn't match",
-        app.getApplicationSubmissionContext().getUnmanagedAM(),
-        info.getBoolean("unmanagedApplication"));
+    assertTrue(info.getString("amContainerLogs").startsWith("http://"),
+        "amContainerLogs doesn't match");
+    assertTrue(info.getString("amContainerLogs").endsWith("/" + app.getUser()),
+        "amContainerLogs doesn't contain user info");
+    assertEquals(1024, info.getInt("allocatedMB"), "allocatedMB doesn't match");
+    assertEquals(1, info.getInt("allocatedVCores"), "allocatedVCores doesn't match");
+    assertEquals(50.0f, (float) info.getDouble("queueUsagePercentage"), 0.01f,
+        "queueUsagePerc doesn't match");
+    assertEquals(50.0f, (float) info.getDouble("clusterUsagePercentage"), 0.01f,
+        "clusterUsagePerc doesn't match");
+    assertEquals(1, info.getInt("runningContainers"),
+        "numContainers doesn't match");
+    assertNotNull(info.get("preemptedResourceSecondsMap"),
+        "preemptedResourceSecondsMap should not be null");
+    assertEquals(app.getRMAppMetrics().getResourcePreempted().getMemorySize(),
+        info.getInt("preemptedResourceMB"), "preemptedResourceMB doesn't match");
+    assertEquals(app.getRMAppMetrics().getResourcePreempted().getVirtualCores(),
+        info.getInt("preemptedResourceVCores"),
+        "preemptedResourceVCores doesn't match");
+    assertEquals(app.getRMAppMetrics().getNumNonAMContainersPreempted(),
+        info.getInt("numNonAMContainerPreempted"),
+        "numNonAMContainerPreempted doesn't match");
+    assertEquals(app.getRMAppMetrics().getNumAMContainersPreempted(),
+        info.getInt("numAMContainerPreempted"),
+        "numAMContainerPreempted doesn't match");
+    assertEquals(app.getLogAggregationStatusForAppReport().toString(),
+        info.getString("logAggregationStatus"),
+        "Log aggregation Status doesn't match");
+    assertEquals(app.getApplicationSubmissionContext().getUnmanagedAM(),
+        info.getBoolean("unmanagedApplication"),
+        "unmanagedApplication doesn't match");
 
 
     if (app.getApplicationSubmissionContext()
     if (app.getApplicationSubmissionContext()
         .getNodeLabelExpression() != null) {
         .getNodeLabelExpression() != null) {
-      assertEquals("appNodeLabelExpression doesn't match",
-          app.getApplicationSubmissionContext().getNodeLabelExpression(),
-          info.getString("appNodeLabelExpression"));
+      assertEquals(app.getApplicationSubmissionContext().getNodeLabelExpression(),
+          info.getString("appNodeLabelExpression"),
+          "appNodeLabelExpression doesn't match");
     }
     }
-    assertEquals("amNodeLabelExpression doesn't match",
-        app.getAMResourceRequests().get(0).getNodeLabelExpression(),
-        info.getString("amNodeLabelExpression"));
-    assertEquals("amRPCAddress",
-        AppInfo.getAmRPCAddressFromRMAppAttempt(app.getCurrentAppAttempt()),
-        info.getString("amRPCAddress"));
+    assertEquals(app.getAMResourceRequests().get(0).getNodeLabelExpression(),
+        info.getString("amNodeLabelExpression"),
+        "amNodeLabelExpression doesn't match");
+    assertEquals(AppInfo.getAmRPCAddressFromRMAppAttempt(app.getCurrentAppAttempt()),
+        info.getString("amRPCAddress"), "amRPCAddress");
   }
   }
 }
 }

+ 52 - 58
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/helper/AppInfoXmlVerifications.java

@@ -29,9 +29,9 @@ import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlFloat;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlInt;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlInt;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlLong;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlLong;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlString;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlString;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 
 /**
 /**
  * Contains all value verifications that are needed to verify {@link AppInfo}
  * Contains all value verifications that are needed to verify {@link AppInfo}
@@ -60,75 +60,69 @@ public final class AppInfoXmlVerifications {
             app.getApplicationType(), getXmlString(info, "applicationType"));
             app.getApplicationType(), getXmlString(info, "applicationType"));
     checkStringMatch("queue", app.getQueue(),
     checkStringMatch("queue", app.getQueue(),
             getXmlString(info, "queue"));
             getXmlString(info, "queue"));
-    assertEquals("priority doesn't match", 0, getXmlInt(info, "priority"));
+    assertEquals(0, getXmlInt(info, "priority"), "priority doesn't match");
     checkStringMatch("state", app.getState().toString(),
     checkStringMatch("state", app.getState().toString(),
             getXmlString(info, "state"));
             getXmlString(info, "state"));
     checkStringMatch("finalStatus", app
     checkStringMatch("finalStatus", app
             .getFinalApplicationStatus().toString(),
             .getFinalApplicationStatus().toString(),
             getXmlString(info, "finalStatus"));
             getXmlString(info, "finalStatus"));
-    assertEquals("progress doesn't match", 0, getXmlFloat(info, "progress"),
-        0.0);
+    assertEquals(0, getXmlFloat(info, "progress"),
+        0.0, "progress doesn't match");
     if ("UNASSIGNED".equals(getXmlString(info, "trackingUI"))) {
     if ("UNASSIGNED".equals(getXmlString(info, "trackingUI"))) {
       checkStringMatch("trackingUI", "UNASSIGNED",
       checkStringMatch("trackingUI", "UNASSIGNED",
               getXmlString(info, "trackingUI"));
               getXmlString(info, "trackingUI"));
     }
     }
     WebServicesTestUtils.checkStringEqual("diagnostics",
     WebServicesTestUtils.checkStringEqual("diagnostics",
             app.getDiagnostics().toString(), getXmlString(info, "diagnostics"));
             app.getDiagnostics().toString(), getXmlString(info, "diagnostics"));
-    assertEquals("clusterId doesn't match",
-            ResourceManager.getClusterTimeStamp(),
-            getXmlLong(info, "clusterId"));
-    assertEquals("startedTime doesn't match", app.getStartTime(),
-            getXmlLong(info, "startedTime"));
-    assertEquals("finishedTime doesn't match", app.getFinishTime(),
-            getXmlLong(info, "finishedTime"));
-    assertTrue("elapsed time not greater than 0",
-            getXmlLong(info, "elapsedTime") > 0);
+    assertEquals(ResourceManager.getClusterTimeStamp(),
+        getXmlLong(info, "clusterId"), "clusterId doesn't match");
+    assertEquals(app.getStartTime(),
+        getXmlLong(info, "startedTime"), "startedTime doesn't match");
+    assertEquals(app.getFinishTime(),
+        getXmlLong(info, "finishedTime"), "finishedTime doesn't match");
+    assertTrue(getXmlLong(info, "elapsedTime") > 0,
+        "elapsed time not greater than 0");
     checkStringMatch("amHostHttpAddress", app
     checkStringMatch("amHostHttpAddress", app
                     .getCurrentAppAttempt().getMasterContainer()
                     .getCurrentAppAttempt().getMasterContainer()
                     .getNodeHttpAddress(),
                     .getNodeHttpAddress(),
             getXmlString(info, "amHostHttpAddress"));
             getXmlString(info, "amHostHttpAddress"));
-    assertTrue("amContainerLogs doesn't match",
-        getXmlString(info, "amContainerLogs").startsWith("http://"));
-    assertTrue("amContainerLogs doesn't contain user info",
-        getXmlString(info, "amContainerLogs").endsWith("/" + app.getUser()));
-    assertEquals("allocatedMB doesn't match", 1024,
-            getXmlInt(info, "allocatedMB"));
-    assertEquals("allocatedVCores doesn't match", 1,
-            getXmlInt(info, "allocatedVCores"));
-    assertEquals("queueUsagePerc doesn't match", 50.0f,
-            getXmlFloat(info, "queueUsagePercentage"), 0.01f);
-    assertEquals("clusterUsagePerc doesn't match", 50.0f,
-            getXmlFloat(info, "clusterUsagePercentage"), 0.01f);
-    assertEquals("numContainers doesn't match", 1,
-        getXmlInt(info, "runningContainers"));
-    assertNotNull("preemptedResourceSecondsMap should not be null",
-            info.getElementsByTagName("preemptedResourceSecondsMap"));
-    assertEquals("preemptedResourceMB doesn't match", app
-                    .getRMAppMetrics().getResourcePreempted().getMemorySize(),
-            getXmlInt(info, "preemptedResourceMB"));
-    assertEquals("preemptedResourceVCores doesn't match", app
-                    .getRMAppMetrics().getResourcePreempted().getVirtualCores(),
-            getXmlInt(info, "preemptedResourceVCores"));
-    assertEquals("numNonAMContainerPreempted doesn't match", app
-                    .getRMAppMetrics().getNumNonAMContainersPreempted(),
-            getXmlInt(info, "numNonAMContainerPreempted"));
-    assertEquals("numAMContainerPreempted doesn't match", app
-                    .getRMAppMetrics().getNumAMContainersPreempted(),
-            getXmlInt(info, "numAMContainerPreempted"));
-    assertEquals("Log aggregation Status doesn't match", app
-                    .getLogAggregationStatusForAppReport().toString(),
-            getXmlString(info, "logAggregationStatus"));
-    assertEquals("unmanagedApplication doesn't match", app
-                    .getApplicationSubmissionContext().getUnmanagedAM(),
-            getXmlBoolean(info, "unmanagedApplication"));
-    assertEquals("unmanagedApplication doesn't match",
-            app.getApplicationSubmissionContext().getNodeLabelExpression(),
-            getXmlString(info, "appNodeLabelExpression"));
-    assertEquals("unmanagedApplication doesn't match",
-            app.getAMResourceRequests().get(0).getNodeLabelExpression(),
-            getXmlString(info, "amNodeLabelExpression"));
-    assertEquals("amRPCAddress",
-            AppInfo.getAmRPCAddressFromRMAppAttempt(app.getCurrentAppAttempt()),
-            getXmlString(info, "amRPCAddress"));
+    assertTrue(getXmlString(info, "amContainerLogs").startsWith("http://"),
+        "amContainerLogs doesn't match");
+    assertTrue(getXmlString(info, "amContainerLogs").endsWith("/" + app.getUser()),
+        "amContainerLogs doesn't contain user info");
+    assertEquals(1024, getXmlInt(info, "allocatedMB"), "allocatedMB doesn't match");
+    assertEquals(1, getXmlInt(info, "allocatedVCores"),
+        "allocatedVCores doesn't match");
+    assertEquals(50.0f, getXmlFloat(info, "queueUsagePercentage"), 0.01f,
+        "queueUsagePerc doesn't match");
+    assertEquals(50.0f, getXmlFloat(info, "clusterUsagePercentage"), 0.01f,
+        "clusterUsagePerc doesn't match");
+    assertEquals(1, getXmlInt(info, "runningContainers"),
+        "numContainers doesn't match");
+    assertNotNull(info.getElementsByTagName("preemptedResourceSecondsMap"),
+        "preemptedResourceSecondsMap should not be null");
+    assertEquals(app.getRMAppMetrics().getResourcePreempted().getMemorySize(),
+        getXmlInt(info, "preemptedResourceMB"), "preemptedResourceMB doesn't match");
+    assertEquals(app.getRMAppMetrics().getResourcePreempted().getVirtualCores(),
+        getXmlInt(info, "preemptedResourceVCores"), "preemptedResourceVCores doesn't match");
+    assertEquals(app.getRMAppMetrics().getNumNonAMContainersPreempted(),
+        getXmlInt(info, "numNonAMContainerPreempted"), "numNonAMContainerPreempted doesn't match");
+    assertEquals(app.getRMAppMetrics().getNumAMContainersPreempted(),
+        getXmlInt(info, "numAMContainerPreempted"),
+        "numAMContainerPreempted doesn't match");
+    assertEquals(app.getLogAggregationStatusForAppReport().toString(),
+        getXmlString(info, "logAggregationStatus"),
+        "Log aggregation Status doesn't match");
+    assertEquals(app.getApplicationSubmissionContext().getUnmanagedAM(),
+        getXmlBoolean(info, "unmanagedApplication"),
+        "unmanagedApplication doesn't match");
+    assertEquals(app.getApplicationSubmissionContext().getNodeLabelExpression(),
+        getXmlString(info, "appNodeLabelExpression"),
+        "unmanagedApplication doesn't match");
+    assertEquals(app.getAMResourceRequests().get(0).getNodeLabelExpression(),
+        getXmlString(info, "amNodeLabelExpression"),
+        "unmanagedApplication doesn't match");
+    assertEquals(AppInfo.getAmRPCAddressFromRMAppAttempt(app.getCurrentAppAttempt()),
+        getXmlString(info, "amRPCAddress"), "amRPCAddress");
   }
   }
 }
 }

+ 2 - 2
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/helper/JsonCustomResourceTypeTestcase.java

@@ -29,7 +29,7 @@ import javax.ws.rs.core.MediaType;
 
 
 import java.util.function.Consumer;
 import java.util.function.Consumer;
 
 
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 
 /**
 /**
  * This class hides the implementation details of how to verify the structure of
  * This class hides the implementation details of how to verify the structure of
@@ -61,7 +61,7 @@ public class JsonCustomResourceTypeTestcase {
     String responseStr = response.getEntity(String.class);
     String responseStr = response.getEntity(String.class);
     String exceptMessgae = String.format("HTTP status should be 200, " +
     String exceptMessgae = String.format("HTTP status should be 200, " +
         "status info:{} response as string:{}", response.getStatusInfo(), responseStr);
         "status info:{} response as string:{}", response.getStatusInfo(), responseStr);
-    assertEquals(exceptMessgae, 200, response.getStatus());
+    assertEquals(200, response.getStatus(), exceptMessgae);
   }
   }
 
 
   public void verify(Consumer<JSONObject> verifier) {
   public void verify(Consumer<JSONObject> verifier) {

+ 46 - 59
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/helper/ResourceRequestsJsonVerifications.java

@@ -31,9 +31,9 @@ import org.apache.hadoop.thirdparty.com.google.common.collect.Maps;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
-import static junit.framework.TestCase.assertTrue;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 
 /**
 /**
  * Performs value verifications on
  * Performs value verifications on
@@ -87,10 +87,9 @@ public class ResourceRequestsJsonVerifications {
     Map.Entry<String, Long> resourceEntry =
     Map.Entry<String, Long> resourceEntry =
         resourceAndValue.entrySet().iterator().next();
         resourceAndValue.entrySet().iterator().next();
 
 
-    assertTrue(
+    assertTrue(expectedResourceTypes.contains(resourceEntry.getKey()),
         "Found resource type: " + resourceEntry.getKey()
         "Found resource type: " + resourceEntry.getKey()
-            + " is not in expected resource types: " + expectedResourceTypes,
-        expectedResourceTypes.contains(resourceEntry.getKey()));
+        + " is not in expected resource types: " + expectedResourceTypes);
 
 
     return resourceAndValue;
     return resourceAndValue;
   }
   }
@@ -98,37 +97,33 @@ public class ResourceRequestsJsonVerifications {
   private static Map<String, Long> extractCustomResorceTypeValues(
   private static Map<String, Long> extractCustomResorceTypeValues(
       JSONObject capability, List<String> expectedResourceTypes)
       JSONObject capability, List<String> expectedResourceTypes)
       throws JSONException {
       throws JSONException {
-    assertTrue(
-        "resourceCategory does not have resourceInformations: " + capability,
-        capability.has("resourceInformations"));
+    assertTrue(capability.has("resourceInformations"),
+        "resourceCategory does not have resourceInformations: " + capability);
 
 
     JSONObject resourceInformations =
     JSONObject resourceInformations =
         capability.getJSONObject("resourceInformations");
         capability.getJSONObject("resourceInformations");
-    assertTrue(
+    assertTrue(resourceInformations.has("resourceInformation"),
         "resourceInformations does not have resourceInformation object: "
         "resourceInformations does not have resourceInformation object: "
-            + resourceInformations,
-        resourceInformations.has("resourceInformation"));
+        + resourceInformations);
     JSONArray customResources =
     JSONArray customResources =
         resourceInformations.getJSONArray("resourceInformation");
         resourceInformations.getJSONArray("resourceInformation");
 
 
     // customResources will include vcores / memory as well
     // customResources will include vcores / memory as well
-    assertEquals(
-        "Different number of custom resource types found than expected",
-        expectedResourceTypes.size(), customResources.length() - 2);
+    assertEquals(expectedResourceTypes.size(), customResources.length() - 2,
+        "Different number of custom resource types found than expected");
 
 
     Map<String, Long> resourceValues = Maps.newHashMap();
     Map<String, Long> resourceValues = Maps.newHashMap();
     for (int i = 0; i < customResources.length(); i++) {
     for (int i = 0; i < customResources.length(); i++) {
       JSONObject customResource = customResources.getJSONObject(i);
       JSONObject customResource = customResources.getJSONObject(i);
-      assertTrue("Resource type does not have name field: " + customResource,
-          customResource.has("name"));
-      assertTrue("Resource type does not have name resourceType field: "
-          + customResource, customResource.has("resourceType"));
-      assertTrue(
-          "Resource type does not have name units field: " + customResource,
-          customResource.has("units"));
-      assertTrue(
-          "Resource type does not have name value field: " + customResource,
-          customResource.has("value"));
+      assertTrue(customResource.has("name"),
+          "Resource type does not have name field: " + customResource);
+      assertTrue(customResource.has("resourceType"),
+          "Resource type does not have name resourceType field: "
+          + customResource);
+      assertTrue(customResource.has("units"),
+          "Resource type does not have name units field: " + customResource);
+      assertTrue(customResource.has("value"),
+          "Resource type does not have name value field: " + customResource);
 
 
       String name = customResource.getString("name");
       String name = customResource.getString("name");
       String unit = customResource.getString("units");
       String unit = customResource.getString("units");
@@ -140,12 +135,12 @@ public class ResourceRequestsJsonVerifications {
         continue;
         continue;
       }
       }
 
 
-      assertTrue("Custom resource type " + name + " not found",
-          expectedResourceTypes.contains(name));
+      assertTrue(expectedResourceTypes.contains(name),
+          "Custom resource type " + name + " not found");
       assertEquals("k", unit);
       assertEquals("k", unit);
       assertEquals(ResourceTypes.COUNTABLE,
       assertEquals(ResourceTypes.COUNTABLE,
           ResourceTypes.valueOf(resourceType));
           ResourceTypes.valueOf(resourceType));
-      assertNotNull("Custom resource value " + value + " is null!", value);
+      assertNotNull(value, "Custom resource value " + value + " is null!");
       resourceValues.put(name, value);
       resourceValues.put(name, value);
     }
     }
 
 
@@ -153,38 +148,31 @@ public class ResourceRequestsJsonVerifications {
   }
   }
 
 
   private void verify() throws JSONException {
   private void verify() throws JSONException {
-    assertEquals("nodeLabelExpression doesn't match",
-        resourceRequest.getNodeLabelExpression(),
-            requestInfo.getString("nodeLabelExpression"));
-    assertEquals("numContainers doesn't match",
-            resourceRequest.getNumContainers(),
-            requestInfo.getInt("numContainers"));
-    assertEquals("relaxLocality doesn't match",
-            resourceRequest.getRelaxLocality(),
-            requestInfo.getBoolean("relaxLocality"));
-    assertEquals("priority does not match",
-            resourceRequest.getPriority().getPriority(),
-            requestInfo.getInt("priority"));
-    assertEquals("resourceName does not match",
-            resourceRequest.getResourceName(),
-            requestInfo.getString("resourceName"));
-    assertEquals("memory does not match",
-        resourceRequest.getCapability().getMemorySize(),
-            requestInfo.getJSONObject("capability").getLong("memory"));
-    assertEquals("vCores does not match",
-        resourceRequest.getCapability().getVirtualCores(),
-            requestInfo.getJSONObject("capability").getLong("vCores"));
+    assertEquals(resourceRequest.getNodeLabelExpression(),
+        requestInfo.getString("nodeLabelExpression"),
+        "nodeLabelExpression doesn't match");
+    assertEquals(resourceRequest.getNumContainers(),
+        requestInfo.getInt("numContainers"), "numContainers doesn't match");
+    assertEquals(resourceRequest.getRelaxLocality(),
+        requestInfo.getBoolean("relaxLocality"), "relaxLocality doesn't match");
+    assertEquals(resourceRequest.getPriority().getPriority(),
+        requestInfo.getInt("priority"), "priority does not match");
+    assertEquals(resourceRequest.getResourceName(),
+        requestInfo.getString("resourceName"), "resourceName does not match");
+    assertEquals(resourceRequest.getCapability().getMemorySize(),
+        requestInfo.getJSONObject("capability").getLong("memory"), "memory does not match");
+    assertEquals(resourceRequest.getCapability().getVirtualCores(),
+        requestInfo.getJSONObject("capability").getLong("vCores"), "vCores does not match");
 
 
     verifyAtLeastOneCustomResourceIsSerialized();
     verifyAtLeastOneCustomResourceIsSerialized();
 
 
     JSONObject executionTypeRequest =
     JSONObject executionTypeRequest =
-            requestInfo.getJSONObject("executionTypeRequest");
-    assertEquals("executionType does not match",
-        resourceRequest.getExecutionTypeRequest().getExecutionType().name(),
-            executionTypeRequest.getString("executionType"));
-    assertEquals("enforceExecutionType does not match",
-            resourceRequest.getExecutionTypeRequest().getEnforceExecutionType(),
-            executionTypeRequest.getBoolean("enforceExecutionType"));
+        requestInfo.getJSONObject("executionTypeRequest");
+    assertEquals(resourceRequest.getExecutionTypeRequest().getExecutionType().name(),
+        executionTypeRequest.getString("executionType"), "executionType does not match");
+    assertEquals(resourceRequest.getExecutionTypeRequest().getEnforceExecutionType(),
+        executionTypeRequest.getBoolean("enforceExecutionType"),
+        "enforceExecutionType does not match");
   }
   }
 
 
   /**
   /**
@@ -203,11 +191,10 @@ public class ResourceRequestsJsonVerifications {
         resourceFound = true;
         resourceFound = true;
         Long resourceValue =
         Long resourceValue =
             customResourceTypes.get(expectedCustomResourceType);
             customResourceTypes.get(expectedCustomResourceType);
-        assertNotNull("Resource value should not be null!", resourceValue);
+        assertNotNull(resourceValue, "Resource value should not be null!");
       }
       }
     }
     }
-    assertTrue("No custom resource type can be found in the response!",
-        resourceFound);
+    assertTrue(resourceFound, "No custom resource type can be found in the response!");
   }
   }
 
 
   /**
   /**

+ 34 - 45
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/helper/ResourceRequestsXmlVerifications.java

@@ -32,14 +32,14 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map;
 import java.util.Set;
 import java.util.Set;
 
 
-import static junit.framework.TestCase.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.helper.XmlCustomResourceTypeTestCase.toXml;
 import static org.apache.hadoop.yarn.server.resourcemanager.webapp.helper.XmlCustomResourceTypeTestCase.toXml;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlBoolean;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlBoolean;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlInt;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlInt;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlLong;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlLong;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlString;
 import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.getXmlString;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 
 /**
 /**
  * Performs value verifications on
  * Performs value verifications on
@@ -88,9 +88,9 @@ public class ResourceRequestsXmlVerifications {
 
 
   private static Map<String, Long> extractCustomResorceTypes(Element capability,
   private static Map<String, Long> extractCustomResorceTypes(Element capability,
       Set<String> expectedResourceTypes) {
       Set<String> expectedResourceTypes) {
-    assertEquals(
-        toXml(capability) + " should have only one resourceInformations child!",
-        1, capability.getElementsByTagName("resourceInformations").getLength());
+    assertEquals(1,
+        capability.getElementsByTagName("resourceInformations").getLength(),
+        toXml(capability) + " should have only one resourceInformations child!");
     Element resourceInformations = (Element) capability
     Element resourceInformations = (Element) capability
         .getElementsByTagName("resourceInformations").item(0);
         .getElementsByTagName("resourceInformations").item(0);
 
 
@@ -98,9 +98,8 @@ public class ResourceRequestsXmlVerifications {
         resourceInformations.getElementsByTagName("resourceInformation");
         resourceInformations.getElementsByTagName("resourceInformation");
 
 
     // customResources will include vcores / memory as well
     // customResources will include vcores / memory as well
-    assertEquals(
-        "Different number of custom resource types found than expected",
-        expectedResourceTypes.size(), customResources.getLength() - 2);
+    assertEquals(expectedResourceTypes.size(), customResources.getLength() - 2,
+        "Different number of custom resource types found than expected");
 
 
     Map<String, Long> resourceTypesAndValues = Maps.newHashMap();
     Map<String, Long> resourceTypesAndValues = Maps.newHashMap();
     for (int i = 0; i < customResources.getLength(); i++) {
     for (int i = 0; i < customResources.getLength(); i++) {
@@ -115,14 +114,13 @@ public class ResourceRequestsXmlVerifications {
         continue;
         continue;
       }
       }
 
 
-      assertTrue("Custom resource type " + name + " not found",
-          expectedResourceTypes.contains(name));
+      assertTrue(expectedResourceTypes.contains(name),
+          "Custom resource type " + name + " not found");
       assertEquals("k", unit);
       assertEquals("k", unit);
       assertEquals(ResourceTypes.COUNTABLE,
       assertEquals(ResourceTypes.COUNTABLE,
           ResourceTypes.valueOf(resourceType));
           ResourceTypes.valueOf(resourceType));
-      assertNotNull("Resource value should not be null for resource type "
-          + resourceType + ", listing xml contents: " + toXml(customResource),
-          value);
+      assertNotNull(value, "Resource value should not be null for resource type "
+          + resourceType + ", listing xml contents: " + toXml(customResource));
       resourceTypesAndValues.put(name, value);
       resourceTypesAndValues.put(name, value);
     }
     }
 
 
@@ -130,48 +128,39 @@ public class ResourceRequestsXmlVerifications {
   }
   }
 
 
   private void verify() {
   private void verify() {
-    assertEquals("nodeLabelExpression doesn't match",
-        resourceRequest.getNodeLabelExpression(),
-        getXmlString(requestInfo, "nodeLabelExpression"));
-    assertEquals("numContainers doesn't match",
-        resourceRequest.getNumContainers(),
-        getXmlInt(requestInfo, "numContainers"));
-    assertEquals("relaxLocality doesn't match",
-        resourceRequest.getRelaxLocality(),
-        getXmlBoolean(requestInfo, "relaxLocality"));
-    assertEquals("priority does not match",
-        resourceRequest.getPriority().getPriority(),
-        getXmlInt(requestInfo, "priority"));
-    assertEquals("resourceName does not match",
-        resourceRequest.getResourceName(),
-        getXmlString(requestInfo, "resourceName"));
+    assertEquals(resourceRequest.getNodeLabelExpression(),
+        getXmlString(requestInfo, "nodeLabelExpression"), "nodeLabelExpression doesn't match");
+    assertEquals(resourceRequest.getNumContainers(),
+        getXmlInt(requestInfo, "numContainers"), "numContainers doesn't match");
+    assertEquals(resourceRequest.getRelaxLocality(),
+        getXmlBoolean(requestInfo, "relaxLocality"), "relaxLocality doesn't match");
+    assertEquals(resourceRequest.getPriority().getPriority(),
+        getXmlInt(requestInfo, "priority"), "priority does not match");
+    assertEquals(resourceRequest.getResourceName(),
+        getXmlString(requestInfo, "resourceName"), "resourceName does not match");
     Element capability = (Element) requestInfo
     Element capability = (Element) requestInfo
             .getElementsByTagName("capability").item(0);
             .getElementsByTagName("capability").item(0);
-    assertEquals("memory does not match",
-        resourceRequest.getCapability().getMemorySize(),
-        getXmlLong(capability, "memory"));
-    assertEquals("vCores does not match",
-        resourceRequest.getCapability().getVirtualCores(),
-        getXmlLong(capability, "vCores"));
+    assertEquals(resourceRequest.getCapability().getMemorySize(),
+        getXmlLong(capability, "memory"), "memory does not match");
+    assertEquals(resourceRequest.getCapability().getVirtualCores(),
+        getXmlLong(capability, "vCores"), "vCores does not match");
 
 
     for (String expectedCustomResourceType : expectedCustomResourceTypes) {
     for (String expectedCustomResourceType : expectedCustomResourceTypes) {
-      assertTrue(
+      assertTrue(customResourceTypes.containsKey(expectedCustomResourceType),
           "Custom resource type " + expectedCustomResourceType
           "Custom resource type " + expectedCustomResourceType
-              + " cannot be found!",
-          customResourceTypes.containsKey(expectedCustomResourceType));
+          + " cannot be found!");
 
 
       Long resourceValue = customResourceTypes.get(expectedCustomResourceType);
       Long resourceValue = customResourceTypes.get(expectedCustomResourceType);
-      assertNotNull("Resource value should not be null!", resourceValue);
+      assertNotNull(resourceValue, "Resource value should not be null!");
     }
     }
 
 
     Element executionTypeRequest = (Element) requestInfo
     Element executionTypeRequest = (Element) requestInfo
         .getElementsByTagName("executionTypeRequest").item(0);
         .getElementsByTagName("executionTypeRequest").item(0);
-    assertEquals("executionType does not match",
-        resourceRequest.getExecutionTypeRequest().getExecutionType().name(),
-        getXmlString(executionTypeRequest, "executionType"));
-    assertEquals("enforceExecutionType does not match",
-        resourceRequest.getExecutionTypeRequest().getEnforceExecutionType(),
-        getXmlBoolean(executionTypeRequest, "enforceExecutionType"));
+    assertEquals(resourceRequest.getExecutionTypeRequest().getExecutionType().name(),
+        getXmlString(executionTypeRequest, "executionType"), "executionType does not match");
+    assertEquals(resourceRequest.getExecutionTypeRequest().getEnforceExecutionType(),
+        getXmlBoolean(executionTypeRequest, "enforceExecutionType"),
+        "enforceExecutionType does not match");
   }
   }
 
 
   /**
   /**

+ 4 - 4
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/helper/XmlCustomResourceTypeTestCase.java

@@ -37,7 +37,7 @@ import java.io.StringReader;
 import java.io.StringWriter;
 import java.io.StringWriter;
 import java.util.function.Consumer;
 import java.util.function.Consumer;
 
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 
 /**
 /**
  * This class hides the implementation details of how to verify the structure of
  * This class hides the implementation details of how to verify the structure of
@@ -65,9 +65,9 @@ public class XmlCustomResourceTypeTestCase {
 
 
   private void verifyStatus(BufferedClientResponse response) {
   private void verifyStatus(BufferedClientResponse response) {
     String responseStr = response.getEntity(String.class);
     String responseStr = response.getEntity(String.class);
-    assertEquals("HTTP status should be 200, " +
-        "status info: " + response.getStatusInfo() + " response as string: " + responseStr,
-        200, response.getStatus());
+    assertEquals(200, response.getStatus(), "HTTP status should be 200, " +
+        "status info: " + response.getStatusInfo() +
+        " response as string: " + responseStr);
   }
   }
 
 
   public void verify(Consumer<Document> verifier) {
   public void verify(Consumer<Document> verifier) {

Some files were not shown because too many files changed in this diff