public void testUninstallFixPackageOnlyRemovesOwnArtifactsOk() throws Exception
{
DeploymentPackageBuilder dpBuilder = createNewDeploymentPackageBuilder("1.0.0");
dpBuilder.add(dpBuilder.createBundleResource().setUrl(getTestBundle("bundle1")));
DeploymentPackage dp1 = installDeploymentPackage(dpBuilder);
assertNotNull("No deployment package returned?!", dp1);
assertEquals("Expected a single deployment package?!", 1, countDeploymentPackages());
dpBuilder = createNewDeploymentPackageBuilder("1.0.0");
dpBuilder.add(dpBuilder.createBundleResource().setUrl(getTestBundle("bundle2")));
DeploymentPackage dp2 = installDeploymentPackage(dpBuilder);
assertNotNull("No deployment package returned?!", dp2);
awaitRefreshPackagesEvent();
assertEquals("Expected two deployment packages?!", 2, countDeploymentPackages());
// add bundle2 through fix package...
dpBuilder = createDeploymentPackageBuilder(dpBuilder.getSymbolicName(), "1.0.1");
dpBuilder.setFixPackage("[1.0,2.0)").add(dpBuilder.createBundleResource().setUrl(getTestBundle("bundle3"))).add(dpBuilder.createBundleResource().setUrl(getTestBundle("bundle2")).setMissing());
DeploymentPackage dp3 = installDeploymentPackage(dpBuilder);
assertNotNull("No deployment package returned?!", dp3);
awaitRefreshPackagesEvent();
assertEquals("Expected two deployment packages?!", 2, countDeploymentPackages());
assertBundleExists(getSymbolicName("bundle1"), "1.0.0");
assertBundleExists(getSymbolicName("bundle2"), "1.0.0");
assertBundleExists(getSymbolicName("bundle3"), "1.0.0");
// Uninstall the deployment package; should yield the initial situation again...
dp3.uninstall();
awaitRefreshPackagesEvent();
assertEquals("Expected a single deployment package?!", 1, countDeploymentPackages());