Details
-
Type:
Feature Request
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: 1.0.0.Beta1
-
Component/s: Runtime Enricher SPI
-
Labels:None
Description
The TestCase should be able to deploy other deployments as part of it's lifecycle.
E.g.
- Test the effects of a Deployer
- Test lifecycles of Bundles
The API needs to be extendable. some Containers might support start/stop of a deployment as well as deploy/undeploy.
We need to make a Enricher that can inject a wrapped version of the DeployableContainer in a Deployer API. Everything needed is in the current Context etc, but we need to define a Deployer API(DeployableContainer.deploy/undeploy without the Context).
This is easy to create for RunMode AS_CLIENT since we're always on the Client side of things and that's where we're already doing a Deployment, but a bit trickier in IN_CONTAINER. When IN_CONTAINER the testcase is running inside the Container under a different ContainerProfile (CONTAINER) which does not have a DeployableContainer defined(we're all ready there so). For this to work the Container needs to know how to deploy to itself from the inside and needs to package up the classes needed etc..
This might prove to be difficult to do in some of the Embedded Containers (OpenEJB / Weld) where the whole Container is one deployment.