blob: a0cf0253ba564e519e086edd8549b8056e1f4350 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2004 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.update.tests.api;
import java.net.URL;
import org.eclipse.update.core.*;
import org.eclipse.update.core.model.CategoryModel;
import org.eclipse.update.core.model.SiteModel;
import org.eclipse.update.tests.UpdateManagerTestCase;
public class TestLocalSiteAPI extends UpdateManagerTestCase {
/**
* Test the getFeatures()
*/
public TestLocalSiteAPI(String arg0) {
super(arg0);
}
public void testFileParsing() throws Exception {
ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE,"siteTestLocalSite/"), null);
IArchiveReference[] info = site.getArchives();
if (info.length<=0){
fail("no plugins in site: "+site.getURL().toExternalForm());
}
boolean found1 = false;
boolean found2 = false;
String name1= "plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar";
String name2 = "plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar";
for (int i =0; i<info.length; i++){
if (info[i].getPath().equals(name1)) found1 = true;
if (info[i].getPath().equals(name2)) found2 = true;
}
if (!found1 || !found2){
fail("Cannot find plugin : org.eclipse.update.core.tests.feature1.plugin2 version 5.0.0 and 5.0.1 on the site, by parsing file system");
}
}
public void testBundleManifestParsing() throws Exception {
ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE,"siteTestLocalSite/"),null);
IArchiveReference[] info = site.getArchives();
if (info.length<=0){
fail("no plugins in site: "+site.getURL().toExternalForm());
}
boolean found1 = false;
boolean found2 = false;
boolean found3 = false;
String name1= "plugins/org.eclipse.update.core.tests.bundleManifest_1.0.1.jar";
String name2 = "plugins/org.eclipse.update.core.tests.bundleAndPluginManifestsBUNDLEPARSED_1.0.3.jar";
String name3 = "plugins/org.eclipse.update.core.tests.bundleAndPluginManifests_1.0.3.jar";
for (int i =0; i<info.length; i++){
if (info[i].getPath().equals(name1)) found1 = true;
if (info[i].getPath().equals(name2)) found2 = true;
if (info[i].getPath().equals(name3)) found3 = true;
}
if (!found1 || !found2){
fail("Cannot find plugin : org.eclipse.update.core.tests.feature1.plugin2 version 5.0.0 and 5.0.1 on the site, by parsing file system");
}
if (found3){
fail("Plugin manifest parsed instead of bundle manifest.");
}
}
public void testCategories() throws Exception {
ISite site = SiteManager.getSite(SOURCE_FILE_SITE, null);
ICategory category = new Category("category","Label of category");
((SiteModel)site).addCategoryModel((CategoryModel)category);
ICategory[] categories = site.getCategories();
boolean found = false;
for (int index = 0; index < categories.length; index++) {
ICategory element = categories[index];
if (element.getName().equals("category")) found = true;
}
if (!found) fail("cannot find category 'category' in site");
ISiteFeatureReference ref = new SiteFeatureReference();
ref.setSite(site);
ref.addCategory(category);
categories = ref.getCategories();
found = false;
for (int index = 0; index < categories.length; index++) {
ICategory element = categories[index];
if (element.getName().equals("category")) found = true;
}
if (!found) fail("cannot find category 'category' in feature");
}
}