private Map<String, String> getConfiguration() { for (ExtensionDef def : descriptor.get().getExtensions()) { if (SystemProperties.EXTENSION_NAME.equalsIgnoreCase(def .getExtensionName())) { return def.getExtensionProperties(); } } return new HashMap<String, String>(); }
public void overwriteDroneConfiguration(@Observes ArquillianDescriptor arquillianDescriptor) { final List<ExtensionDef> extensions = arquillianDescriptor.getExtensions(); final ExtensionDef webdriver = arquillianDescriptor.extension("webdriver"); if (webdriver != null) { webdriver.property("remote", "true"); final Map<String, String> extensionProperties = webdriver.getExtensionProperties(); if (!extensionProperties.containsKey("browser")) { webdriver.property("browser", "firefox"); } } } }
@Override protected void handle(Matcher matcher, String value, ArquillianDescriptor descriptor) { String extensionName = matcher.group(1); String propertyName = matcher.group(2); final ExtensionDef extensionDef = descriptor.extension(extensionName); final String originalValue = extensionDef.getExtensionProperty(propertyName); if (value.contains(ORIGINAL_VALUE)) { extensionDef.property(propertyName, value.replace(ORIGINAL_VALUE, originalValue != null ? originalValue : "")); } else { extensionDef.property(propertyName, value); } } }
@Test public void tlsVerifyShouldBeFalseInCaseOfHttpServerUri() throws Exception { Map<String, String> config = new HashMap<>(); config.put(CubeDockerConfiguration.DOCKER_URI, "http://192.168.0.2:22222"); when(extensionDef.getExtensionProperties()).thenReturn(config); when(arquillianDescriptor.extension("docker")).thenReturn(extensionDef); when(commandLineExecutor.execCommand("docker-machine")).thenThrow(new RuntimeException()); fire(new CubeConfiguration()); assertThat(config, hasEntry(CubeDockerConfiguration.DOCKER_URI, "tcp://192.168.0.2:22222")); assertThat(config, hasEntry(CubeDockerConfiguration.TLS_VERIFY, "false")); assertThat(config, not(hasKey(CubeDockerConfiguration.CERT_PATH))); }
@Test public void shouldStartDockerMachineIfItIsStoppedAndMachineNameIsSet() { Map<String, String> config = new HashMap<>(); config.put(CubeDockerConfiguration.DOCKER_URI, "tcp://dockerHost:22222"); config.put(CubeDockerConfiguration.DOCKER_MACHINE_NAME, "dev"); when(extensionDef.getExtensionProperties()).thenReturn(config); when(arquillianDescriptor.extension("docker")).thenReturn(extensionDef); when(commandLineExecutor.execCommandAsArray("docker-machine", "ls")) .thenReturn(Arrays.asList( "NAME ACTIVE DRIVER STATE URL SWARM", "dev * virtualbox Stopped tcp://192.168.0.2:222222 ")); when(commandLineExecutor.execCommand("docker-machine", "ip", "dev")).thenReturn("192.168.0.2"); fire(new CubeConfiguration()); assertThat(config, hasEntry(CubeDockerConfiguration.DOCKER_URI, "tcp://192.168.0.2:22222")); verify(commandLineExecutor, times(1)).execCommand("docker-machine", "start", "dev"); }
@Before public void prepareDescriptor() { Map<String, String> properties = new HashMap<String, String>(); properties.put("waitGuiInterval", "5"); properties.put("waitAjaxInterval", "25"); properties.put("waitModelInterval", "125"); when(extensionDefinition.getExtensionName()).thenReturn("graphene"); when(extensionDefinition.getExtensionProperties()).thenReturn(properties); when(descriptor.getExtensions()).thenReturn(Arrays.asList(new ExtensionDef[] { extensionDefinition })); }
@Override public CubeOpenShiftConfiguration create(ArquillianDescriptor arquillian) { Map<String, String> config = new HashMap<>(); config.putAll(arquillian.extension(KUBERNETES_EXTENSION_NAME).getExtensionProperties()); config.putAll(arquillian.extension(OPENSHIFT_EXTENSION_NAME).getExtensionProperties()); configureProtocolHandlers(config); configurationParamProducer.set(new ConfigurationParameters(config)); final CubeOpenShiftConfiguration openShiftConfiguration = CubeOpenShiftConfiguration.fromMap(config); System.out.println(openShiftConfiguration); return openShiftConfiguration; } }
@Test public void shouldBeAbleToRenameExtension() throws Exception { desc = create() .extension(EXTENSION_NAME_1) .property(PROPERTY_NAME_1, PROPERTY_VALUE_1) .extension(EXTENSION_NAME_1) .setExtensionName(EXTENSION_NAME_2) .exportAsString(); assertXPath(desc, "/arquillian/extension/@qualifier", EXTENSION_NAME_2); ArquillianDescriptor descriptor = create(desc); Assert.assertEquals(1, descriptor.getExtensions().size()); Assert.assertEquals(EXTENSION_NAME_2, descriptor.getExtensions().get(0).getExtensionName()); Assert.assertEquals(1, descriptor.getExtensions().get(0).getExtensionProperties().size()); Assert.assertEquals(PROPERTY_VALUE_1, descriptor.getExtensions().get(0).getExtensionProperties().get(PROPERTY_NAME_1)); Assert.assertEquals(PROPERTY_VALUE_1, descriptor.getExtensions().get(0).getExtensionProperty(PROPERTY_NAME_1)); }
@Test public void shouldBeAbleToRenameExtension() throws Exception { desc = create() .extension(EXTENSION_NAME_1) .property(PROPERTY_NAME_1, PROPERTY_VALUE_1) .extension(EXTENSION_NAME_1) .setExtensionName(EXTENSION_NAME_2); desc = new SystemPropertiesConfigurationPlaceholderResolver().resolve(desc); final String descString = desc.exportAsString(); assertXPath(descString, "/arquillian/extension/@qualifier", EXTENSION_NAME_2); ArquillianDescriptor descriptor = create(descString); Assert.assertEquals(1, descriptor.getExtensions().size()); Assert.assertEquals(EXTENSION_NAME_2, descriptor.getExtensions().get(0).getExtensionName()); Assert.assertEquals(1, descriptor.getExtensions().get(0).getExtensionProperties().size()); Assert.assertEquals(PROPERTY_VALUE_1, descriptor.getExtensions().get(0).getExtensionProperties().get(PROPERTY_NAME_1)); }
@Override public String get() { return desc.getExtensions().get(0).getExtensionProperties().get(CONFIGURATION_PROP_1); } });
public void configure(@Observes(precedence = -10) ArquillianDescriptor arquillianDescriptor) { Map<String, String> config = arquillianDescriptor.extension(EXTENSION_NAME).getExtensionProperties(); CubeConfiguration cubeConfiguration = CubeConfiguration.fromMap(config); configurationProducer.set(cubeConfiguration); } }
private ExtensionDef getExtension(ArquillianDescriptor descriptor, String extensionQualifier) { for (ExtensionDef extension : descriptor.getExtensions()) { if (extension.getExtensionName().equals(extensionQualifier)) { return extension; } } return null; }
String browser = getBrowser(extension.getExtensionProperties()); String remoteUrl = parseRemoteAddress(extension.getExtensionProperties()); String port = parsePort(remoteUrl); extension.getExtensionName(), extensionQualifier, qualifier, }); extensionDroneMapper.get().put(extension.getExtensionName(), new DroneConfigurationHolder(extensionQualifier, qualifier, port)); afterExtensionDroneMappingEvent.fire(new AfterExtensionDroneMapping(extension.getExtensionName(), port));
private boolean isAskingForAndroid(ExtensionDef webdriverExtension) { for (Map.Entry<String, String> entry : webdriverExtension.getExtensionProperties().entrySet()) { if (entry.getKey().equals("browser")) { if (entry.getValue().equals("android")) { return true; } } } return false; }
@Test public void shouldBeAbleToAddEverything() throws Exception { desc = create() .defaultProtocol(PROTOCOL_TYPE_1) .property(PROPERTY_VALUE_3, PROPERTY_VALUE_3) .container(CONTAINER_NAME_1) .property(PROPERTY_NAME_1, PROPERTY_VALUE_1) .dependency(DEPENDENCY_1) .protocol(PROTOCOL_TYPE_1) .property(PROPERTY_NAME_2, PROPERTY_VALUE_2) .group(GROUP_NAME_1) .container(CONTAINER_NAME_2) .property(PROPERTY_NAME_1, PROPERTY_VALUE_1) .dependency(DEPENDENCY_2) .protocol(PROTOCOL_TYPE_2) .property(PROPERTY_NAME_3, PROPERTY_VALUE_3) .group(GROUP_NAME_2) .container(CONTAINER_NAME_3) .protocol(PROTOCOL_TYPE_3) .property(PROPERTY_NAME_1, PROPERTY_VALUE_1) .container(CONTAINER_NAME_4) .extension(EXTENSION_NAME_1) .property(PROPERTY_NAME_1, PROPERTY_VALUE_2) .exportAsString(); }
@Test public void tlsVerifyShouldBeFalseInCaseOfSetToTrueAndHttpServerUri() { Map<String, String> config = new HashMap<>(); config.put(CubeDockerConfiguration.DOCKER_URI, "http://192.168.0.2:22222"); config.put(CubeDockerConfiguration.TLS_VERIFY, "true"); when(extensionDef.getExtensionProperties()).thenReturn(config); when(arquillianDescriptor.extension("docker")).thenReturn(extensionDef); when(commandLineExecutor.execCommand("docker-machine")).thenThrow(new RuntimeException()); fire(new CubeConfiguration()); assertThat(config, hasEntry(CubeDockerConfiguration.DOCKER_URI, "tcp://192.168.0.2:22222")); assertThat(config, hasEntry(CubeDockerConfiguration.TLS_VERIFY, "false")); assertThat(config, not(hasKey(CubeDockerConfiguration.CERT_PATH))); }
@Override public C create(ArquillianDescriptor arquillian) { Map<String, String> config = arquillian.extension(KUBERNETES_EXTENSION_NAME).getExtensionProperties(); configureProtocolHandlers(config); final DefaultConfiguration configuration = DefaultConfiguration.fromMap(config); System.out.println(configuration); return (C)configuration; } }
@Test public void shouldBeAbleToAddExtensionAndOverwriteProperty() throws Exception { desc = create() .extension(EXTENSION_NAME_1) .property(PROPERTY_NAME_1, PROPERTY_VALUE_1) .property(PROPERTY_NAME_1, PROPERTY_VALUE_2) .exportAsString(); assertXPath(desc, "/arquillian/extension/@qualifier", EXTENSION_NAME_1); assertXPath(desc, "/arquillian/extension/property/@name", PROPERTY_NAME_1); assertXPath(desc, "/arquillian/extension/property/text()", PROPERTY_VALUE_2); ArquillianDescriptor descriptor = create(desc); Assert.assertEquals(1, descriptor.getExtensions().size()); Assert.assertEquals(EXTENSION_NAME_1, descriptor.getExtensions().get(0).getExtensionName()); Assert.assertEquals(1, descriptor.getExtensions().get(0).getExtensionProperties().size()); Assert.assertEquals(PROPERTY_VALUE_2, descriptor.getExtensions().get(0).getExtensionProperties().get(PROPERTY_NAME_1)); Assert.assertEquals(PROPERTY_VALUE_2, descriptor.getExtensions().get(0).getExtensionProperty(PROPERTY_NAME_1)); }
@Test public void shouldBeAbleToAddExtensionAndOverwriteProperty() throws Exception { System.setProperty(KEY_PROPERTY_VALUE_1, PROPERTY_VALUE_1); System.setProperty(KEY_PROPERTY_VALUE_2, PROPERTY_VALUE_2); desc = create() .extension(EXTENSION_NAME_1) .property(PROPERTY_NAME_1, setPropKey(KEY_PROPERTY_VALUE_1)) .property(PROPERTY_NAME_1, setPropKey(KEY_PROPERTY_VALUE_2)); desc = new SystemPropertiesConfigurationPlaceholderResolver().resolve(desc); final String descString = desc.exportAsString(); assertXPath(descString, "/arquillian/extension/@qualifier", EXTENSION_NAME_1); assertXPath(descString, "/arquillian/extension/property/@name", PROPERTY_NAME_1); assertXPath(descString, "/arquillian/extension/property/text()", PROPERTY_VALUE_2); ArquillianDescriptor descriptor = create(descString); Assert.assertEquals(1, descriptor.getExtensions().size()); Assert.assertEquals(EXTENSION_NAME_1, descriptor.getExtensions().get(0).getExtensionName()); Assert.assertEquals(1, descriptor.getExtensions().get(0).getExtensionProperties().size()); Assert.assertEquals(PROPERTY_VALUE_2, descriptor.getExtensions().get(0).getExtensionProperties().get(PROPERTY_NAME_1)); }
@Override public String get() { return desc.getExtensions().get(0).getExtensionProperties().get(CONFIGURATION_PROP_1); } });