@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); } } }
@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); } } }
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"); } } } }
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"); } } } }
@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)); }
@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 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)); }
@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)); }
.property(PROPERTY_NAME_1, setPropKey(KEY_PROPERTY_VALUE_1)) .property(PROPERTY_NAME_2, setPropKey(KEY_PROPERTY_VALUE_2)) .extension(EXTENSION_NAME_2) .property(PROPERTY_NAME_3, setPropKey(KEY_PROPERTY_VALUE_3)); desc = new SystemPropertiesConfigurationPlaceholderResolver().resolve(desc); final String descString = desc.exportAsString();
@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(); }