package org.eclipse.equinox.p2.tests.planner; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.equinox.internal.p2.director.ProfileChangeRequest; import org.eclipse.equinox.internal.provisional.p2.director.PlannerStatus; import org.eclipse.equinox.internal.provisional.p2.director.RequestStatus; 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.tests.AbstractProvisioningTest; public class TestNoopChangeRequest extends AbstractProvisioningTest { private IInstallableUnit a; private IPlanner planner; private IEngine engine; private IProfile profile; @Override protected void setUp() throws Exception { // TODO Auto-generated method stub super.setUp(); a = createIU("A"); createTestMetdataRepository(new IInstallableUnit[] {a}); planner = createPlanner(); engine = createEngine(); profile = createProfile("TestProfile." + getName()); assertOK(install(profile, new IInstallableUnit[] {a}, true, planner, engine)); } public void testNoopInstall() { ProfileChangeRequest pcr = new ProfileChangeRequest(profile); pcr.add(a); pcr.remove(a); IProvisioningPlan plan = planner.getProvisioningPlan(pcr, null, new NullProgressMonitor()); PlannerStatus plannerStatus = plan.getStatus() instanceof PlannerStatus ? (PlannerStatus) plan.getStatus() : null; RequestStatus rs = plannerStatus.getRequestChanges().get(a); assertEquals(IStatus.OK, rs.getSeverity()); } }