Arquillian
  1. Arquillian
  2. ARQ-196

Should support controlling multiple Containers

    Details

    • Type: Feature Request Feature Request
    • Status: Closed Closed (View Workflow)
    • Priority: Minor Minor
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 1.0.0.Alpha5
    • Component/s: None
    • Labels:
      None
    • Similar Issues:
      Show 10 results 

      Description

      For clustering and OSGi distributed test controlling the lifecycle of multiple Containers at the same time is needed. The same can be used for remoting between two containers etc.

      The Deployer API should then probably support deploying to a specific instance.

        Issue Links

          Activity

          Hide
          Aslak Knutsen
          added a comment -

          With multiple Containers we should support any number of any type of containers.

          e.g.
          Connect and deploy against a JBoss AS 5.1 and a GlassFish 3 in the same run while running the test case in a Weld Embedded container.

          To support multiple different Containers we need ClassPath control so the Client libs don't mix. We can open up arquillian.xml with maven artifact style configuration for the Container deps using the new Sonatype Aether lib to fetch them and setup the ClassLoaders.
          https://docs.sonatype.org/display/AETHER/Home

          We should open up for multiple @Deployment methods on a TestCase with a ID ref to which container to deploy to:

          e.g.

          @Deployment(MyTestScenario.BACKEND_SYSTEM_1)
          public static Archive<?> create() ..

          or

          @TargetContainer(MyTestScenario.FRONTEND_SYSTEM_1)
          @Deployment
          public static Archive<?> create() ..

          For the Exposed Deployer API we need the same style of support. (ARQ-195)

          e.g.

          @ArquillianResource(MyTestScenario.BACKEND_SYSTEM_1)
          Deployer backendDeployer;

          or

          @TargetContainer(MyTestScenario.FRONTEND_SYSTEM_1)
          @ArquillianResource
          Deployer backendDeployer;

          or

          Deployer.deploy(MyTestScenario.BACKEND_SYSTEM_1, archive)

          Show
          Aslak Knutsen
          added a comment - With multiple Containers we should support any number of any type of containers. e.g. Connect and deploy against a JBoss AS 5.1 and a GlassFish 3 in the same run while running the test case in a Weld Embedded container. To support multiple different Containers we need ClassPath control so the Client libs don't mix. We can open up arquillian.xml with maven artifact style configuration for the Container deps using the new Sonatype Aether lib to fetch them and setup the ClassLoaders. https://docs.sonatype.org/display/AETHER/Home We should open up for multiple @Deployment methods on a TestCase with a ID ref to which container to deploy to: e.g. @Deployment(MyTestScenario.BACKEND_SYSTEM_1) public static Archive<?> create() .. or @TargetContainer(MyTestScenario.FRONTEND_SYSTEM_1) @Deployment public static Archive<?> create() .. For the Exposed Deployer API we need the same style of support. ( ARQ-195 ) e.g. @ArquillianResource(MyTestScenario.BACKEND_SYSTEM_1) Deployer backendDeployer; or @TargetContainer(MyTestScenario.FRONTEND_SYSTEM_1) @ArquillianResource Deployer backendDeployer; or Deployer.deploy(MyTestScenario.BACKEND_SYSTEM_1, archive)
          Hide
          Aslak Knutsen
          added a comment -

          Needed to be able to go forward on this issue.

          Show
          Aslak Knutsen
          added a comment - Needed to be able to go forward on this issue.
          Show
          Aslak Knutsen
          added a comment - https://github.com/aslakknutsen/arquillian/tree/the_bigger_picture

            People

            • Assignee:
              Aslak Knutsen
              Reporter:
              Aslak Knutsen
            • Votes:
              1 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: