public void testGetAction() { final ArrayList actionsList1 = new ArrayList(); InstallableUnitPhase phase1 = new InstallableUnitPhase("test", 1) { protected List<ProvisioningAction> getActions(InstallableUnitOperand operand) { List<ProvisioningAction> actions = getActions(operand.second(), "test1"); actionsList1.addAll(actions); return actions; } }; final ArrayList actionsList2 = new ArrayList(); InstallableUnitPhase phase2 = new InstallableUnitPhase("test", 1) { protected List<ProvisioningAction> getActions(InstallableUnitOperand operand) { List<ProvisioningAction> actions = getActions(operand.second(), "test2"); actionsList2.addAll(actions); return actions; } }; PhaseSet phaseSet = new TestPhaseSet(new Phase[] {phase1, phase2}); IProfile profile = createProfile("PhaseTest"); Map instructions = new HashMap(); instructions.put("test1", MetadataFactory.createTouchpointInstruction("test1.test()", null)); instructions.put("test2", MetadataFactory.createTouchpointInstruction("test2.test()", null)); ITouchpointData touchpointData = MetadataFactory.createTouchpointData(instructions); IInstallableUnit unit = createIU( "test", Version.create("1.0.0"), null, NO_REQUIRES, new IProvidedCapability[0], NO_PROPERTIES, ITouchpointType.NONE, touchpointData, false); IProvisioningPlan plan = engine.createPlan(profile, null); plan.addInstallableUnit(unit); IStatus status = engine.perform(plan, phaseSet, new NullProgressMonitor()); if (!status.isOK()) { fail(status.toString()); } assertEquals( TestAction.class, ((ParameterizedProvisioningAction) actionsList1.get(0)).getAction().getClass()); assertEquals( TestAction.class, ((ParameterizedProvisioningAction) actionsList2.get(0)).getAction().getClass()); }
protected void setUp() throws Exception { super.setUp(); a1 = createIU("A", Version.create("1.0.0"), true); createIU( "A", Version.create("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, true, MetadataFactory.createUpdateDescriptor("A", VersionRange.emptyRange, 0, "foo bar"), null); a2 = createIU("A", Version.create("2.0.0"), true); createTestMetdataRepository(new IInstallableUnit[] {a1, a2}); profile = createProfile("TestProfile." + getName()); planner = createPlanner(); engine = createEngine(); }
protected void setUp() throws Exception { super.setUp(); a1 = createIU("A", Version.createOSGi(1, 0, 0), true); a2 = createIU("A", Version.create("2.0.0"), true); b1 = createIU("B", Version.create("1.0.0"), true); b2 = createIU("B", Version.create("2.0.0"), true); c2 = createIU("C", Version.create("2.0.0"), true); IRequirement[] req = new IRequirement[3]; req[0] = MetadataFactory.createRequirement( IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0)"), null, false, true); req[1] = MetadataFactory.createRequirement( IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true); req[2] = MetadataFactory.createRequirement( IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[2.0.0, 3.1.0)"), null, false, true); f1 = createIU("F", Version.createOSGi(1, 0, 0), req); IRequirementChange changeA = MetadataFactory.createRequirementChange( MetadataFactory.createRequirement( IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequirement( IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 3.0.0)"), null, false, false, true)); IRequirement[][] scope = new IRequirement[][] { { MetadataFactory.createRequirement( IInstallableUnit.NAMESPACE_IU_ID, "F", VersionRange.emptyRange, null, false, false, false) } }; p1 = createIUPatch( "P", Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, new IRequirementChange[] {changeA}, scope, null, new IRequirement[0]); IRequirementChange changeB = MetadataFactory.createRequirementChange( MetadataFactory.createRequirement( IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequirement( IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0, 3.0.0)"), null, false, false, true)); IRequirement[][] scopePP = new IRequirement[][] { { MetadataFactory.createRequirement( IInstallableUnit.NAMESPACE_IU_ID, "F", VersionRange.emptyRange, null, false, false, false) } }; r1 = createIUPatch( "R", Version.create("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, new IRequirementChange[] {changeB}, scopePP, null, new IRequirement[0]); createTestMetdataRepository(new IInstallableUnit[] {a1, a2, b1, b2, c2, f1, p1, r1}); profile1 = createProfile("TestProfile." + getName()); planner = createPlanner(); engine = createEngine(); }