Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Bull2010-08-18 03:50:22 +0000
committerIan Bull2010-08-18 03:50:22 +0000
commit0819d0a376f8b467e4a671214d0d6618364e7c8f (patch)
tree7ad43b2ae76f359ed1d78384447b448f5e723817 /bundles/org.eclipse.equinox.p2.tests
parent395dab0eb63017a572239265b37a9239cc5135fe (diff)
downloadrt.equinox.p2-0819d0a376f8b467e4a671214d0d6618364e7c8f.tar.gz
rt.equinox.p2-0819d0a376f8b467e4a671214d0d6618364e7c8f.tar.xz
rt.equinox.p2-0819d0a376f8b467e4a671214d0d6618364e7c8f.zip
Added two tests cases that demonstrate bugs 322970 and 322971
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.tests')
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorApplicationTest.java55
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/epp_profile/epp.package.java.profile/1282100308385.profile.gzbin0 -> 142561 bytes
2 files changed, 53 insertions, 2 deletions
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorApplicationTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorApplicationTest.java
index 946a59d06..3ded26f9a 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorApplicationTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorApplicationTest.java
@@ -17,13 +17,20 @@ import java.net.MalformedURLException;
import java.net.URI;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.equinox.internal.p2.director.app.DirectorApplication;
+import org.eclipse.equinox.internal.p2.engine.*;
+import org.eclipse.equinox.internal.p2.metadata.ResolvedInstallableUnit;
+import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
import org.eclipse.equinox.internal.simpleconfigurator.utils.URIUtil;
+import org.eclipse.equinox.p2.core.IProvisioningAgent;
import org.eclipse.equinox.p2.core.ProvisionException;
+import org.eclipse.equinox.p2.engine.*;
+import org.eclipse.equinox.p2.metadata.IInstallableUnit;
+import org.eclipse.equinox.p2.planner.IPlanner;
+import org.eclipse.equinox.p2.query.QueryUtil;
import org.eclipse.equinox.p2.repository.IRepositoryManager;
import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-import org.eclipse.equinox.p2.tests.StringBufferStream;
+import org.eclipse.equinox.p2.tests.*;
/**
* Various automated tests of the {@link IDirector} API.
@@ -83,6 +90,50 @@ public class DirectorApplicationTest extends AbstractProvisioningTest {
return args;
}
+ public void testEPPProfileUpdateRoaming() {
+ IProvisioningAgent agent = getAgent();
+ File eppProfileFolder = new File(TestActivator.getTestDataFolder(), "epp_profile");
+ SimpleProfileRegistry registry = new SimpleProfileRegistry(agent, eppProfileFolder);
+ IProfile eppProfile = registry.getProfile("epp.package.java");
+
+ IPlanner planner = (IPlanner) agent.getService(IPlanner.SERVICE_NAME);
+ ProfileChangeRequest request = new ProfileChangeRequest(eppProfile);
+ request.setProfileProperty(IProfile.PROP_ROAMING, "true"); //$NON-NLS-1$
+ ProvisioningContext context = new ProvisioningContext(agent);
+ context.setMetadataRepositories(new URI[0]);
+ context.setArtifactRepositories(new URI[0]);
+ IProvisioningPlan result = planner.getProvisioningPlan(request, context, new NullProgressMonitor());
+
+ assertEquals(1, ((ProvisioningPlan) result).getOperands().length);
+ }
+
+ public void testEPPProfileRemoveIU() {
+ IProvisioningAgent agent = getAgent();
+ File eppProfileFolder = new File(TestActivator.getTestDataFolder(), "epp_profile");
+ SimpleProfileRegistry registry = new SimpleProfileRegistry(agent, eppProfileFolder);
+ IProfile eppProfile = registry.getProfile("epp.package.java");
+
+ IPlanner planner = (IPlanner) agent.getService(IPlanner.SERVICE_NAME);
+ ProfileChangeRequest request = new ProfileChangeRequest(eppProfile);
+ IInstallableUnit iu = eppProfile.query(QueryUtil.createIUQuery("ch.qos.logback.slf4j"), new NullProgressMonitor()).iterator().next();
+ request.remove(iu);
+ request.setProfileProperty(IProfile.PROP_ROAMING, "true"); //$NON-NLS-1$
+ ProvisioningContext context = new ProvisioningContext(agent);
+ context.setMetadataRepositories(new URI[0]);
+ context.setArtifactRepositories(new URI[0]);
+ IProvisioningPlan result = planner.getProvisioningPlan(request, context, new NullProgressMonitor());
+
+ Operand[] operands = ((ProvisioningPlan) result).getOperands();
+ assertTrue(operands.length > 0);
+ for (Operand operand : operands) {
+ if (operand instanceof InstallableUnitOperand) {
+ InstallableUnitOperand iuOperand = (InstallableUnitOperand) operand;
+ ResolvedInstallableUnit first = (ResolvedInstallableUnit) iuOperand.first();
+ assertEquals(1, first.getFragments().size());
+ }
+ }
+ }
+
/**
* Test the application's behaviour given a single metadata and artifact repository where both are invalid
*/
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/epp_profile/epp.package.java.profile/1282100308385.profile.gz b/bundles/org.eclipse.equinox.p2.tests/testData/epp_profile/epp.package.java.profile/1282100308385.profile.gz
new file mode 100644
index 000000000..85cc9e22b
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/epp_profile/epp.package.java.profile/1282100308385.profile.gz
Binary files differ

Back to the top