/******************************************************************************* * Copyright (c) 2004, 2006 * Thomas Hallgren, Kenneth Olwing, Mitch Sonies * Pontus Rydin, Nils Unden, Peer Torngren * The code, documentation and other materials contained herein have been * licensed under the Eclipse Public License - v 1.0 by the individual * copyright holders listed above, as Initial Contributors under such license. * The text of such license is available at www.eclipse.org. *******************************************************************************/ package org.eclipse.buckminster.maven.test; import java.net.URL; import java.util.regex.Pattern; import junit.framework.TestCase; import org.eclipse.buckminster.core.CorePlugin; import org.eclipse.buckminster.core.cspec.model.ComponentRequest; import org.eclipse.buckminster.core.query.builder.AdvisorNodeBuilder; import org.eclipse.buckminster.core.query.builder.ComponentQueryBuilder; import org.eclipse.buckminster.core.query.model.ComponentQuery; import org.eclipse.buckminster.core.resolver.IResolver; import org.eclipse.buckminster.core.resolver.MainResolver; import org.eclipse.buckminster.core.resolver.ResolutionContext; import org.eclipse.buckminster.runtime.BuckminsterException; import org.eclipse.buckminster.runtime.BuckminsterPreferences; import org.eclipse.buckminster.runtime.Logger; import org.eclipse.core.runtime.CoreException; /** * @author Thomas Hallgren */ public abstract class AbstractTestCase extends TestCase { public AbstractTestCase() { } public AbstractTestCase(String name) { super(name); } @Override public void setUp() throws Exception { BuckminsterPreferences.setLogLevelConsole(Logger.DEBUG); BuckminsterPreferences.setLogLevelEclipseLogger(Logger.SILENT); } protected IResolver createResolver(String componentName, String componentType) throws Exception { return createResolver(componentName, componentType, null, null); } protected IResolver createResolver(String componentName, String componentType, String versionDesignator, String versionType) throws Exception { ComponentRequest request = new ComponentRequest(componentName, componentType, versionDesignator, versionType); ComponentQueryBuilder queryBld = new ComponentQueryBuilder(); queryBld.setRootRequest(request); queryBld.setResourceMapURL(getRMAP().toString()); AdvisorNodeBuilder node = queryBld.addAdvisorNode(); node.setNamePattern(Pattern.compile(".*")); node.setUseTargetPlatform(false); ComponentQuery query = queryBld.createComponentQuery(); return new MainResolver(new ResolutionContext(query)); } @Override protected void runTest() throws Throwable { try { super.runTest(); } catch(CoreException e) { BuckminsterException.deeplyPrint(e, System.err, true); throw e; } } protected URL getRMAP() { return getClass().getResource("test.rmap"); } protected CorePlugin getPlugin() throws Exception { CorePlugin plugin = CorePlugin.getDefault(); if(plugin == null) throw new Exception("This test must be run as a \"JUnit Plug-in Test\""); return plugin; } }