Uploaded image for project: 'Arquillian'
  1. Arquillian
  2. ARQ-1216

More intelligent and flexible container and extension configuration

    XMLWordPrintable

Details

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              dan.j.allen Dan Allen (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: