@Test(expected = IllegalStateException.class) public void shouldThrowExceptionIfMultipleContainersSetAsDefault() throws IllegalStateException { try { fire( Descriptors.create(ArquillianDescriptor.class) .container(CONTAINER_1) .setDefault() .container(CONTAINER_2) .setDefault()); } catch (IllegalStateException e) { Assert.assertTrue(e.getMessage().startsWith("Multiple Containers defined as default")); throw e; } }
@Test(expected = IllegalStateException.class) public void shouldThrowExceptionIfMultipleContainersInGroupSetAsDefault() throws IllegalStateException { try { fire(Descriptors.create(ArquillianDescriptor.class) .group(GROUP_1) .container(CONTAINER_1) .setDefault() .container(CONTAINER_2) .setDefault()); } catch (IllegalStateException e) { Assert.assertTrue(e.getMessage().startsWith("Multiple Containers within Group defined as default")); throw e; } }
@Test public void shouldRegisterContainerMarkedDefaultWhenMultipleDefined() { fire( Descriptors.create(ArquillianDescriptor.class) .container(CONTAINER_1) .setDefault() .container(CONTAINER_2)); verifyRegistry(CONTAINER_1); }
@Test public void shouldBeAbleToAddGroupWithContainerAndOverwriteContainer() throws Exception { desc = create() .group(GROUP_NAME_1) .container(CONTAINER_NAME_1) .container(CONTAINER_NAME_1) .exportAsString(); assertXPath(desc, "/arquillian/group/@qualifier", GROUP_NAME_1); assertXPath(desc, "/arquillian/group/container/@qualifier", CONTAINER_NAME_1); ArquillianDescriptor descriptor = create(desc); Assert.assertEquals(1, descriptor.getGroups().size()); Assert.assertEquals(1, descriptor.getGroups().get(0).getGroupContainers().size()); Assert.assertEquals(CONTAINER_NAME_1, descriptor.getGroups().get(0).getGroupContainers().get(0).getContainerName()); }
@Test public void shouldBeAbleToAddGroupWithContainerAndOverwriteContainer() throws Exception { System.setProperty(KEY_CONTAINER_NAME_1, CONTAINER_NAME_1); desc = create() .group(GROUP_NAME_1) .container(setPropKey(KEY_CONTAINER_NAME_1)) .container(setPropKey(KEY_CONTAINER_NAME_1)); desc = new SystemPropertiesConfigurationPlaceholderResolver().resolve(desc); final String descString = desc.exportAsString(); assertXPath(descString, "/arquillian/group/@qualifier", GROUP_NAME_1); assertXPath(descString, "/arquillian/group/container/@qualifier", CONTAINER_NAME_1); ArquillianDescriptor descriptor = create(descString); Assert.assertEquals(1, descriptor.getGroups().size()); Assert.assertEquals(1, descriptor.getGroups().get(0).getGroupContainers().size()); Assert.assertEquals(CONTAINER_NAME_1, descriptor.getGroups().get(0).getGroupContainers().get(0).getContainerName()); }
@Test public void shouldBeAbleToAddContainer() throws Exception { desc = create() .container(CONTAINER_NAME_1).setDefault() .container(CONTAINER_NAME_2).exportAsString(); assertXPath(desc, "/arquillian/container/@qualifier", CONTAINER_NAME_1, CONTAINER_NAME_2); assertXPath(desc, "/arquillian/container[1]/@default", "true"); ArquillianDescriptor descriptor = create(desc); Assert.assertEquals(2, descriptor.getContainers().size()); Assert.assertEquals(CONTAINER_NAME_1, descriptor.getContainers().get(0).getContainerName()); Assert.assertTrue(descriptor.getContainers().get(0).isDefault()); Assert.assertEquals(CONTAINER_NAME_2, descriptor.getContainers().get(1).getContainerName()); }
@Test public void shouldBeAbleToAddContainerAndOverwrite() throws Exception { desc = create() .container(CONTAINER_NAME_1).setDefault() .container(CONTAINER_NAME_1).setContainerName(CONTAINER_NAME_2) .exportAsString(); assertXPath(desc, "/arquillian/container/@qualifier", CONTAINER_NAME_2); assertXPath(desc, "/arquillian/container/@default", "true"); ArquillianDescriptor descriptor = create(desc); Assert.assertEquals(1, descriptor.getContainers().size()); Assert.assertEquals(CONTAINER_NAME_2, descriptor.getContainers().get(0).getContainerName()); Assert.assertTrue(descriptor.getContainers().get(0).isDefault()); }
@Test public void shouldBeAbleToAddContainerAndOverwrite() throws Exception { System.setProperty(KEY_CONTAINER_NAME_1, CONTAINER_NAME_1); System.setProperty(KEY_CONTAINER_NAME_2, CONTAINER_NAME_2); desc = create() .container(CONTAINER_NAME_1).setDefault() .container(CONTAINER_NAME_1).setContainerName(setPropKey(KEY_CONTAINER_NAME_2)); desc = new SystemPropertiesConfigurationPlaceholderResolver().resolve(desc); final String descString = desc.exportAsString(); assertXPath(descString, "/arquillian/container/@qualifier", CONTAINER_NAME_2); assertXPath(descString, "/arquillian/container/@default", "true"); ArquillianDescriptor descriptor = create(descString); Assert.assertEquals(1, descriptor.getContainers().size()); Assert.assertEquals(CONTAINER_NAME_2, descriptor.getContainers().get(0).getContainerName()); Assert.assertTrue(descriptor.getContainers().get(0).isDefault()); }
@Test public void shouldBeAbleToAddContainer() throws Exception { System.setProperty(KEY_CONTAINER_NAME_1, CONTAINER_NAME_1); System.setProperty(KEY_CONTAINER_NAME_2, CONTAINER_NAME_2); desc = create() .container(setPropKey(KEY_CONTAINER_NAME_1)).setDefault() .container(setPropKey(KEY_CONTAINER_NAME_2)); desc = new SystemPropertiesConfigurationPlaceholderResolver().resolve(desc); final String descString = desc.exportAsString(); assertXPath(descString, "/arquillian/container/@qualifier", CONTAINER_NAME_1, CONTAINER_NAME_2); assertXPath(descString, "/arquillian/container[1]/@default", "true"); ArquillianDescriptor descriptor = create(descString); Assert.assertEquals(2, descriptor.getContainers().size()); Assert.assertEquals(CONTAINER_NAME_1, descriptor.getContainers().get(0).getContainerName()); Assert.assertTrue(descriptor.getContainers().get(0).isDefault()); Assert.assertEquals(CONTAINER_NAME_2, descriptor.getContainers().get(1).getContainerName()); }
.setGroupDefault() .container(setPropKey(KEY_CONTAINER_NAME_1)) .container(setPropKey(KEY_CONTAINER_NAME_2)) .group(GROUP_NAME_2) .container(setPropKey(KEY_CONTAINER_NAME_3));
@Test public void shouldBeAbleToAddGroupWithContainer() throws Exception { desc = create() .group(GROUP_NAME_1) .setGroupDefault() .container(CONTAINER_NAME_1) .container(CONTAINER_NAME_2) .group(GROUP_NAME_2) .container(CONTAINER_NAME_3).exportAsString(); assertXPath(desc, "/arquillian/group/@qualifier", GROUP_NAME_1, GROUP_NAME_2); assertXPath(desc, "/arquillian/group[1]/@default", true); assertXPath(desc, "/arquillian/group/container/@qualifier", CONTAINER_NAME_1, CONTAINER_NAME_2, CONTAINER_NAME_3); ArquillianDescriptor descriptor = create(desc); Assert.assertEquals(2, descriptor.getGroups().size()); Assert.assertEquals(2, descriptor.getGroups().get(0).getGroupContainers().size()); Assert.assertEquals(1, descriptor.getGroups().get(1).getGroupContainers().size()); Assert.assertEquals(GROUP_NAME_1, descriptor.getGroups().get(0).getGroupName()); Assert.assertEquals(CONTAINER_NAME_1, descriptor.getGroups().get(0).getGroupContainers().get(0).getContainerName()); Assert.assertEquals(CONTAINER_NAME_2, descriptor.getGroups().get(0).getGroupContainers().get(1).getContainerName()); Assert.assertEquals(GROUP_NAME_2, descriptor.getGroups().get(1).getGroupName()); Assert.assertEquals(CONTAINER_NAME_3, descriptor.getGroups().get(1).getGroupContainers().get(0).getContainerName()); }
@Test public void shouldBeAbleToAddContainerWithConfiguration() throws Exception { desc = create() .container(CONTAINER_NAME_1) .property(PROPERTY_NAME_1, PROPERTY_VALUE_1) .container(CONTAINER_NAME_2) .property(PROPERTY_NAME_2, PROPERTY_VALUE_2) .exportAsString(); assertXPath(desc, "/arquillian/container[1]/@qualifier", CONTAINER_NAME_1); assertXPath(desc, "/arquillian/container[1]/configuration/property/@name", PROPERTY_NAME_1); assertXPath(desc, "/arquillian/container[1]/configuration/property/text()", PROPERTY_VALUE_1); assertXPath(desc, "/arquillian/container[2]/@qualifier", CONTAINER_NAME_2); assertXPath(desc, "/arquillian/container[2]/configuration/property/@name", PROPERTY_NAME_2); assertXPath(desc, "/arquillian/container[2]/configuration/property/text()", PROPERTY_VALUE_2); ArquillianDescriptor descriptor = create(desc); Assert.assertEquals(2, descriptor.getContainers().size()); Assert.assertEquals(CONTAINER_NAME_1, descriptor.getContainers().get(0).getContainerName()); Assert.assertEquals(PROPERTY_VALUE_1, descriptor.getContainers().get(0).getContainerProperties().get(PROPERTY_NAME_1)); Assert.assertEquals(PROPERTY_VALUE_1, descriptor.getContainers().get(0).getContainerProperty(PROPERTY_NAME_1)); Assert.assertEquals(CONTAINER_NAME_2, descriptor.getContainers().get(1).getContainerName()); Assert.assertEquals(PROPERTY_VALUE_2, descriptor.getContainers().get(1).getContainerProperties().get(PROPERTY_NAME_2)); Assert.assertEquals(PROPERTY_VALUE_2, descriptor.getContainers().get(1).getContainerProperty(PROPERTY_NAME_2)); }
.container(CONTAINER_NAME_1) .property(PROPERTY_NAME_1, setPropKey(KEY_PROPERTY_VALUE_1)) .container(CONTAINER_NAME_2) .property(PROPERTY_NAME_2, setPropKey(KEY_PROPERTY_VALUE_2)) .property(PROPERTY_NAME_4, setPropKey(KEY_ENV_NAME_1));