Issue #23507 concurrent-impl now uses junit5 instead of junit4 + enabled some tests
diff --git a/appserver/concurrent/concurrent-impl/pom.xml b/appserver/concurrent/concurrent-impl/pom.xml
index 1f5df41..ecab733 100644
--- a/appserver/concurrent/concurrent-impl/pom.xml
+++ b/appserver/concurrent/concurrent-impl/pom.xml
@@ -89,6 +89,17 @@
             <groupId>org.glassfish</groupId>
             <artifactId>jakarta.enterprise.concurrent</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>org.glassfish.main.tests</groupId>
+            <artifactId>utils</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-engine</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.easymock</groupId>
             <artifactId>easymock</artifactId>
diff --git a/appserver/concurrent/concurrent-impl/src/test/java/org/glassfish/concurrent/runtime/ConcurrentRuntimeTest.java b/appserver/concurrent/concurrent-impl/src/test/java/org/glassfish/concurrent/runtime/ConcurrentRuntimeTest.java
index 02a2fc7..9a4767a 100644
--- a/appserver/concurrent/concurrent-impl/src/test/java/org/glassfish/concurrent/runtime/ConcurrentRuntimeTest.java
+++ b/appserver/concurrent/concurrent-impl/src/test/java/org/glassfish/concurrent/runtime/ConcurrentRuntimeTest.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021 Contributors to the Eclipse Foundation
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,6 +17,8 @@
 
 package org.glassfish.concurrent.runtime;
 
+import java.util.concurrent.TimeUnit;
+
 import org.glassfish.concurrent.runtime.deployer.ContextServiceConfig;
 import org.glassfish.concurrent.runtime.deployer.ManagedExecutorServiceConfig;
 import org.glassfish.concurrent.runtime.deployer.ManagedThreadFactoryConfig;
@@ -24,16 +27,16 @@
 import org.glassfish.enterprise.concurrent.ManagedThreadFactoryImpl;
 import org.glassfish.enterprise.concurrent.internal.ManagedThreadPoolExecutor;
 import org.glassfish.resourcebase.resources.api.ResourceInfo;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import java.util.concurrent.TimeUnit;
+import org.glassfish.tests.utils.Utils;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import static org.easymock.EasyMock.createMock;
 import static org.easymock.EasyMock.expect;
 import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class ConcurrentRuntimeTest {
 
@@ -41,7 +44,7 @@
     private ManagedThreadFactoryConfig managedThreadFactoryConfig;
     private ManagedExecutorServiceConfig managedExecutorServiceConfig;
 
-    @Before
+    @BeforeEach
     public void before() {
         contextServiceConfig = createMock(ContextServiceConfig.class);
         managedThreadFactoryConfig = createMock(ManagedThreadFactoryConfig.class);
@@ -60,10 +63,10 @@
         ResourceInfo resource = new ResourceInfo("test");
         ContextServiceImpl contextService = concurrentRuntime.getContextService(resource, contextServiceConfig);
         ContextSetupProviderImpl contextSetupProvider = (ContextSetupProviderImpl) contextService.getContextSetupProvider();
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "classloading"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "naming"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "security"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "workArea"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "classloading"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "naming"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "security"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "workArea"));
     }
 
     @Test
@@ -78,10 +81,10 @@
         ResourceInfo resource = new ResourceInfo("test");
         ContextServiceImpl contextService = concurrentRuntime.getContextService(resource, contextServiceConfig);
         ContextSetupProviderImpl contextSetupProvider = (ContextSetupProviderImpl) contextService.getContextSetupProvider();
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "classloading"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "naming"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "security"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "workArea"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "classloading"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "naming"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "security"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "workArea"));
     }
 
     @Test
@@ -96,10 +99,10 @@
         ResourceInfo resource = new ResourceInfo("test");
         ContextServiceImpl contextService = concurrentRuntime.getContextService(resource, contextServiceConfig);
         ContextSetupProviderImpl contextSetupProvider = (ContextSetupProviderImpl) contextService.getContextSetupProvider();
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "classloading"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "naming"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "security"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "workArea"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "classloading"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "naming"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "security"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "workArea"));
     }
 
     @Test
@@ -114,10 +117,10 @@
         ResourceInfo resource = new ResourceInfo("test");
         ContextServiceImpl contextService = concurrentRuntime.getContextService(resource, contextServiceConfig);
         ContextSetupProviderImpl contextSetupProvider = (ContextSetupProviderImpl) contextService.getContextSetupProvider();
-        assertFalse((Boolean) Util.getdFieldValue(contextSetupProvider, "classloading"));
-        assertFalse((Boolean) Util.getdFieldValue(contextSetupProvider, "naming"));
-        assertFalse((Boolean) Util.getdFieldValue(contextSetupProvider, "security"));
-        assertFalse((Boolean) Util.getdFieldValue(contextSetupProvider, "workArea"));
+        assertFalse((Boolean) Utils.getField(contextSetupProvider, "classloading"));
+        assertFalse((Boolean) Utils.getField(contextSetupProvider, "naming"));
+        assertFalse((Boolean) Utils.getField(contextSetupProvider, "security"));
+        assertFalse((Boolean) Utils.getField(contextSetupProvider, "workArea"));
     }
 
     @Test
@@ -132,10 +135,10 @@
         ResourceInfo resource = new ResourceInfo("test");
         ContextServiceImpl contextService = concurrentRuntime.getContextService(resource, contextServiceConfig);
         ContextSetupProviderImpl contextSetupProvider = (ContextSetupProviderImpl) contextService.getContextSetupProvider();
-        assertFalse((Boolean) Util.getdFieldValue(contextSetupProvider, "classloading"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "naming"));
-        assertFalse((Boolean) Util.getdFieldValue(contextSetupProvider, "security"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "workArea"));
+        assertFalse((Boolean) Utils.getField(contextSetupProvider, "classloading"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "naming"));
+        assertFalse((Boolean) Utils.getField(contextSetupProvider, "security"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "workArea"));
     }
 
     @Test
@@ -150,10 +153,10 @@
         ResourceInfo resource = new ResourceInfo("test");
         ContextServiceImpl contextService = concurrentRuntime.getContextService(resource, contextServiceConfig);
         ContextSetupProviderImpl contextSetupProvider = (ContextSetupProviderImpl) contextService.getContextSetupProvider();
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "classloading"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "naming"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "security"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "workArea"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "classloading"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "naming"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "security"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "workArea"));
     }
 
     @Test
@@ -168,13 +171,12 @@
         ResourceInfo resource = new ResourceInfo("test");
         ContextServiceImpl contextService = concurrentRuntime.getContextService(resource, contextServiceConfig);
         ContextSetupProviderImpl contextSetupProvider = (ContextSetupProviderImpl) contextService.getContextSetupProvider();
-        assertFalse((Boolean) Util.getdFieldValue(contextSetupProvider, "classloading"));
-        assertFalse((Boolean) Util.getdFieldValue(contextSetupProvider, "naming"));
-        assertFalse((Boolean) Util.getdFieldValue(contextSetupProvider, "security"));
-        assertFalse((Boolean) Util.getdFieldValue(contextSetupProvider, "workArea"));
+        assertFalse((Boolean) Utils.getField(contextSetupProvider, "classloading"));
+        assertFalse((Boolean) Utils.getField(contextSetupProvider, "naming"));
+        assertFalse((Boolean) Utils.getField(contextSetupProvider, "security"));
+        assertFalse((Boolean) Utils.getField(contextSetupProvider, "workArea"));
     }
 
-    @Ignore   // re-enable when API added to ManagedThreadFactoryImpl to retrieve ContextService and threadPriority
     @Test
     public void testCreateManagedThreadFactory() throws Exception {
         final int THREAD_PRIORITY = 8;
@@ -189,18 +191,17 @@
 
         ResourceInfo resource = new ResourceInfo("test");
         ManagedThreadFactoryImpl managedThreadFactory = concurrentRuntime.getManagedThreadFactory(resource, managedThreadFactoryConfig);
-        ContextServiceImpl contextService = (ContextServiceImpl) Util.getdFieldValue(managedThreadFactory, "contextService");
+        ContextServiceImpl contextService = (ContextServiceImpl) Utils.getField(managedThreadFactory, "contextService");
         ContextSetupProviderImpl contextSetupProvider = (ContextSetupProviderImpl) contextService.getContextSetupProvider();
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "classloading"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "naming"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "security"));
-        assertFalse((Boolean) Util.getdFieldValue(contextSetupProvider, "workArea"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "classloading"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "naming"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "security"));
+        assertFalse((Boolean) Utils.getField(contextSetupProvider, "workArea"));
 
-        int threadPriority = (Integer)Util.getdFieldValue(managedThreadFactory, "priority");
+        int threadPriority = (Integer)Utils.getField(managedThreadFactory, "priority");
         assertEquals(THREAD_PRIORITY, threadPriority);
     }
 
-    @Ignore   // re-enable when API added to ManagedThreadFactoryImpl to retrieve ContextService and threadPriority
     @Test
     public void testCreateManagedExecutorService() throws Exception {
         final int THREAD_PRIORITY = 3;
@@ -235,21 +236,21 @@
 
         assertEquals(HUNG_AFTER_SECONDS * 1000, managedThreadFactory.getHungTaskThreshold());
 
-        ManagedThreadPoolExecutor executor = (ManagedThreadPoolExecutor) Util.getdFieldValue(mes, "threadPoolExecutor");
+        ManagedThreadPoolExecutor executor = (ManagedThreadPoolExecutor) Utils.getField(mes, "threadPoolExecutor");
         assertEquals(CORE_POOL_SIZE, executor.getCorePoolSize());
         assertEquals(KEEP_ALIVE_SECONDS, executor.getKeepAliveTime(TimeUnit.SECONDS));
         assertEquals(MAXIMUM_POOL_SIZE, executor.getMaximumPoolSize());
 
-        long threadLifeTime = (Long)Util.getdFieldValue(executor, "threadLifeTime");
+        long threadLifeTime = (Long)Utils.getField(executor, "threadLifeTime");
         assertEquals(THREAD_LIFE_TIME_SECONDS, threadLifeTime);
 
         ContextSetupProviderImpl contextSetupProvider = (ContextSetupProviderImpl) mes.getContextSetupProvider();
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "classloading"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "naming"));
-        assertTrue((Boolean) Util.getdFieldValue(contextSetupProvider, "security"));
-        assertFalse((Boolean) Util.getdFieldValue(contextSetupProvider, "workArea"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "classloading"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "naming"));
+        assertTrue((Boolean) Utils.getField(contextSetupProvider, "security"));
+        assertFalse((Boolean) Utils.getField(contextSetupProvider, "workArea"));
 
-        int threadPriority = (Integer)Util.getdFieldValue(managedThreadFactory, "priority");
+        int threadPriority = (Integer)Utils.getField(managedThreadFactory, "priority");
         assertEquals(THREAD_PRIORITY, threadPriority);
     }
 }
diff --git a/appserver/concurrent/concurrent-impl/src/test/java/org/glassfish/concurrent/runtime/Util.java b/appserver/concurrent/concurrent-impl/src/test/java/org/glassfish/concurrent/runtime/Util.java
deleted file mode 100644
index 9b3876f..0000000
--- a/appserver/concurrent/concurrent-impl/src/test/java/org/glassfish/concurrent/runtime/Util.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.concurrent.runtime;
-
-
-
-import java.lang.reflect.Field;
-
-public class Util {
-
-    public static Object getdFieldValue(Object obj, String fieldName) {
-        try {
-            Field field = obj.getClass().getDeclaredField(fieldName);
-            field.setAccessible(true);
-            return field.get(obj);
-        } catch (NoSuchFieldException e) {
-            e.printStackTrace();
-        } catch (IllegalAccessException e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-}