/** * Check is this should run as client. * * <p>Verify @Deployment.testable vs @RunAsClient on Class or Method level * * @param deployment * @param testClass * @param testMethod * @return */ public static boolean isRunAsClient( Deployment deployment, Class<?> testClass, Method testMethod) { boolean runAsClient = true; if (deployment != null) { runAsClient = !deployment.getDescription().testable(); runAsClient = !deployment.isDeployed() || runAsClient; if (testMethod.isAnnotationPresent(RunAsClient.class)) { runAsClient = true; } else if (testClass.isAnnotationPresent(RunAsClient.class)) { runAsClient = true; } } return runAsClient; }
/** * @see * org.jboss.arquillian.container.test.impl.client.container.ClientContainerController#stop(java.lang.String) */ @Override public void stop(String containerQualifier, int timeout) { { DeploymentScenario scenario = getDeploymentScenario().get(); if (scenario == null) { throw new IllegalArgumentException("No deployment scenario in context"); } ContainerRegistry registry = getContainerRegistry().get(); if (registry == null) { throw new IllegalArgumentException("No container registry in context"); } if (!containerExists(registry.getContainers(), containerQualifier)) { throw new IllegalArgumentException("No container with the specified name exists"); } if (!isControllableContainer(registry.getContainers(), containerQualifier)) { throw new IllegalArgumentException( "Could not start " + containerQualifier + " container. The container life cycle is controlled by Arquillian"); } Container container = getContainerRegistry().get().getContainer(new TargetDescription(containerQualifier)); List<Deployment> managedDeployments = scenario.startupDeploymentsFor(new TargetDescription(containerQualifier)); for (Deployment d : managedDeployments) { if (d.isDeployed()) { log.info( "Automatic undeploying of the managed deployment with name " + d.getDescription().getName() + " from the container with name " + container.getName()); getContainerControllerEvent().fire(new UnDeployDeployment(container, d)); } } log.info("Manual stopping of a server instance with timeout=" + timeout); getContainerControllerEvent().fire(new StopContainerWithTimeout(container, timeout)); } }