Arquillian
  1. Arquillian
  2. ARQ-196

Should support controlling multiple Containers

    Details

    • Type: Feature Request Feature Request
    • Status: 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.

        Gliffy Diagrams

          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:

                  Development