public void export(@Observes BeforeDeploy event) throws Exception { String deploymentOutputFolder = System.getProperty(ARQUILLIAN_TOOLING_DEPLOYMENT_FOLDER); if (deploymentOutputFolder == null) // tooling not activated, nothing to do { return; } Archive<?> deployment = event.getDeployment().getTestableArchive(); // deployment not in context?, nothing to do if (deployment == null) { return; } /* TestClass testClass = event.getTestClass(); String deploymentContent = deployment.toString(new ToolingDeploymentFormatter(testClass.getJavaClass())); writeOutToFile( new File(deploymentOutputFolder + "/" + testClass.getName() + ".xml"), deploymentContent); */ }
public void export(@Observes BeforeDeploy event) throws Exception { String deploymentOutputFolder = System.getProperty(ARQUILLIAN_TOOLING_DEPLOYMENT_FOLDER); if (deploymentOutputFolder == null) // tooling not activated, nothing to do { return; } Archive<?> deployment = event.getDeployment().getTestableArchive(); // deployment not in context?, nothing to do if (deployment == null) { return; } /* TestClass testClass = event.getTestClass(); String deploymentContent = deployment.toString(new ToolingDeploymentFormatter(testClass.getJavaClass())); writeOutToFile( new File(deploymentOutputFolder + "/" + testClass.getName() + ".xml"), deploymentContent); */ }
@Override public InputStream getDeployment(String name) { DeploymentScenario scenario = deploymentScenario.get(); if (scenario == null) { throw new IllegalArgumentException("No deployment scenario in context"); } Deployment deployment = scenario.deployment(new DeploymentTargetDescription(name)); if (deployment == null) { throw new IllegalArgumentException("No deployment in context found with name " + name); } DeploymentDescription description = deployment.getDescription(); if (description.isArchiveDeployment()) { Archive<?> archive = description.testable() ? description.getTestableArchive() : description.getArchive(); return archive.as(ZipExporter.class).exportAsInputStream(); } else { return new ByteArrayInputStream(description.getDescriptor().exportAsString().getBytes()); } } }
@Override public InputStream getDeployment(String name) { DeploymentScenario scenario = deploymentScenario.get(); if (scenario == null) { throw new IllegalArgumentException("No deployment scenario in context"); } Deployment deployment = scenario.deployment(new DeploymentTargetDescription(name)); if (deployment == null) { throw new IllegalArgumentException("No deployment in context found with name " + name); } DeploymentDescription description = deployment.getDescription(); if (description.isArchiveDeployment()) { Archive<?> archive = description.testable() ? description.getTestableArchive() : description.getArchive(); return archive.as(ZipExporter.class).exportAsInputStream(); } else { return new ByteArrayInputStream(description.getDescriptor().exportAsString().getBytes()); } } }
deployment = event.getDeployment().getTestableArchive(); } else { deployment = event.getDeployment().getArchive();
deployment = event.getDeployment().getTestableArchive(); } else { deployment = event.getDeployment().getArchive();
@Override public Void call() throws Exception { DeployableContainer<?> deployableContainer = event.getDeployableContainer(); Deployment deployment = event.getDeployment(); DeploymentDescription description = deployment.getDescription(); deployEvent.fire(new BeforeUnDeploy(deployableContainer, description)); try { if (deployment.getDescription().isArchiveDeployment()) { try { deployableContainer.undeploy( description.getTestableArchive() != null ? description.getTestableArchive() : description.getArchive()); } catch (Exception e) { if (!deployment.hasDeploymentError()) { throw e; } } } else { deployableContainer.undeploy(description.getDescriptor()); } } finally { deployment.undeployed(); } deployEvent.fire(new AfterUnDeploy(deployableContainer, description)); return null; } });
@Override public Void call() throws Exception { DeployableContainer<?> deployableContainer = event.getDeployableContainer(); Deployment deployment = event.getDeployment(); DeploymentDescription description = deployment.getDescription(); deployEvent.fire(new BeforeUnDeploy(deployableContainer, description)); try { if (deployment.getDescription().isArchiveDeployment()) { try { deployableContainer.undeploy( description.getTestableArchive() != null ? description.getTestableArchive() : description.getArchive()); } catch (Exception e) { if (!deployment.hasDeploymentError()) { throw e; } } } else { deployableContainer.undeploy(description.getDescriptor()); } } finally { deployment.undeployed(); } deployEvent.fire(new AfterUnDeploy(deployableContainer, description)); return null; } });
@Override public Void call() throws Exception { DeployableContainer<?> deployableContainer = event.getDeployableContainer(); Deployment deployment = event.getDeployment(); DeploymentDescription deploymentDescription = deployment.getDescription(); /* * TODO: should the DeploymentDescription producer some how be automatically registered ? * Or should we just 'know' who is the first one to create the context */ deploymentDescriptionProducer.set(deploymentDescription); deploymentProducer.set(deployment); deployEvent.fire(new BeforeDeploy(deployableContainer, deploymentDescription)); try { if (deploymentDescription.isArchiveDeployment()) { protocolMetadata.set(deployableContainer.deploy( deploymentDescription.getTestableArchive() != null ? deploymentDescription.getTestableArchive() : deploymentDescription.getArchive())); } else { deployableContainer.deploy(deploymentDescription.getDescriptor()); } deployment.deployed(); } catch (Exception e) { deployment.deployedWithError(e); throw e; } deployEvent.fire(new AfterDeploy(deployableContainer, deploymentDescription)); return null; } });
@Override public Void call() throws Exception { DeployableContainer<?> deployableContainer = event.getDeployableContainer(); Deployment deployment = event.getDeployment(); DeploymentDescription deploymentDescription = deployment.getDescription(); /* * TODO: should the DeploymentDescription producer some how be automatically registered ? * Or should we just 'know' who is the first one to create the context */ deploymentDescriptionProducer.set(deploymentDescription); deploymentProducer.set(deployment); deployEvent.fire(new BeforeDeploy(deployableContainer, deploymentDescription)); try { if (deploymentDescription.isArchiveDeployment()) { protocolMetadata.set(deployableContainer.deploy( deploymentDescription.getTestableArchive() != null ? deploymentDescription.getTestableArchive() : deploymentDescription.getArchive())); } else { deployableContainer.deploy(deploymentDescription.getDescriptor()); } deployment.deployed(); } catch (Exception e) { deployment.deployedWithError(e); throw e; } deployEvent.fire(new AfterDeploy(deployableContainer, deploymentDescription)); return null; } });
@Test public void shouldDeployAllManagedDeployments() throws Exception { registry.create(container1, serviceLoader).setState(State.STARTED); registry.create(container2, serviceLoader).setState(State.STARTED); fire(new DeployManagedDeployments()); assertEventFired(DeployDeployment.class, 3); assertEventFiredInContext(DeployDeployment.class, ContainerContext.class); assertEventFiredInContext(DeployDeployment.class, DeploymentContext.class); assertEventFired(BeforeDeploy.class, 3); assertEventFiredInContext(BeforeDeploy.class, ContainerContext.class); assertEventFiredInContext(BeforeDeploy.class, DeploymentContext.class); assertEventFired(AfterDeploy.class, 3); assertEventFiredInContext(AfterDeploy.class, ContainerContext.class); assertEventFiredInContext(AfterDeploy.class, DeploymentContext.class); verify(deployableContainer1, times(1)).deploy(isA(Archive.class)); verify(deployableContainer1, times(1)).deploy(isA(Descriptor.class)); verify(deployableContainer2, times(1)).deploy(isA(Archive.class)); InOrder ordered = inOrder(deployableContainer1, deployableContainer2); ordered.verify(deployableContainer2, times(1)).deploy( scenario.deployment(new DeploymentTargetDescription(DEPLOYMENT_2_NAME)) .getDescription() .getTestableArchive()); ordered.verify(deployableContainer1, times(1)).deploy( scenario.deployment(new DeploymentTargetDescription(DEPLOYMENT_1_NAME)).getDescription().getArchive()); ordered.verify(deployableContainer1, times(1)).deploy( scenario.deployment(new DeploymentTargetDescription(DEPLOYMENT_4_NAME)).getDescription().getDescriptor()); }
scenario.deployment(new DeploymentTargetDescription(DEPLOYMENT_2_NAME)) .getDescription() .getTestableArchive());