@Override public DeploymentPackager getPackager() { if (archiveHolderInst.get() == null) { archiveHolderInst.set(new ServiceArchiveHolder()); } return new JMXProtocolPackager(archiveHolderInst.get()); }
private void configure(ArquillianDescriptor arquillianDescriptor) { operatingSystemFamilyInstanceProducer.set( new OperatingSystemResolver().currentOperatingSystem().getFamily()); Map<String, String> config = arquillianDescriptor.extension(EXTENSION_NAME).getExtensionProperties(); config = resolveSystemEnvironmentVariables(config); config = resolveAutoStartDockerMachine(config); config = resolveDefaultDockerMachine(config); config = resolveServerUriByOperativeSystem(config); config = resolveServerUriTcpProtocol(config); config = resolveServerIp(config); CubeDockerConfiguration cubeConfiguration = CubeDockerConfiguration.fromMap(config); System.out.println(cubeConfiguration); hostUriContextInstanceProducer.set(new HostUriContext(cubeConfiguration.getDockerServerUri())); configurationProducer.set(cubeConfiguration); }
private void execute(EventContext<? extends ExecutionEvent> context, String phase) { if (shouldPerformExecution(context.getEvent())) { context.proceed(); } else { log.info("Ignore test [" + phase + "]: " + toFqn(context.getEvent())); testResultProducer.set(new TestResult(TestResult.Status.SKIPPED)); } }
/** * Creates all resources related to this container after its start so we can further use them by * injection points. * * @param event */ public void onAfterContainerStart(@Observes AfterStart event) { if (event.getDeployableContainer().getConfigurationClass() == AndroidContainerConfiguration.class) { activityDeploymentMapper.set(getActivityDeploymentMapper()); activityWebDriverMapper.set(getActivityWebDriverMapper()); extensionDroneMapper.set(getWebDriverPortMapper()); deploymentWebDriverMapper.set(getDeploymentWebDriverMapper()); deploymentInstrumentationMapper.set(getDeploymentInstrumentationMapper()); selendroidServerManager.set(getSelendroidServerManager()); selendroidRebuilder.set(getSelendroidRebuilder()); selendroidDeploymentRegister.set(new SelendroidDeploymentRegister()); NativeActivityManager activityManager = new NativeActivityManager(activityWebDriverMapper.get()); androidDevice.get().getActivityManagerProvider().setActivityManager(activityManager); } }
private Map<String, String> resolveServerUriByOperativeSystem( Map<String, String> cubeConfiguration) { if (!cubeConfiguration.containsKey(CubeDockerConfiguration.DOCKER_URI)) { if (isDockerMachineSet(cubeConfiguration)) { String serverUri = OperatingSystemFamily.MACHINE.getServerUri(); cubeConfiguration.put(CubeDockerConfiguration.DOCKER_URI, serverUri); } else { OperatingSystemFamily operatingSystemFamily = operatingSystemFamilyInstanceProducer.get(); String serverUri = operatingSystemFamily.getServerUri(); cubeConfiguration.put(CubeDockerConfiguration.DOCKER_URI, serverUri); } } return cubeConfiguration; }
public void updateTestContextWithAppServerInfo(@Observes(precedence = 1) BeforeClass event) { testContext = testContextProducer.get(); String appServerQualifier = getAppServerQualifier(testContext.getTestClass()); for (ContainerInfo container : testContext.getSuiteContext().getContainers()) { if (container.getQualifier().equals(appServerQualifier)) { testContext.setAppServerInfo(updateWithAppServerInfo(container)); } } // validate app server if (appServerQualifier != null && testContext.getAppServerInfo() == null) { throw new RuntimeException( String.format( "No app server container matching '%s' was activated. Check if defined and enabled in arquillian.xml.", appServerQualifier)); } log.info("\n\n" + testContext); }
/** Stops the Event Bus */ void stopEventBus(@Observes StopBus event) { CommandBusOnClient bus = commandBusInst.get(); bus.stopBus(); }
void startEventBus(@Observes StartBus event) throws Exception { CommandBusOnClient bus = new CommandBusOnClient(); injector.get().inject(bus); commandBusInst.set(bus); bus.startBus(event); }
public void configure(@Observes BeforeSuite beforeSuiteEvent) { ConfigurationImporter extractor = new ConfigurationImporter(); Seam2Configuration configuration = extractor.from(descriptor.get()); configurationProducer.set(configuration); }
private Context createContext() throws Exception { if (contextInst.get() == null) { contextInst.set(new InitialContext()); } return contextInst.get(); }
public void createAndroidVirtualDeviceAvailable( @Observes AndroidVirtualDeviceEvent event, AndroidBridge bridge, AndroidExtensionConfiguration configuration, AndroidSdk sdk, ProcessExecutor executor) throws AndroidExecutionException { if (!bridge.isConnected()) { throw new IllegalStateException( "Android debug bridge must be connected in order to spawn emulator"); } String name = configuration.getAvdName(); AndroidDevice running = null; for (AndroidDevice device : bridge.getDevices()) { if (equalsIgnoreNulls(name, device.getAvdName())) { running = device; break; } } if (running == null) { CountDownWatch countdown = new CountDownWatch(configuration.getEmulatorBootupTimeoutInSeconds(), TimeUnit.SECONDS); log.log( Level.INFO, "Waiting {0} seconds for emulator {1} to be started and connected.", new Object[] {countdown.timeout(), name}); // discover what device was added here DeviceConnectDiscovery deviceDiscovery = new DeviceConnectDiscovery(); AndroidDebugBridge.addDeviceChangeListener(deviceDiscovery); Process emulator = startEmulator(executor, sdk, name, configuration.getEmulatorOptions()); androidEmulator.set(new AndroidEmulator(emulator)); log.log( Level.FINE, "Emulator process started, {0} seconds remaining to start the device {1}", new Object[] {countdown.timeLeft(), name}); waitUntilBootUpIsComplete(deviceDiscovery, executor, sdk, countdown); running = deviceDiscovery.getDiscoveredDevice(); AndroidDebugBridge.removeDeviceChangeListener(deviceDiscovery); } else { log.info( "Emulator for device " + name + " is already started, device serial is " + running.getSerialNumber() + ". Emulator will not be reinitialized."); } // fire event that we have a device ready androidDevice.set(running); androidDeviceReady.fire(new AndroidDeviceReady(running)); }
public void overrideBefore(@Observes EventContext<BeforeClass> event) { // Don't continue TestClass's BeforeClass context as normal. // No DeploymentGeneration or Deploy will take place. classDeploymentScenario.set(suiteDeploymentScenario); }