Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/CategoryXMLActionTest.java')
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/CategoryXMLActionTest.java53
1 files changed, 53 insertions, 0 deletions
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/CategoryXMLActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/CategoryXMLActionTest.java
index 79b716857..59b6a0afd 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/CategoryXMLActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/CategoryXMLActionTest.java
@@ -11,10 +11,13 @@ package org.eclipse.equinox.p2.tests.updatesite;
import java.io.File;
import java.net.URI;
+import java.util.Set;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.equinox.internal.p2.updatesite.CategoryXMLAction;
import org.eclipse.equinox.p2.metadata.IInstallableUnit;
import org.eclipse.equinox.p2.publisher.*;
+import org.eclipse.equinox.p2.publisher.actions.MergeResultsAction;
+import org.eclipse.equinox.p2.publisher.eclipse.BundlesAction;
import org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction;
import org.eclipse.equinox.p2.query.*;
import org.eclipse.equinox.p2.tests.*;
@@ -92,4 +95,54 @@ public class CategoryXMLActionTest extends AbstractProvisioningTest {
IQueryResult<IInstallableUnit> categoryMembers = actionResult.query(memberQuery, new NullProgressMonitor());
assertEquals("2.0", 2, categoryMembers.toUnmodifiableSet().size());
}
+
+ public void testBundlesInCategory() throws Exception {
+ PublisherInfo info = new PublisherInfo();
+
+ info.setMetadataRepository(metadataRepository);
+ siteLocation = TestData.getFile("updatesite", "CategoryXMLActionTest/categoryWithBundle.xml").toURI();
+ FeaturesAction featuresAction = new FeaturesAction(new File[] {TestData.getFile("updatesite", "CategoryXMLActionTest")});
+ BundlesAction bundlesAction = new BundlesAction(new File[] {TestData.getFile("updatesite", "CategoryXMLActionTest")});
+ MergeResultsAction publishAction = new MergeResultsAction(new IPublisherAction[] {featuresAction, bundlesAction}, IPublisherResult.MERGE_ALL_NON_ROOT);
+ publishAction.perform(info, actionResult, new NullProgressMonitor());
+
+ CategoryXMLAction action = new CategoryXMLAction(siteLocation, null);
+ action.perform(info, actionResult, getMonitor());
+
+ IQueryResult result = actionResult.query(QueryUtil.createIUCategoryQuery(), new NullProgressMonitor());
+ assertEquals("1.0", 1, queryResultSize(result));
+ IInstallableUnit iu = (IInstallableUnit) result.iterator().next();
+ assertEquals("1.1", "Test Category Label", iu.getProperty(IInstallableUnit.PROP_NAME));
+
+ IQuery<IInstallableUnit> memberQuery = QueryUtil.createIUCategoryMemberQuery(iu);
+ IQueryResult<IInstallableUnit> categoryMembers = actionResult.query(memberQuery, new NullProgressMonitor());
+ Set<IInstallableUnit> categoryMembersSet = categoryMembers.toUnmodifiableSet();
+ assertEquals("2.0", 1, categoryMembersSet.size());
+ assertEquals("2.1", "test.bundle", categoryMembersSet.iterator().next().getId());
+ }
+
+ public void testUncategorizedBundlesInCategory() throws Exception {
+ PublisherInfo info = new PublisherInfo();
+
+ info.setMetadataRepository(metadataRepository);
+ siteLocation = TestData.getFile("updatesite", "CategoryXMLActionTest/categoryUncategorizedBundle.xml").toURI();
+ FeaturesAction featuresAction = new FeaturesAction(new File[] {TestData.getFile("updatesite", "CategoryXMLActionTest")});
+ BundlesAction bundlesAction = new BundlesAction(new File[] {TestData.getFile("updatesite", "CategoryXMLActionTest")});
+ MergeResultsAction publishAction = new MergeResultsAction(new IPublisherAction[] {featuresAction, bundlesAction}, IPublisherResult.MERGE_ALL_NON_ROOT);
+ publishAction.perform(info, actionResult, new NullProgressMonitor());
+
+ CategoryXMLAction action = new CategoryXMLAction(siteLocation, null);
+ action.perform(info, actionResult, getMonitor());
+
+ IQueryResult result = actionResult.query(QueryUtil.createIUCategoryQuery(), new NullProgressMonitor());
+ assertEquals("1.0", 1, queryResultSize(result));
+ IInstallableUnit iu = (IInstallableUnit) result.iterator().next();
+ assertEquals("1.1", "Uncategorized", iu.getProperty(IInstallableUnit.PROP_NAME));
+
+ IQuery<IInstallableUnit> memberQuery = QueryUtil.createIUCategoryMemberQuery(iu);
+ IQueryResult<IInstallableUnit> categoryMembers = actionResult.query(memberQuery, new NullProgressMonitor());
+ Set<IInstallableUnit> categoryMembersSet = categoryMembers.toUnmodifiableSet();
+ assertEquals("2.0", 1, categoryMembersSet.size());
+ assertEquals("2.1", "test.bundle", categoryMembersSet.iterator().next().getId());
+ }
}

Back to the top