StandaloneArtifactDeployer implements ArtifactDeployer { @Override public void undeployApplication() throws DeploymentException { File muleHome = deployment.getMuleHome(); if (!muleHome.exists()) { throw new DeploymentException("MULE_HOME directory does not exist. Please verify the deployment configuration"); } log.info("Using MULE_HOME: " + muleHome); undeploy(muleHome); } StandaloneArtifactDeployer(Deployment deployment, MuleProcessController controller, DeployerLog log, Prober prober);  StandaloneArtifactDeployer(Deployment deployment, DeployerLog log); void waitForDeployments(); void verifyMuleIsStarted(); void addDomainFromstandaloneDeployment(StandaloneDeployment configuration); @Override String toString(); @Override void deployDomain(); @Override void undeployDomain(); @Override void deployApplication(); @Override void undeployApplication();  }
@Test(expected = DeploymentException.class) public void undeployApplicationNotExistentMuleHomeTest() throws DeploymentException { muleHome.delete(); deployer.undeployApplication(); }
@Test public void undeployApplicationTest() throws DeploymentException { doNothing().when(deployerSpy).undeploy(muleHome); deployerSpy.undeployApplication(); verify(deployerSpy, times(1)).undeploy(muleHome); }