Details
-
Type:
Feature Request
-
Status: Closed (View Workflow)
-
Priority:
Minor
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: 1.0.0.Alpha5
-
Component/s: None
-
Labels:None
-
Forum Reference:
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
- blocks
-
ARQ-199
Add support to controll multiple framework instances
-
- Closed
-
- is blocked by
-
ARQ-152
Support multiple container configurations for same container type
-
- Closed
-
-
ARQ-153
Protocol configuration element should be separate from Container
-
- Closed
-
-
ARQ-124
Move jndi.properties out as Configuration
-
- Closed
-
- is related to
-
ARQ-293
Support container targeted deployments
-
- Open
-
- relates to
-
ARQ-195
Expose a Deployer API to the TestCase
-
- Closed
-
-
ARQ-313
ARQ should support Multi-module (Multiple WAR deployments) testing
-
- Closed
-
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)