blob: e4a555d9f5f18650b947e3c125dc0aa58ebdd545 [file] [log] [blame]
package org.eclipse.equinox.p2.tests.generator;
import java.io.File;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.equinox.internal.p2.metadata.generator.EclipseGeneratorApplication;
import org.eclipse.equinox.internal.p2.metadata.generator.Messages;
import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
import org.eclipse.equinox.p2.tests.TestActivator;
import org.eclipse.osgi.util.NLS;
import org.osgi.framework.BundleContext;
public class GeneratorTests extends AbstractProvisioningTest {
public void test233240_artifactsDeleted() throws Exception {
//this also covers 220494
File rootFolder = getTempFolder();
//copy some bundles over
File plugins = new File(rootFolder, "plugins");
plugins.mkdir();
for (int i = 0; i < 3; i++) {
BundleContext context = TestActivator.getContext();
File bundle = FileLocator.getBundleFile(context.getBundle(i));
copy("1.0 Populating input bundles.", bundle, new File(plugins, bundle.getName()));
}
String[] arguments = new String[] {"-metadataRepository", rootFolder.toURL().toExternalForm().toString(), "-artifactRepository", rootFolder.toURL().toExternalForm().toString(), "-source", rootFolder.getAbsolutePath(), "-publishArtifacts", "-noDefaultIUs"};
EclipseGeneratorApplication application = new EclipseGeneratorApplication();
application.run(arguments);
assertTrue("2.0 - initial artifact repo existance", new File(rootFolder, "artifacts.xml").exists());
assertTrue("2.1 - initial artifact repo contents", plugins.listFiles().length > 0);
//Taunt you one more time
application = new EclipseGeneratorApplication();
try {
application.run(arguments);
fail("3.0 - Expected Illegal Argument Exception not thrown.");
} catch (IllegalArgumentException e) {
assertTrue("3.0 - Expected Illegal Argument", e.getMessage().equals(NLS.bind(Messages.exception_artifactRepoNoAppendDestroysInput, rootFolder.toURL().toExternalForm().toString())));
}
assertTrue("3.1 - artifact repo existance", new File(rootFolder, "artifacts.xml").exists());
//with -updateSite
arguments = new String[] {"-metadataRepository", rootFolder.toURL().toExternalForm().toString(), "-artifactRepository", rootFolder.toURL().toExternalForm().toString(), "-updateSite", rootFolder.getAbsolutePath(), "-publishArtifacts", "-noDefaultIUs"};
application.run(arguments);
assertTrue("4.0 - artifact repo existance", new File(rootFolder, "artifacts.xml").exists());
assertTrue("4.1 - artifact repo contents", plugins.listFiles().length > 0);
delete(rootFolder);
}
}