blob: dd296cc65a2af10a6a2907f8a857dcd0477e1c5b [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2005 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.standalone;
import java.util.*;
import org.eclipse.core.runtime.*;
import org.eclipse.update.core.*;
import org.eclipse.update.standalone.*;
public class TestBundlesInstall extends StandaloneManagerTestCase {
private static boolean isInstalled;
public TestBundlesInstall(String arg0) {
super(arg0);
isInstalled = false;
}
public void umSetUp() {
super.umSetUp();
//System.out.println("looking at configured sites available....");
//checkConfiguredSites();
String featureId = "com.example.bundle.feature";
String version = "1.0.0";
String fromRemoteSiteUrl = "http://"+getHttpHost()+":"+ getHttpPort()+ "/org.eclipse.update.tests.core.updatetests/bundleSite/";
if (!isInstalled) {
System.out.println(
"==============" + this.getClass() + "=============");
StandaloneUpdateApplication app = new StandaloneUpdateApplication();
try {
exitValue = (Integer)app.run(getCommand(
"install",
featureId,
version,
null,
fromRemoteSiteUrl,
TARGET_FILE_SITE.getFile()));
} catch (Exception e) {
e.printStackTrace();
}
isInstalled = true;
}
}
public void testPluginsExist() {
ISite localSite = getConfiguredSite(TARGET_FILE_SITE);
System.out.println("localSite: " + localSite.getURL().getFile());
IPluginEntry[] pluginEntries = localSite.getPluginEntries();
ArrayList list = new ArrayList();
if (pluginEntries == null || pluginEntries.length == 0){
System.err.println("No plugin entries on the target site");
fail("No plugin entries on the target site");
} else{
for (int i = 0; i < pluginEntries.length; i++){
System.out.println("found plugin: " + pluginEntries[i].getVersionedIdentifier().toString());
list.add(pluginEntries[i].getVersionedIdentifier().toString());
}
}
String[] pluginNames =
{ "com.example.bundle.plugin_1.0.0",
"com.example.bundle.plugin.ui_2.0.0",
"com.example.bundle.fragment_1.0.0",
"com.example.budle.fragment.ui_1.0.0"};
assertTrue(checkFilesInList(pluginNames, list));
}
public void testFeaturesExist() {
try {
ISite localSite = getConfiguredSite(TARGET_FILE_SITE);
System.out.println("localSite: " + localSite.getURL().getFile());
// get feature references
IFeatureReference[] localFeatures =
localSite.getFeatureReferences();
System.out.println("local currentCOnfigSite: " + localSite.getCurrentConfiguredSite());
ArrayList list = new ArrayList();
if (localFeatures == null || localFeatures.length == 0){
System.err.println("No features on the target site");
fail("No features on the target site");
} else {
for (int i = 0; i < localFeatures.length; i++)
list.add(localFeatures[i].getVersionedIdentifier().toString());
}
String[] featureNames =
{
"com.example.bundle.feature_1.0.0"};
assertTrue(checkFilesInList(featureNames, list));
} catch (CoreException e) {
System.err.println(e);
}
}
// makes sure all files/directories in "names" are in the directory listing "list"
public boolean checkFilesInList(
String[] names,
ArrayList list) {
for (int i = 0; i < names.length; i++) {
System.out.println(names[i]);
if (!list.contains(names[i])){
return false;
}
}
return true;
}
// ensure exit without problems
public void testExitValue() throws Exception {
System.out.println("exitValue: " + exitValue);
assertEquals(exitValue, IPlatformRunnable.EXIT_OK);
}
}