Issue #23507 orb-connector now uses junit5 instead of junit4
diff --git a/appserver/orb/orb-connector/pom.xml b/appserver/orb/orb-connector/pom.xml
index d530ece..ea50f49 100755
--- a/appserver/orb/orb-connector/pom.xml
+++ b/appserver/orb/orb-connector/pom.xml
@@ -120,6 +120,20 @@
 
         <!-- TEST dependencies -->
         <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.hamcrest</groupId>
+            <artifactId>hamcrest</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.glassfish.main.cluster</groupId>
             <artifactId>cluster-admin</artifactId>
             <version>${project.version}</version>
@@ -132,12 +146,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.glassfish.main.tests</groupId>
-            <artifactId>utils</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>jakarta.el</groupId>
             <artifactId>jakarta.el-api</artifactId>
             <scope>test</scope>
@@ -147,10 +155,6 @@
             <artifactId>jakarta.el</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.hamcrest</groupId>
-            <artifactId>hamcrest</artifactId>
-        </dependency>
     </dependencies>
 
     <build>
diff --git a/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/cli/CreateIiopListenerTest.java b/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/cli/CreateIiopListenerTest.java
index 07c6e37..0032475 100644
--- a/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/cli/CreateIiopListenerTest.java
+++ b/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/cli/CreateIiopListenerTest.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 1997, 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,39 +17,53 @@
 
 package org.glassfish.orb.admin.cli;
 
-import org.glassfish.api.admin.AdminCommandContextImpl;
-import org.glassfish.orb.admin.config.IiopListener;
-import org.glassfish.orb.admin.config.IiopService;
 import com.sun.enterprise.v3.common.PropsFileActionReporter;
 import com.sun.logging.LogDomains;
+
+import java.util.List;
+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.hk2.api.ServiceLocator;
-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.orb.admin.config.IiopListener;
+import org.glassfish.orb.admin.config.IiopService;
+import org.glassfish.orb.admin.test.OrbJunitExtension;
+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 java.util.List;
+import jakarta.inject.Inject;
 
-import junit.framework.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;
+import static org.junit.jupiter.api.Assertions.fail;
 
+@ExtendWith(OrbJunitExtension.class)
+public class CreateIiopListenerTest {
 
-public class CreateIiopListenerTest extends org.glassfish.tests.utils.ConfigApiTest {
-
+    @Inject
     private ServiceLocator services;
+    @Inject
+    private Logger logger;
+    @Inject
     private IiopService iiopService;
     private ParameterMap parameters;
     private AdminCommandContext context;
+    @Inject
     private CommandRunner cr;
+    private Subject adminSubject;
 
     public static void checkActionReport(ActionReport report) {
         if (ActionReport.ExitCode.SUCCESS.equals(report.getActionExitCode())) {
@@ -56,49 +71,35 @@
         }
 
         Throwable reason = report.getFailureCause();
-        Assert.assertNotNull("Action failed with exit code " +
-            report.getActionExitCode() + " and message " +
-                report.getMessage(), reason);
-        throw new AssertionError(reason);
+        assertNotNull(reason,
+            "Action failed with exit code " + report.getActionExitCode() + " and message " + report.getMessage());
+        fail(reason);
     }
 
-    @Override
-    public String getFileName() {
-        return "DomainTest";
-    }
 
-    public DomDocument getDocument(ServiceLocator services) {
-        return new TestDocument(services);
-    }
-
-    @Before
+    @BeforeEach
     public void setUp() {
-        services = getHabitat();
-        iiopService = services.getService(IiopService.class);
         parameters = new ParameterMap();
         context = new AdminCommandContextImpl(
                 LogDomains.getLogger(CreateIiopListenerTest.class, LogDomains.ADMIN_LOGGER),
                 new PropsFileActionReporter());
-        cr = services.getService(CommandRunner.class);
+        adminSubject = Utils.createInternalAsadminSubject();
     }
 
-    @After
+    @AfterEach
     public void tearDown() throws TransactionFailure {
-        ConfigSupport.apply(new SingleConfigCode<IiopService>() {
-            public Object run(IiopService param) throws PropertyVetoException,
-                    TransactionFailure {
-                List<IiopListener> listenerList = param.getIiopListener();
-                for (IiopListener listener : listenerList) {
-                    String currListenerId = listener.getId();
-                    if (currListenerId != null && currListenerId.equals
-                            ("iiop_1")) {
-                        listenerList.remove(listener);
-                        break;
-                    }
+        SingleConfigCode<IiopService> configCode = iiopServiceProxy -> {
+            List<IiopListener> listenerList = iiopServiceProxy.getIiopListener();
+            for (IiopListener listener : listenerList) {
+                String currListenerId = listener.getId();
+                if (currListenerId != null && currListenerId.equals("iiop_1")) {
+                    listenerList.remove(listener);
+                    break;
                 }
-                return listenerList;
             }
-        }, iiopService);
+            return listenerList;
+        };
+        ConfigSupport.apply(configCode, iiopService);
         parameters = new ParameterMap();
     }
 
@@ -117,7 +118,7 @@
         parameters.set("enabled", "true");
         parameters.set("securityenabled", "true");
         CreateIiopListener command = services.getService(CreateIiopListener.class);
-        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject()).parameters(parameters).execute(command);
+        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject).parameters(parameters).execute(command);
         checkActionReport(context.getActionReport());
         boolean isCreated = false;
         List<IiopListener> listenerList = iiopService.getIiopListener();
@@ -148,7 +149,7 @@
         parameters.set("iiopport", "4440");
         parameters.set("listener_id", "iiop_1");
         CreateIiopListener command = services.getService(CreateIiopListener.class);
-        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject()).parameters(parameters).execute(command);
+        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject).parameters(parameters).execute(command);
         checkActionReport(context.getActionReport());
         boolean isCreated = false;
         List<IiopListener> listenerList = iiopService.getIiopListener();
@@ -179,7 +180,7 @@
         parameters.set("iiopport", "4440");
         parameters.set("listener_id", "iiop_1");
         CreateIiopListener command1 = services.getService(CreateIiopListener.class);
-        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject()).parameters(parameters).execute(command1);
+        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject).parameters(parameters).execute(command1);
         checkActionReport(context.getActionReport());
         boolean isCreated = false;
         List<IiopListener> listenerList = iiopService.getIiopListener();
@@ -196,7 +197,7 @@
         logger.fine("msg: " + context.getActionReport().getMessage());
 
         CreateIiopListener command2 = services.getService(CreateIiopListener.class);
-        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject()).parameters(parameters).execute(command2);
+        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject).parameters(parameters).execute(command2);
         assertEquals(ActionReport.ExitCode.FAILURE, context.getActionReport().getActionExitCode());
         int numDupRes = 0;
         listenerList = iiopService.getIiopListener();
@@ -223,7 +224,7 @@
         parameters.set("iiopport", "4440");
         parameters.set("listener_id", "iiop_1");
         CreateIiopListener command = services.getService(CreateIiopListener.class);
-        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject()).parameters(parameters).execute(command);
+        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject).parameters(parameters).execute(command);
         checkActionReport(context.getActionReport());
         boolean isCreated = false;
         List<IiopListener> listenerList = iiopService.getIiopListener();
@@ -243,7 +244,7 @@
         parameters.set("listener_id", "iiop_2");
         parameters.set("iiopport", "4440");
         parameters.set("listeneraddress", "localhost");
-        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject()).parameters(parameters).execute(command);
+        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject).parameters(parameters).execute(command);
         assertEquals(ActionReport.ExitCode.FAILURE, context.getActionReport().getActionExitCode());
         logger.fine("msg: " + context.getActionReport().getMessage());
 
@@ -261,7 +262,7 @@
         parameters.set("listener_id", "iiop_1");
         parameters.set("enabled", "junk");
         CreateIiopListener command = services.getService(CreateIiopListener.class);
-        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject()).parameters(parameters).execute(command);
+        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject).parameters(parameters).execute(command);
         assertEquals(ActionReport.ExitCode.FAILURE, context.getActionReport().getActionExitCode());
     }
 
@@ -277,7 +278,7 @@
         parameters.set("listener_id", "iiop_1");
         parameters.set("enabled", "");
         CreateIiopListener command = services.getService(CreateIiopListener.class);
-        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject()).parameters(parameters).execute(command);
+        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject).parameters(parameters).execute(command);
         checkActionReport(context.getActionReport());
         boolean isCreated = false;
         List<IiopListener> listenerList = iiopService.getIiopListener();
@@ -307,7 +308,7 @@
         parameters.set("listener_id", "iiop_1");
         parameters.set("securityenabled", "");
         CreateIiopListener command = services.getService(CreateIiopListener.class);
-        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject()).parameters(parameters).execute(command);
+        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject).parameters(parameters).execute(command);
         checkActionReport(context.getActionReport());
         boolean isCreated = false;
         List<IiopListener> listenerList = iiopService.getIiopListener();
diff --git a/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/cli/DeleteIiopListenerTest.java b/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/cli/DeleteIiopListenerTest.java
index 41d409c..ecd27aa 100644
--- a/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/cli/DeleteIiopListenerTest.java
+++ b/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/cli/DeleteIiopListenerTest.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 1997, 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,74 +17,75 @@
 
 package org.glassfish.orb.admin.cli;
 
-import org.glassfish.api.admin.AdminCommandContextImpl;
-import org.glassfish.orb.admin.config.IiopListener;
-import org.glassfish.orb.admin.config.IiopService;
 import com.sun.enterprise.v3.common.PropsFileActionReporter;
 import com.sun.logging.LogDomains;
+
+import java.util.List;
+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.hk2.api.ServiceLocator;
-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.orb.admin.config.IiopListener;
+import org.glassfish.orb.admin.config.IiopService;
+import org.glassfish.orb.admin.test.OrbJunitExtension;
+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 java.util.List;
+import jakarta.inject.Inject;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class DeleteIiopListenerTest extends org.glassfish.tests.utils.ConfigApiTest {
+@ExtendWith(OrbJunitExtension.class)
+public class DeleteIiopListenerTest {
 
+    @Inject
     private ServiceLocator services;
+    @Inject
+    private Logger logger;
+    @Inject
     private IiopService iiopService;
     private ParameterMap parameters;
+    @Inject
     private CommandRunner cr;
     private AdminCommandContext context;
+    private Subject adminSubject;
 
-    public String getFileName() {
-        return "DomainTest";
-    }
-
-    public DomDocument getDocument(ServiceLocator services) {
-        return new TestDocument(services);
-    }
-
-    @Before
+    @BeforeEach
     public void setUp() {
-        services = getHabitat();
-        iiopService = services.getService(IiopService.class);
         parameters = new ParameterMap();
-        cr = services.getService(CommandRunner.class);
         context = new AdminCommandContextImpl(
                 LogDomains.getLogger(DeleteIiopListenerTest.class, LogDomains.ADMIN_LOGGER),
                 new PropsFileActionReporter());
+        adminSubject = Utils.createInternalAsadminSubject();
     }
 
-    @After
+    @AfterEach
     public void tearDown() throws TransactionFailure {
-        ConfigSupport.apply(new SingleConfigCode<IiopService>() {
-            public Object run(IiopService param) throws PropertyVetoException,
-                    TransactionFailure {
-                List<IiopListener> listenerList = param.getIiopListener();
-                for (IiopListener listener : listenerList) {
-                    String currListenerId = listener.getId();
-                    if (currListenerId != null && currListenerId.equals
-                            ("iiop_1")) {
-                        listenerList.remove(listener);
-                        break;
-                    }
+        SingleConfigCode<IiopService> configCode = iiopServiceProxy -> {
+            List<IiopListener> listenerList = iiopServiceProxy.getIiopListener();
+            for (IiopListener listener : listenerList) {
+                String currListenerId = listener.getId();
+                if (currListenerId != null && currListenerId.equals("iiop_1")) {
+                    listenerList.remove(listener);
+                    break;
                 }
-                return listenerList;
             }
-        }, iiopService);
+            return listenerList;
+        };
+        ConfigSupport.apply(configCode, iiopService);
     }
 
 
@@ -97,12 +99,12 @@
         parameters.set("iiopport", "4440");
         parameters.set("listener_id", "iiop_1");
         CreateIiopListener createCommand = services.getService(CreateIiopListener.class);
-        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject()).parameters(parameters).execute(createCommand);
+        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject).parameters(parameters).execute(createCommand);
         CreateIiopListenerTest.checkActionReport(context.getActionReport());
         parameters = new ParameterMap();
         parameters.set("listener_id", "iiop_1");
         DeleteIiopListener deleteCommand = services.getService(DeleteIiopListener.class);
-        cr.getCommandInvocation("delete-iiop-listener", context.getActionReport(), adminSubject()).parameters(parameters).execute(deleteCommand);
+        cr.getCommandInvocation("delete-iiop-listener", context.getActionReport(), adminSubject).parameters(parameters).execute(deleteCommand);
 
         CreateIiopListenerTest.checkActionReport(context.getActionReport());
         boolean isDeleted = true;
@@ -126,7 +128,7 @@
     public void testExecuteFailDoesNotExist() {
         parameters.set("DEFAULT", "doesnotexist");
         DeleteIiopListener deleteCommand = services.getService(DeleteIiopListener.class);
-        cr.getCommandInvocation("delete-iiop-listener", context.getActionReport(), adminSubject()).parameters(parameters).execute(deleteCommand);
+        cr.getCommandInvocation("delete-iiop-listener", context.getActionReport(), adminSubject).parameters(parameters).execute(deleteCommand);
         assertEquals(ActionReport.ExitCode.FAILURE, context.getActionReport().getActionExitCode());
         logger.fine("msg: " + context.getActionReport().getMessage());
     }
diff --git a/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/cli/ListIiopListenersTest.java b/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/cli/ListIiopListenersTest.java
index fc281f4..d437dbd 100644
--- a/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/cli/ListIiopListenersTest.java
+++ b/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/cli/ListIiopListenersTest.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 1997, 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,58 +17,60 @@
 
 package org.glassfish.orb.admin.cli;
 
-import org.glassfish.api.admin.AdminCommandContextImpl;
-import org.glassfish.orb.admin.config.IiopListener;
-import org.glassfish.orb.admin.config.IiopService;
 import com.sun.enterprise.v3.common.PropsFileActionReporter;
 import com.sun.logging.LogDomains;
-import org.glassfish.api.ActionReport;
-import org.glassfish.api.ActionReport.MessagePart;
-import org.glassfish.api.admin.AdminCommandContext;
-import org.glassfish.api.admin.CommandRunner;
-import org.glassfish.api.admin.ParameterMap;
-import org.glassfish.hk2.api.ServiceLocator;
-import org.junit.After;
-import static org.junit.Assert.*;
-import org.junit.Before;
-import org.junit.Test;
-import org.jvnet.hk2.config.DomDocument;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.logging.Logger;
 
+import javax.security.auth.Subject;
 
-public class ListIiopListenersTest extends org.glassfish.tests.utils.ConfigApiTest {
+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.hk2.api.ServiceLocator;
+import org.glassfish.orb.admin.config.IiopListener;
+import org.glassfish.orb.admin.config.IiopService;
+import org.glassfish.orb.admin.test.OrbJunitExtension;
+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 jakarta.inject.Inject;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+@ExtendWith(OrbJunitExtension.class)
+public class ListIiopListenersTest {
+
+    @Inject
     private ServiceLocator services;
+    @Inject
+    private Logger logger;
+    @Inject
+    private IiopService iiopService;
     private int origNum;
     private ParameterMap parameters;
+    @Inject
     private CommandRunner cr;
     private AdminCommandContext context;
+    private Subject adminSubject;
 
-    public String getFileName() {
-        return "DomainTest";
-    }
-
-    public DomDocument getDocument(ServiceLocator services) {
-        return new TestDocument(services);
-    }
-
-    @Before
+    @BeforeEach
     public void setUp() {
-        services = getHabitat();
-        IiopService iiopService = services.getService(IiopService.class);
         parameters = new ParameterMap();
-        cr = services.getService(CommandRunner.class);
         context = new AdminCommandContextImpl(
                 LogDomains.getLogger(ListIiopListenersTest.class, LogDomains.ADMIN_LOGGER),
                 new PropsFileActionReporter());
         List<IiopListener> listenerList = iiopService.getIiopListener();
         origNum = listenerList.size();
-    }
-
-    @After
-    public void tearDown() {
+        adminSubject = Utils.createInternalAsadminSubject();
     }
 
     /**
@@ -77,7 +80,7 @@
     @Test
     public void testExecuteSuccessListOriginal() {
         ListIiopListeners listCommand = services.getService(ListIiopListeners.class);
-        cr.getCommandInvocation("list-iiop-listeners", context.getActionReport(), adminSubject()).parameters(parameters).execute(listCommand);
+        cr.getCommandInvocation("list-iiop-listeners", context.getActionReport(), adminSubject).parameters(parameters).execute(listCommand);
         List<MessagePart> list = context.getActionReport().getTopMessagePart().getChildren();
         assertEquals(origNum, list.size());
         CreateIiopListenerTest.checkActionReport(context.getActionReport());
@@ -91,7 +94,7 @@
     public void testExecuteSuccessValidTargetOperand() {
         ListIiopListeners listCommand = services.getService(ListIiopListeners.class);
         parameters.set("DEFAULT", "server");
-        cr.getCommandInvocation("list-iiop-listeners", context.getActionReport(), adminSubject()).parameters(parameters).execute(listCommand);
+        cr.getCommandInvocation("list-iiop-listeners", context.getActionReport(), adminSubject).parameters(parameters).execute(listCommand);
         List<MessagePart> list = context.getActionReport().getTopMessagePart().getChildren();
         assertEquals(origNum, list.size());
         CreateIiopListenerTest.checkActionReport(context.getActionReport());
@@ -110,14 +113,14 @@
         parameters.set("iiopport", "4440");
         parameters.set("listener_id", "listener");
         CreateIiopListener createCommand = services.getService(CreateIiopListener.class);
-        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject()).parameters(parameters).execute(createCommand);
+        cr.getCommandInvocation("create-iiop-listener", context.getActionReport(), adminSubject).parameters(parameters).execute(createCommand);
         CreateIiopListenerTest.checkActionReport(context.getActionReport());
         parameters = new ParameterMap();
         ListIiopListeners listCommand = services.getService(ListIiopListeners.class);
-        cr.getCommandInvocation("list-iiop-listeners", context.getActionReport(), adminSubject()).parameters(parameters).execute(listCommand);
+        cr.getCommandInvocation("list-iiop-listeners", context.getActionReport(), adminSubject).parameters(parameters).execute(listCommand);
         List<MessagePart> list = context.getActionReport().getTopMessagePart().getChildren();
         assertEquals(origNum + 1, list.size());
-        List<String> listStr = new ArrayList<String>();
+        List<String> listStr = new ArrayList<>();
         for (MessagePart mp : list) {
             listStr.add(mp.getMessage());
         }
@@ -126,7 +129,7 @@
         parameters = new ParameterMap();
         parameters.set("listener_id", "listener");
         DeleteIiopListener deleteCommand = services.getService(DeleteIiopListener.class);
-        cr.getCommandInvocation("delete-iiop-listener", context.getActionReport(), adminSubject()).parameters(parameters).execute(deleteCommand);
+        cr.getCommandInvocation("delete-iiop-listener", context.getActionReport(), adminSubject).parameters(parameters).execute(deleteCommand);
         CreateIiopListenerTest.checkActionReport(context.getActionReport());
     }
 
@@ -138,11 +141,11 @@
     public void testExecuteSuccessListNoListener() {
         parameters = new ParameterMap();
         ListIiopListeners listCommand = services.getService(ListIiopListeners.class);
-        cr.getCommandInvocation("list-iiop-listeners", context.getActionReport(), adminSubject()).parameters(parameters).execute(listCommand);
+        cr.getCommandInvocation("list-iiop-listeners", context.getActionReport(), adminSubject).parameters(parameters).execute(listCommand);
         CreateIiopListenerTest.checkActionReport(context.getActionReport());
         List<MessagePart> list = context.getActionReport().getTopMessagePart().getChildren();
         assertEquals(origNum, list.size());
-        List<String> listStr = new ArrayList<String>();
+        List<String> listStr = new ArrayList<>();
         for (MessagePart mp : list) {
             listStr.add(mp.getMessage());
         }
diff --git a/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/test/OrbJunitExtension.java b/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/test/OrbJunitExtension.java
new file mode 100644
index 0000000..279ac16
--- /dev/null
+++ b/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/test/OrbJunitExtension.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2021 Eclipse Foundation 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
+ * 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.orb.admin.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 OrbJunitExtension 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/orb/orb-connector/src/test/java/org/glassfish/orb/admin/cli/TestDocument.java b/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/test/TestDocument.java
similarity index 93%
rename from appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/cli/TestDocument.java
rename to appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/test/TestDocument.java
index 968ae5f..e35106c 100644
--- a/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/cli/TestDocument.java
+++ b/appserver/orb/orb-connector/src/test/java/org/glassfish/orb/admin/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.orb.admin.cli;
+package org.glassfish.orb.admin.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) {