-
Enhancement
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
Story:
In order to make activating or selecting container configuration easier
As a tester
I want to be able to use ids, profiles and qualifiers in the configuration so Arquillian can automatically select the correct configuration in most cases
Scenarios:
Given that I specify an id in the container configuration
When I use a container adapter
Then Arquillian should be able to activate that configuration by matching the globally unique id for that container with the id of the container configuration
Given that I define multiple container configurations with the same id, each with unique profile attributes
: And I define the property active.container.profile in arquillian-activation.properties with a value equal to one of the profiles
When I run the test
Then Arquillian should select the container configuration for the profile that I activated
Given specify a qualifier at a @Drone injection point
: And I include a webdriver extension configuration with a qualifier attribute whose value matches the qualifier at the injection point
When I run the test
Then Arquillian Drone should select the extension configuration that uses that qualifier
Rationale:
First and foremost, container adapters should have globally unique ids. This allows Arquillian to be able to link a container configuration to the adapter in use automatically by matching the container adapter id with the id attribute on the container configuration node.
If there are multiple configurations for the same adapter, then the configurations must each have a unique profile attribute value (excluding the profile attribute implies a default value).
Therefore, it's only necessary to activate a container configuration when there are multiple configurations for the same adapter and you don't want to use the default selection.
The default selection is either the container configuration which specifies default="true" or, if one is not explicitly marked, the container configuration without a profile attribute. If neither is the case, then an initialization error should be thrown.
- is related to
-
ARQ-906 Provide SPI for container configuration activation
- Open