Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Dufour2019-03-21 12:35:14 +0000
committerGuillaume Dufour2019-03-26 13:11:49 +0000
commit26419f854298994e7b0dc0f877e2341ca22ca0ff (patch)
tree334351d40c78d2e2a2e377cdc93da42f411b51fe /bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox
parentf8826cbd2118a82aa411e3618be87949383b703e (diff)
downloadrt.equinox.p2-26419f854298994e7b0dc0f877e2341ca22ca0ff.tar.gz
rt.equinox.p2-26419f854298994e7b0dc0f877e2341ca22ca0ff.tar.xz
rt.equinox.p2-26419f854298994e7b0dc0f877e2341ca22ca0ff.zip
Change-Id: Ide139d91c50befe7eab1b16f7e3a549358ea09d8 Signed-off-by: Guillaume Dufour <guillaume.duff@gmail.com>
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox')
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java1
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/InstallableUnitPatchTest.java59
2 files changed, 60 insertions, 0 deletions
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java
index df8db6349..50726068a 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/AllTests.java
@@ -30,6 +30,7 @@ public class AllTests extends TestCase {
suite.addTestSuite(FragmentMethodTest.class);
suite.addTestSuite(FragmentTest.class);
suite.addTestSuite(InstallableUnitTest.class);
+ suite.addTestSuite(InstallableUnitPatchTest.class);
suite.addTestSuite(IUPersistenceTest.class);
suite.addTestSuite(LatestIUTest.class);
suite.addTestSuite(LicenseTest.class);
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/InstallableUnitPatchTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/InstallableUnitPatchTest.java
new file mode 100644
index 000000000..ed71aa610
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/InstallableUnitPatchTest.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Guillaume Dufour and others.
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Guillaume Dufour - test lifecycle requirement overwrite
+ *******************************************************************************/
+package org.eclipse.equinox.p2.tests.metadata;
+
+import java.util.Arrays;
+import org.eclipse.equinox.p2.metadata.IInstallableUnit;
+import org.eclipse.equinox.p2.metadata.IInstallableUnitPatch;
+import org.eclipse.equinox.p2.metadata.IRequirement;
+import org.eclipse.equinox.p2.metadata.MetadataFactory;
+import org.eclipse.equinox.p2.metadata.Version;
+import org.eclipse.equinox.p2.metadata.VersionRange;
+import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
+
+/**
+ * Black box tests for API of {@link org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitPatch}.
+ */
+public class InstallableUnitPatchTest extends AbstractProvisioningTest {
+ /**
+ * Tests for {@link org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit#satisfies(org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability)}.
+ */
+ public void testLifeCycleRequirement() {
+
+ org.eclipse.equinox.p2.metadata.MetadataFactory.InstallableUnitPatchDescription iu = new MetadataFactory.InstallableUnitPatchDescription();
+ iu.setId("P");
+ iu.setVersion(Version.create("1.0.0"));
+ iu.setApplicabilityScope(new IRequirement[][] {{MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}});
+ IRequirement lRequirement = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "L", VersionRange.emptyRange, null, false, false);
+ iu.setLifeCycle(lRequirement);
+ iu.setRequirements(NO_REQUIRES);
+ IInstallableUnitPatch p1 = MetadataFactory.createInstallableUnitPatch(iu);
+
+ assertEquals("patch requirement must contains the lifecycle, so size must be equal to 1", 1, p1.getRequirements().size());
+ assertEquals("patch requirement must contains the lifecycle", lRequirement, p1.getRequirements().iterator().next());
+
+ org.eclipse.equinox.p2.metadata.MetadataFactory.InstallableUnitPatchDescription iu2 = new MetadataFactory.InstallableUnitPatchDescription();
+ iu2.setId("P2");
+ iu2.setVersion(Version.create("1.0.0"));
+ iu2.setApplicabilityScope(new IRequirement[][] {{MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "A2", VersionRange.emptyRange, null, false, false)}});
+ IRequirement l2Requirement = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "L2", VersionRange.emptyRange, null, false, false);
+ iu2.setLifeCycle(l2Requirement);
+ IRequirement r = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, "R", VersionRange.emptyRange, null, false, false);
+ iu2.setRequirements(new IRequirement[] {r});
+ IInstallableUnitPatch p2 = MetadataFactory.createInstallableUnitPatch(iu2);
+
+ assertEquals("patch requirement must contains the lifecycle and the requirement, so size must be equal to 2", 2, p2.getRequirements().size());
+ assertContains("patch requirement must contains the lifecycle", p2.getRequirements().iterator(), Arrays.asList(l2Requirement, r));
+ }
+}

Back to the top