blob: 6fa2b62514ff81a592e83435d3621f151dd3dc09 [file] [log] [blame]
package org.eclipse.update.tests.regularRemove;
/*
* (c) Copyright IBM Corp. 2000, 2001.
* All Rights Reserved.
*/
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.update.core.*;
import org.eclipse.update.internal.core.*;
import org.eclipse.update.tests.UpdateManagerTestCase;
import org.eclipse.update.tests.api.DefaultFeature;
public class TestRemove extends UpdateManagerTestCase {
public class Listener implements ISiteChangedListener{
public boolean notified = false;
/*
* @see ISiteChangedListener#featureUpdated(IFeature)
*/
public void featureUpdated(IFeature feature) {}
/*
* @see ISiteChangedListener#featureInstalled(IFeature)
*/
public void featureInstalled(IFeature feature) {
notified = true;
System.out.println("Notified DefaultFeature Installed");
}
/*
* @see ISiteChangedListener#featureUninstalled(IFeature)
*/
public void featureUninstalled(IFeature feature) {}
public boolean isNotified() {
return notified;
}
}
/**
* Constructor for Test1
*/
public TestRemove(String arg0) {
super(arg0);
}
private IFeature getFeature1(ISite site) throws MalformedURLException, CoreException {
URL url = UpdateManagerUtils.getURL(site.getURL(), "features/org.eclipse.update.core.tests.feature1_1.0.4.jar", null);
FeatureReference ref = new FeatureReference();
ref.setSite(site);
ref.setURLString("features/org.eclipse.update.core.tests.feature1_1.0.4.jar");
ref.resolve(site.getURL(),null);
//Feature remoteFeature = createPackagedFeature(url,site);
//remoteFeature.setFeatureIdentifier("org.eclipse.update.core.tests.feature1");
//remoteFeature.setFeatureVersion("1.0.4");
return ref.getFeature();
}
public void testRemoveFeature() throws Exception {
// install feature
ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE);
IFeature remoteFeature = getFeature1(remoteSite);
ISite localSite = SiteManager.getSite(TARGET_FILE_SITE);
IFeatureReference ref = localSite.install(remoteFeature, null);
// then remove it
String featureRef = ref.getFeature().getVersionIdentifier().toString();
localSite.remove(ref.getFeature(),null);
// verify
String site = localSite.getURL().getFile();
IPluginEntry[] entries = remoteFeature.getPluginEntries();
assertTrue("no plugins entry", (entries != null && entries.length != 0));
String pluginName = entries[0].getVersionIdentifier().toString();
File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
assertTrue("plugin files installed locally", !pluginFile.exists());
File featureFile = new File(site, Site.INSTALL_FEATURE_PATH +featureRef);
assertTrue("feature info installed locally:"+featureFile, !featureFile.exists());
}
}