Issue #23507 connectors-admin now uses junit5 instead of junit4
diff --git a/appserver/connectors/admin/pom.xml b/appserver/connectors/admin/pom.xml
index fae0ccc..81d7914 100644
--- a/appserver/connectors/admin/pom.xml
+++ b/appserver/connectors/admin/pom.xml
@@ -78,15 +78,24 @@
             <artifactId>glassfish-api</artifactId>
             <version>${project.version}</version>
         </dependency>
+
         <dependency>
-            <groupId>org.glassfish.main.core</groupId>
-            <artifactId>kernel</artifactId>
+            <groupId>org.glassfish.main.tests</groupId>
+            <artifactId>utils</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish.main.tests</groupId>
-            <artifactId>utils</artifactId>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-engine</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.hamcrest</groupId>
+            <artifactId>hamcrest</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.main.core</groupId>
+            <artifactId>kernel</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
@@ -100,10 +109,6 @@
             <artifactId>jakarta.el</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.hamcrest</groupId>
-            <artifactId>hamcrest</artifactId>
-        </dependency>
     </dependencies>
 
     <build>
diff --git a/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/CreateCustomResourceTest.java b/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/CreateCustomResourceTest.java
index 943eb14..28bd336 100644
--- a/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/CreateCustomResourceTest.java
+++ b/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/CreateCustomResourceTest.java
@@ -16,72 +16,78 @@
 
 package org.glassfish.connectors.admin.cli;
 
-import com.sun.enterprise.config.serverbeans.*;
+import com.sun.enterprise.config.serverbeans.Domain;
+import com.sun.enterprise.config.serverbeans.Resource;
+import com.sun.enterprise.config.serverbeans.ResourceRef;
+import com.sun.enterprise.config.serverbeans.Resources;
+import com.sun.enterprise.config.serverbeans.Server;
+import com.sun.enterprise.config.serverbeans.Servers;
 import com.sun.enterprise.util.SystemPropertyConstants;
 import com.sun.enterprise.v3.common.PropsFileActionReporter;
 import com.sun.logging.LogDomains;
+
+import java.util.logging.Logger;
+
+import javax.security.auth.Subject;
+
 import org.glassfish.api.ActionReport;
 import org.glassfish.api.admin.AdminCommandContext;
 import org.glassfish.api.admin.AdminCommandContextImpl;
 import org.glassfish.api.admin.CommandRunner;
 import org.glassfish.api.admin.ParameterMap;
+import org.glassfish.connectors.admin.cli.test.ConnectorsAdminJunit5Extension;
 import org.glassfish.hk2.api.ServiceLocator;
 import org.glassfish.resources.config.CustomResource;
-import com.sun.enterprise.config.serverbeans.Resource;
-import com.sun.enterprise.config.serverbeans.ResourceRef;
-import org.glassfish.tests.utils.ConfigApiTest;
 import org.glassfish.tests.utils.Utils;
-import org.junit.After;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.jvnet.hk2.config.DomDocument;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.jvnet.hk2.config.TransactionFailure;
 
+import jakarta.inject.Inject;
 
-public class CreateCustomResourceTest extends ConfigApiTest {
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-    ServiceLocator habitat = Utils.instance.getHabitat(this);
+@ExtendWith(ConnectorsAdminJunit5Extension.class)
+public class CreateCustomResourceTest {
+
+    @Inject
+    private ServiceLocator habitat;
+    @Inject
+    private Logger logger;
     private ParameterMap parameters;
-    private Resources resources = null;
-    private org.glassfish.resources.admin.cli.CreateCustomResource command = null;
-    private AdminCommandContext context = null;
-    private CommandRunner cr = null;
+    private Resources resources;
+    private org.glassfish.resources.admin.cli.CreateCustomResource command;
+    private AdminCommandContext context;
+    private CommandRunner cr;
+    private final Subject adminSubject = Utils.createInternalAsadminSubject();
 
-    @Override
-    public DomDocument getDocument(ServiceLocator habitat) {
-        return new TestDocument(habitat);
-    }
 
-    public String getFileName() {
-        return "DomainTest";
-    }
-
-    @Before
+    @BeforeEach
     public void setUp() {
         parameters = new ParameterMap();
         resources = habitat.<Domain>getService(Domain.class).getResources();
-        assertTrue(resources != null);
+        assertNotNull(resources);
         command = habitat.getService(org.glassfish.resources.admin.cli.CreateCustomResource.class);
-        assertTrue(command != null);
+        assertNotNull(command);
         context = new AdminCommandContextImpl(
                 LogDomains.getLogger(CreateCustomResourceTest.class, LogDomains.ADMIN_LOGGER),
                 new PropsFileActionReporter());
         cr = habitat.getService(CommandRunner.class);
     }
 
-    @After
+    @AfterEach
     public void tearDown() throws TransactionFailure {
         org.glassfish.resources.admin.cli.DeleteCustomResource deleteCommand = habitat.getService(org.glassfish.resources.admin.cli.DeleteCustomResource.class);
         parameters = new ParameterMap();
         parameters.set("jndi_name", "sample_custom_resource");
-        cr.getCommandInvocation("delete-custom-resource", context.getActionReport(), adminSubject()).parameters(parameters).execute(deleteCommand);
+        cr.getCommandInvocation("delete-custom-resource", context.getActionReport(), adminSubject).parameters(parameters).execute(deleteCommand);
         parameters = new ParameterMap();
         parameters.set("jndi_name", "dupRes");
-        cr.getCommandInvocation("delete-custom-resource", context.getActionReport(), adminSubject()).parameters(parameters).execute(deleteCommand);
+        cr.getCommandInvocation("delete-custom-resource", context.getActionReport(), adminSubject).parameters(parameters).execute(deleteCommand);
     }
 
     /**
@@ -96,7 +102,7 @@
         parameters.set("jndi_name", "sample_custom_resource");
 
         //Call CommandRunnerImpl.doCommand(..) to execute the command
-        cr.getCommandInvocation("create-custom-resource", context.getActionReport(), adminSubject()).parameters(parameters).execute(command);
+        cr.getCommandInvocation("create-custom-resource", context.getActionReport(), adminSubject).parameters(parameters).execute(command);
 
         // Check the exit code is SUCCESS
         assertEquals(ActionReport.ExitCode.SUCCESS, context.getActionReport().getActionExitCode());
@@ -151,7 +157,7 @@
         parameters.set("jndi_name", "dupRes");
 
         //Call CommandRunnerImpl.doCommand(..) to execute the command
-        cr.getCommandInvocation("create-custom-resource", context.getActionReport(), adminSubject()).parameters(parameters).execute(command);
+        cr.getCommandInvocation("create-custom-resource", context.getActionReport(), adminSubject).parameters(parameters).execute(command);
 
         // Check the exit code is SUCCESS
         assertEquals(ActionReport.ExitCode.SUCCESS, context.getActionReport().getActionExitCode());
@@ -172,7 +178,7 @@
 
         //Try to create a duplicate resource dupRes. Get a new instance of the command.
         org.glassfish.resources.admin.cli.CreateCustomResource command2 = habitat.getService(org.glassfish.resources.admin.cli.CreateCustomResource.class);
-        cr.getCommandInvocation("create-custom-resource", context.getActionReport(), adminSubject()).parameters(parameters).execute(command2);
+        cr.getCommandInvocation("create-custom-resource", context.getActionReport(), adminSubject).parameters(parameters).execute(command2);
 
         // Check the exit code is FAILURE
         assertEquals(ActionReport.ExitCode.FAILURE, context.getActionReport().getActionExitCode());
@@ -206,7 +212,7 @@
         parameters.set("jndi_name", "sample_custom_resource");
 
         //Call CommandRunnerImpl.doCommand(..) to execute the command
-        cr.getCommandInvocation("create-custom-resource", context.getActionReport(), adminSubject()).parameters(parameters).execute(command);
+        cr.getCommandInvocation("create-custom-resource", context.getActionReport(), adminSubject).parameters(parameters).execute(command);
 
         // Check the exit code is SUCCESS
         assertEquals(ActionReport.ExitCode.SUCCESS, context.getActionReport().getActionExitCode());
@@ -244,7 +250,7 @@
         parameters.set("jndi_name", "sample_custom_resource");
 
         //Call CommandRunnerImpl.doCommand(..) to execute the command
-        cr.getCommandInvocation("create-custom-resource", context.getActionReport(), adminSubject()).parameters(parameters).execute(command);
+        cr.getCommandInvocation("create-custom-resource", context.getActionReport(), adminSubject).parameters(parameters).execute(command);
 
         // Check the exit code is SUCCESS
         assertEquals(ActionReport.ExitCode.FAILURE, context.getActionReport().getActionExitCode());
diff --git a/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/DeleteCustomResourceTest.java b/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/DeleteCustomResourceTest.java
index 6e4a24c..b677b8b 100644
--- a/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/DeleteCustomResourceTest.java
+++ b/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/DeleteCustomResourceTest.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2009, 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,52 +17,57 @@
 
 package org.glassfish.connectors.admin.cli;
 
-import com.sun.enterprise.config.serverbeans.*;
+import com.sun.enterprise.config.serverbeans.Domain;
+import com.sun.enterprise.config.serverbeans.Resource;
+import com.sun.enterprise.config.serverbeans.ResourceRef;
+import com.sun.enterprise.config.serverbeans.Resources;
+import com.sun.enterprise.config.serverbeans.Server;
+import com.sun.enterprise.config.serverbeans.Servers;
 import com.sun.enterprise.util.SystemPropertyConstants;
 import com.sun.enterprise.v3.common.PropsFileActionReporter;
 import com.sun.logging.LogDomains;
+
+import java.util.logging.Logger;
+
+import javax.security.auth.Subject;
+
 import org.glassfish.api.ActionReport;
+import org.glassfish.api.admin.AdminCommandContext;
 import org.glassfish.api.admin.AdminCommandContextImpl;
 import org.glassfish.api.admin.CommandRunner;
 import org.glassfish.api.admin.ParameterMap;
-import org.glassfish.api.admin.AdminCommandContext;
+import org.glassfish.connectors.admin.cli.test.ConnectorsAdminJunit5Extension;
 import org.glassfish.hk2.api.ServiceLocator;
 import org.glassfish.resources.config.CustomResource;
-import com.sun.enterprise.config.serverbeans.Resource;
-import com.sun.enterprise.config.serverbeans.ResourceRef;
-import org.glassfish.tests.utils.ConfigApiTest;
-import org.junit.After;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import org.junit.Before;
-import org.junit.Test;
+import org.glassfish.tests.utils.Utils;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.jvnet.hk2.config.ConfigSupport;
-import org.jvnet.hk2.config.DomDocument;
 import org.jvnet.hk2.config.SingleConfigCode;
 import org.jvnet.hk2.config.TransactionFailure;
 
-import java.beans.PropertyVetoException;
+import jakarta.inject.Inject;
 
-public class DeleteCustomResourceTest extends ConfigApiTest {
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+@ExtendWith(ConnectorsAdminJunit5Extension.class)
+public class DeleteCustomResourceTest {
+    @Inject
     private ServiceLocator habitat;
+    @Inject
+    private Logger logger;
     private Resources resources;
     private ParameterMap parameters;
     private AdminCommandContext context;
     private CommandRunner cr;
+    private final Subject adminSubject = Utils.createInternalAsadminSubject();
 
-    @Override
-    public DomDocument getDocument(ServiceLocator habitat) {
-        return new TestDocument(habitat);
-    }
-
-    public String getFileName() {
-        return "DomainTest";
-    }
-
-
-    @Before
+    @BeforeEach
     public void setUp() {
-        habitat = getHabitat();
         resources = habitat.<Domain>getService(Domain.class).getResources();
         parameters = new ParameterMap();
         cr = habitat.getService(CommandRunner.class);
@@ -70,26 +76,25 @@
                 new PropsFileActionReporter());
     }
 
-    @After
+    @AfterEach
     public void tearDown() throws TransactionFailure {
-        ConfigSupport.apply(new SingleConfigCode<Resources>() {
-            public Object run(Resources param) throws PropertyVetoException, TransactionFailure {
-                Resource target = null;
-                for (Resource resource : param.getResources()) {
-                    if (resource instanceof CustomResource) {
-                        CustomResource r = (CustomResource) resource;
-                        if (r.getJndiName().equals("sample_custom_resource")) {
-                            target = resource;
-                            break;
-                        }
+        SingleConfigCode<Resources> configCode = resourcesBean -> {
+            Resource target = null;
+            for (Resource resource : resourcesBean.getResources()) {
+                if (resource instanceof CustomResource) {
+                    CustomResource r = (CustomResource) resource;
+                    if (r.getJndiName().equals("sample_custom_resource")) {
+                        target = resource;
+                        break;
                     }
                 }
-                if (target != null) {
-                    param.getResources().remove(target);
-                }
-                return null;
             }
-        }, resources);
+            if (target != null) {
+                resourcesBean.getResources().remove(target);
+            }
+            return null;
+        };
+        ConfigSupport.apply(configCode, resources);
         parameters = new ParameterMap();
     }
 
@@ -100,18 +105,18 @@
     @Test
     public void testExecuteSuccessDefaultTarget() {
         org.glassfish.resources.admin.cli.CreateCustomResource createCommand = habitat.getService(org.glassfish.resources.admin.cli.CreateCustomResource.class);
-        assertTrue(createCommand != null);
+        assertNotNull(createCommand);
         parameters.set("restype", "topic");
         parameters.set("factoryclass", "javax.naming.spi.ObjectFactory");
         parameters.set("jndi_name", "sample_custom_resource");
-        cr.getCommandInvocation("create-custom-resource", context.getActionReport(), adminSubject()).parameters(parameters).execute(createCommand);
+        cr.getCommandInvocation("create-custom-resource", context.getActionReport(), adminSubject).parameters(parameters).execute(createCommand);
         assertEquals(ActionReport.ExitCode.SUCCESS, context.getActionReport().getActionExitCode());
 
         parameters = new ParameterMap();
         org.glassfish.resources.admin.cli.DeleteCustomResource deleteCommand = habitat.getService(org.glassfish.resources.admin.cli.DeleteCustomResource.class);
         assertTrue(deleteCommand != null);
         parameters.set("jndi_name", "sample_custom_resource");
-        cr.getCommandInvocation("delete-custom-resource", context.getActionReport(), adminSubject()).parameters(parameters).execute(deleteCommand);
+        cr.getCommandInvocation("delete-custom-resource", context.getActionReport(), adminSubject).parameters(parameters).execute(deleteCommand);
         assertEquals(ActionReport.ExitCode.SUCCESS, context.getActionReport().getActionExitCode());
         boolean isDeleted = true;
         for (Resource resource : resources.getResources()) {
@@ -149,9 +154,9 @@
     @Test
     public void testExecuteFailDoesNotExist() {
         org.glassfish.resources.admin.cli.DeleteCustomResource deleteCommand = habitat.getService(org.glassfish.resources.admin.cli.DeleteCustomResource.class);
-        assertTrue(deleteCommand != null);
+        assertNotNull(deleteCommand);
         parameters.set("jndi_name", "doesnotexist");
-        cr.getCommandInvocation("delete-custom-resource", context.getActionReport(), adminSubject()).parameters(parameters).execute(deleteCommand);
+        cr.getCommandInvocation("delete-custom-resource", context.getActionReport(), adminSubject).parameters(parameters).execute(deleteCommand);
         assertEquals(ActionReport.ExitCode.FAILURE, context.getActionReport().getActionExitCode());
         logger.fine("msg: " + context.getActionReport().getMessage());
     }
diff --git a/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/ListCustomResourcesTest.java b/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/ListCustomResourcesTest.java
index ab0dcce..1a6b737 100644
--- a/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/ListCustomResourcesTest.java
+++ b/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/ListCustomResourcesTest.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2009, 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
@@ -21,40 +22,44 @@
 import com.sun.enterprise.config.serverbeans.Resources;
 import com.sun.enterprise.v3.common.PropsFileActionReporter;
 import com.sun.logging.LogDomains;
+
+import java.util.List;
+
+import javax.security.auth.Subject;
+
 import org.glassfish.api.ActionReport;
 import org.glassfish.api.ActionReport.MessagePart;
 import org.glassfish.api.admin.AdminCommandContext;
 import org.glassfish.api.admin.AdminCommandContextImpl;
 import org.glassfish.api.admin.CommandRunner;
 import org.glassfish.api.admin.ParameterMap;
+import org.glassfish.connectors.admin.cli.test.ConnectorsAdminJunit5Extension;
 import org.glassfish.hk2.api.ServiceLocator;
-import org.glassfish.tests.utils.ConfigApiTest;
-import org.junit.After;
-import static org.junit.Assert.*;
-import org.junit.Before;
-import org.junit.Test;
-import org.jvnet.hk2.config.DomDocument;
+import org.glassfish.resources.admin.cli.ListCustomResources;
+import org.glassfish.tests.utils.Utils;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 
-import java.util.List;
+import jakarta.inject.Inject;
 
-public class ListCustomResourcesTest extends ConfigApiTest {
+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;
 
-    private ServiceLocator habitat = getHabitat();
+@ExtendWith(ConnectorsAdminJunit5Extension.class)
+public class ListCustomResourcesTest {
+
+    @Inject
+    private ServiceLocator habitat;
     private AdminCommandContext context ;
     private CommandRunner cr;
     private int origNum;
     private ParameterMap parameters;
+    private final Subject adminSubject = Utils.createInternalAsadminSubject();
 
-    @Override
-    public DomDocument getDocument(ServiceLocator habitat) {
-        return new TestDocument(habitat);
-    }
-
-    public String getFileName() {
-        return "DomainTest";
-    }
-
-    @Before
+    @BeforeEach
     public void setUp() {
         parameters = new ParameterMap();
         cr = habitat.getService(CommandRunner.class);
@@ -62,7 +67,7 @@
                 LogDomains.getLogger(ListCustomResourcesTest.class, LogDomains.ADMIN_LOGGER),
                 new PropsFileActionReporter());
         Resources resources = habitat.<Domain>getService(Domain.class).getResources();
-        assertTrue(resources != null);
+        assertNotNull(resources);
         for (Resource resource : resources.getResources()) {
             if (resource instanceof org.glassfish.resources.config.CustomResource) {
                 origNum = origNum + 1;
@@ -70,18 +75,14 @@
         }
     }
 
-    @After
-    public void tearDown() {
-    }
-
     /**
      * Test of execute method, of class ListCustomResources.
      * list-custom-resources
      */
     @Test
     public void testExecuteSuccessListOriginal() {
-        org.glassfish.resources.admin.cli.ListCustomResources listCommand = habitat.getService(org.glassfish.resources.admin.cli.ListCustomResources.class);
-        cr.getCommandInvocation("list-custom-resources", context.getActionReport(), adminSubject()).parameters(parameters).execute(listCommand);
+        ListCustomResources listCommand = habitat.getService(ListCustomResources.class);
+        cr.getCommandInvocation("list-custom-resources", context.getActionReport(), adminSubject).parameters(parameters).execute(listCommand);
         List<MessagePart> list = context.getActionReport().getTopMessagePart().getChildren();
         if (origNum == 0) {
             //Nothing to list.
@@ -104,11 +105,11 @@
 
         ParameterMap parameters = new ParameterMap();
         org.glassfish.resources.admin.cli.ListCustomResources listCommand = habitat.getService(org.glassfish.resources.admin.cli.ListCustomResources.class);
-        cr.getCommandInvocation("list-custom-resources", context.getActionReport(), adminSubject()).parameters(parameters).execute(listCommand);
+        cr.getCommandInvocation("list-custom-resources", context.getActionReport(), adminSubject).parameters(parameters).execute(listCommand);
 
         List<MessagePart> list = context.getActionReport().getTopMessagePart().getChildren();
         assertEquals(origNum + 1, list.size());
-        List<String> listStr = new java.util.ArrayList<String>();
+        List<String> listStr = new java.util.ArrayList<>();
         for (MessagePart mp : list) {
             listStr.add(mp.getMessage());
         }
@@ -124,7 +125,7 @@
         assertTrue(deleteCommand != null);
         ParameterMap  parameters = new ParameterMap();
         parameters.set("jndi_name", "custom_resource1");
-        cr.getCommandInvocation("delete-custom-resource", context.getActionReport(), adminSubject()).parameters(parameters).execute(deleteCommand);
+        cr.getCommandInvocation("delete-custom-resource", context.getActionReport(), adminSubject).parameters(parameters).execute(deleteCommand);
         assertEquals(ActionReport.ExitCode.SUCCESS, context.getActionReport().getActionExitCode());
     }
 
@@ -135,7 +136,7 @@
         parameters.set("restype", "topic");
         parameters.set("factoryclass", "javax.naming.spi.ObjectFactory");
         parameters.set("jndi_name", "custom_resource1");
-        cr.getCommandInvocation("create-custom-resource", context.getActionReport(), adminSubject()).parameters(parameters).execute(createCommand);
+        cr.getCommandInvocation("create-custom-resource", context.getActionReport(), adminSubject).parameters(parameters).execute(createCommand);
         assertEquals(ActionReport.ExitCode.SUCCESS, context.getActionReport().getActionExitCode());
     }
 
@@ -151,7 +152,7 @@
         createCustomResource();
 
         org.glassfish.resources.admin.cli.ListCustomResources listCommand = habitat.getService(org.glassfish.resources.admin.cli.ListCustomResources.class);
-        cr.getCommandInvocation("list-custom-resources", context.getActionReport(), adminSubject()).parameters(parameters).execute(listCommand);
+        cr.getCommandInvocation("list-custom-resources", context.getActionReport(), adminSubject).parameters(parameters).execute(listCommand);
 
         List<MessagePart> list = context.getActionReport().getTopMessagePart().getChildren();
         assertEquals(origNum + 1, list.size());
@@ -164,7 +165,7 @@
         context = new AdminCommandContextImpl(
                 LogDomains.getLogger(ListCustomResourcesTest.class, LogDomains.ADMIN_LOGGER),
                 new PropsFileActionReporter());
-        cr.getCommandInvocation("list-custom-resources", context.getActionReport(), adminSubject()).parameters(parameters).execute(listCommand);
+        cr.getCommandInvocation("list-custom-resources", context.getActionReport(), adminSubject).parameters(parameters).execute(listCommand);
 
         list = context.getActionReport().getTopMessagePart().getChildren();
         if ((origNum - 1) == 0) {
@@ -172,7 +173,7 @@
         } else {
             assertEquals(origNum - 1, list.size());
         }
-        List<String> listStr = new java.util.ArrayList<String>();
+        List<String> listStr = new java.util.ArrayList<>();
         for (MessagePart mp : list) {
             listStr.add(mp.getMessage());
         }
diff --git a/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/test/ConnectorsAdminJunit5Extension.java b/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/test/ConnectorsAdminJunit5Extension.java
new file mode 100644
index 0000000..d856127
--- /dev/null
+++ b/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/test/ConnectorsAdminJunit5Extension.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2021 Eclipse Foundation 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.connectors.admin.cli.test;
+
+import com.sun.enterprise.admin.util.InstanceStateService;
+
+import org.glassfish.tests.utils.HK2JUnit5Extension;
+import org.junit.jupiter.api.extension.ExtensionContext;
+
+import static org.glassfish.hk2.utilities.ServiceLocatorUtilities.addOneDescriptor;
+import static org.glassfish.tests.utils.Utils.createMockDescriptor;
+
+/**
+ * @author David Matejcek
+ */
+public class ConnectorsAdminJunit5Extension extends HK2JUnit5Extension {
+
+    @Override
+    protected String getDomainXml(final Class<?> testClass) {
+        return "DomainTest.xml";
+    }
+
+
+    @Override
+    protected Class<TestDocument> getDomainXmlDomClass(Class<?> testClass) {
+        return TestDocument.class;
+    }
+
+
+    @Override
+    public void postProcessTestInstance(final Object testInstance, ExtensionContext context) throws Exception {
+        addOneDescriptor(getLocator(), createMockDescriptor(InstanceStateService.class));
+        super.postProcessTestInstance(testInstance, context);
+    }
+}
diff --git a/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/TestDocument.java b/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/test/TestDocument.java
similarity index 93%
rename from appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/TestDocument.java
rename to appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/test/TestDocument.java
index 2fa6531..172263c 100644
--- a/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/TestDocument.java
+++ b/appserver/connectors/admin/src/test/java/org/glassfish/connectors/admin/cli/test/TestDocument.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2008, 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
@@ -14,15 +15,13 @@
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
  */
 
-package org.glassfish.connectors.admin.cli;
+package org.glassfish.connectors.admin.cli.test;
 
 import org.jvnet.hk2.config.DomDocument;
 import org.jvnet.hk2.config.Dom;
 import org.jvnet.hk2.config.ConfigModel;
 import org.glassfish.config.support.GlassFishConfigBean;
 import org.glassfish.hk2.api.ServiceLocator;
-import org.junit.Ignore;
-
 import javax.xml.stream.XMLStreamReader;
 
 /**
@@ -32,7 +31,6 @@
  *
  * User: Jerome Dochez
  */
-@Ignore
 public class TestDocument extends DomDocument<GlassFishConfigBean> {
 
     public TestDocument(ServiceLocator habitat) {