From: Mathieu Baudier Date: Sun, 21 Sep 2008 12:52:40 +0000 (+0000) Subject: First functioning version of Jemmy tests with OSGi X-Git-Tag: argeo-slc-2.1.7~2578 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=362ab1bf1b248a7334ae4f4848003de8ef6c95ed;hp=6cb61ce2dee142ae9123af76fa421bae6431db95;p=gpl%2Fargeo-slc.git First functioning version of Jemmy tests with OSGi git-svn-id: https://svn.argeo.org/slc/trunk@1605 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/sandbox/argeo.slc.jemmytest/pom.xml b/sandbox/argeo.slc.jemmytest/pom.xml index 8797af113..e31d0bfb2 100644 --- a/sandbox/argeo.slc.jemmytest/pom.xml +++ b/sandbox/argeo.slc.jemmytest/pom.xml @@ -57,6 +57,13 @@ + + org.apache.maven.plugins + maven-surefire-plugin + + true + + @@ -72,7 +79,7 @@ org.apache.felix - org.apache.felix.main + org.apache.felix.main @@ -88,6 +95,13 @@ 3.8.2 test + + org.argeo.slc.sandbox + org.argeo.slc.sandbox.testui + 0.1.1-SNAPSHOT + test + + org.apache.felix diff --git a/sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/Main.java b/sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/Main.java deleted file mode 100644 index 45d02e7f4..000000000 --- a/sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/Main.java +++ /dev/null @@ -1,185 +0,0 @@ -package org.argeo.slc.jemmytest; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import org.apache.felix.framework.Felix; -import org.apache.felix.framework.cache.BundleCache; -import org.apache.felix.framework.util.FelixConstants; -import org.apache.felix.framework.util.StringMap; -import org.apache.felix.main.AutoActivator; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; -import org.osgi.framework.Constants; -import org.osgi.framework.ServiceReference; - -public class Main { - - /** - * @param args - */ - public static void main(String[] args) { - try { - // Create a temporary bundle cache directory and - // make sure to clean it up on exit. - final File cachedir = File.createTempFile( - "felix.example.servicebased", null); - cachedir.delete(); - Runtime.getRuntime().addShutdownHook(new Thread() { - public void run() { - deleteFileOrDir(cachedir); - } - }); - - String mavenBase = "file:/home/mbaudier/.m2/repository/"; - - Map configMap = new StringMap(false); - configMap - .put( - Constants.FRAMEWORK_SYSTEMPACKAGES, - "org.osgi.framework; version=1.4.0," - + "org.osgi.service.packageadmin; version=1.2.0," - + "org.osgi.service.startlevel; version=1.1.0," - + "org.osgi.service.url; version=1.0.0," - + "org.osgi.util.tracker; version=1.3.3," - /*+ "org.apache.felix.example.servicebased.host.service; version=1.0.0,"*/ - + "javax.swing"); - configMap - .put( - AutoActivator.AUTO_START_PROP + ".1", - mavenBase - + "org/apache/felix/org.apache.felix.shell/1.0.2/org.apache.felix.shell-1.0.2.jar " - + mavenBase - + "org/apache/felix/org.apache.felix.shell.tui/1.0.2/org.apache.felix.shell.tui-1.0.2.jar " - + mavenBase - + "org/argeo/dep/jemmy/org.argeo.dep.jemmy.nb61/0.2.0/org.argeo.dep.jemmy.nb61-0.2.0.jar " - + mavenBase - + "org/argeo/slc/org.argeo.slc.autoui/0.10.3-SNAPSHOT/org.argeo.slc.autoui-0.10.3-SNAPSHOT.jar"); - configMap.put(FelixConstants.LOG_LEVEL_PROP, "1"); - configMap.put(BundleCache.CACHE_PROFILE_DIR_PROP, cachedir - .getAbsolutePath()); - - // Create list to hold custom framework activators. - List list = new ArrayList(); - // Add activator to process auto-start/install properties. - list.add(new AutoActivator(configMap)); - // Add our own activator. - list.add(new JemmyTestActivator()); - - BundleContext context = null; - try { - // Now create an instance of the framework. - Felix felix = new Felix(configMap, list); - felix.start(); - - context = felix.getBundleContext(); - - // Bundle jemmyTestBundle = context - // .installBundle(mavenBase - // + - // "org/argeo/slc/sandbox/org.argeo.slc.sandbox.jemmytest/0.1.1-SNAPSHOT/org.argeo.slc.sandbox.jemmytest-0.1.1-SNAPSHOT.jar"); - // jemmyTestBundle.start(); - - } catch (Exception ex) { - System.err.println("Could not create framework: " + ex); - ex.printStackTrace(); - System.exit(-1); - } - -// ServiceReference ref = context -// .getServiceReference("org.argeo.slc.autoui.AutoUiApplication"); - ServiceReference ref = context - .getServiceReference("java.lang.Runnable"); - Object service = context.getService(ref); - JemmyTestActivator.stdOut("service=" + service.getClass()); - Runnable app = (Runnable) service; - app.run(); - // app.execute(null); - - } catch (Exception e) { - e.printStackTrace(); - System.exit(-1); - } - - // Felix felix; - // // JemmyTestActivator activator; - // - // // Create a case-insensitive configuration property map. - // Map configMap = new StringMap(false); - // // Configure the Felix instance to be embedded. - // configMap.put(FelixConstants.EMBEDDED_EXECUTION_PROP, "true"); - // // Add core OSGi packages to be exported from the class path - // // via the system bundle. - // configMap.put(Constants.FRAMEWORK_SYSTEMPACKAGES, - // "org.osgi.framework; version=1.3.0," - // + "org.osgi.service.packageadmin; version=1.2.0," - // + "org.osgi.service.startlevel; version=1.0.0," - // + "org.osgi.service.url; version=1.0.0"); - // // Explicitly specify the directory to use for caching bundles. - // configMap.put(BundleCache.CACHE_PROFILE_DIR_PROP, "target/cache"); - // - // try { - // // Create host activator; - // // activator = new JemmyTestActivator(); - // List list = new ArrayList(); - // // list.add(activator); - // list.add(new Activator()); - // list.add(new org.apache.felix.shell.impl.Activator()); - // list.add(new org.apache.felix.bundlerepository.Activator()); - // - // // Now create an instance of the framework with - // // our configuration properties and activator. - // felix = new Felix(configMap, list); - // - // // Now start Felix instance. - // felix.start(); - // - // Bundle jemmyBundle = felix - // .getBundleContext() - // .installBundle( - // "file:/home/mbaudier/.m2/repository/org/argeo/dep/jemmy/org.argeo.dep.jemmy.nb61/0.2.0/org.argeo.dep.jemmy.nb61-0.2.0.jar"); - // jemmyBundle.start(); - // // - // // Bundle autoUiBundle = felix - // // .getBundleContext() - // // .installBundle( - // // - // "reference:file:/home/mbaudier/dev/src/slc/org.argeo.slc.autoui/"); - // // autoUiBundle.start(); - // - // Bundle[] bundles = felix.getBundleContext().getBundles(); - // for (int i = 0; i < bundles.length; i++) { - // Bundle bundle = bundles[i]; - // System.out.println("" + bundle.getBundleId() + "\t" - // + bundle.getSymbolicName() + "\t" + bundle.getState() - // + "\t" + bundle.getLocation()); - // } - // - // // felix.stop(); - // } catch (Exception ex) { - // System.err.println("Could not create framework: " + ex); - // ex.printStackTrace(); - // } - // - } - - /** - * Utility method used to delete the profile directory when run as a - * stand-alone application. - * - * @param file - * The file to recursively delete. - */ - private static void deleteFileOrDir(File file) { - if (file.isDirectory()) { - File[] childs = file.listFiles(); - for (int i = 0; i < childs.length; i++) { - deleteFileOrDir(childs[i]); - } - } - file.delete(); - } - -} diff --git a/sandbox/argeo.slc.jemmytest/src/test/java/org/argeo/slc/jemmytest/JemmyRemoteTest.java b/sandbox/argeo.slc.jemmytest/src/test/java/org/argeo/slc/jemmytest/JemmyRemoteTest.java index b7de73f8b..9f63d6c70 100644 --- a/sandbox/argeo.slc.jemmytest/src/test/java/org/argeo/slc/jemmytest/JemmyRemoteTest.java +++ b/sandbox/argeo.slc.jemmytest/src/test/java/org/argeo/slc/jemmytest/JemmyRemoteTest.java @@ -4,17 +4,17 @@ import java.io.Serializable; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; +import junit.framework.TestCase; + import org.argeo.slc.autoui.swingtest.rmi.AutoUiContext; import org.argeo.slc.autoui.swingtest.rmi.AutoUiServer; import org.argeo.slc.autoui.swingtest.rmi.AutoUiTask; -import org.argeo.slc.jemmytest.ui.SwingTestUi; +import org.argeo.slc.testui.SwingTestUi; import org.netbeans.jemmy.ClassReference; import org.netbeans.jemmy.operators.JButtonOperator; import org.netbeans.jemmy.operators.JFrameOperator; import org.netbeans.jemmy.operators.JLabelOperator; -import junit.framework.TestCase; - public class JemmyRemoteTest extends TestCase implements Serializable { static final long serialVersionUID = 1l; diff --git a/sandbox/argeo.slc.jemmytest/src/test/java/org/argeo/slc/jemmytest/SwingTestJemmy.java b/sandbox/argeo.slc.jemmytest/src/test/java/org/argeo/slc/jemmytest/SwingTestJemmy.java index 5de37ba17..d05b5f5ad 100644 --- a/sandbox/argeo.slc.jemmytest/src/test/java/org/argeo/slc/jemmytest/SwingTestJemmy.java +++ b/sandbox/argeo.slc.jemmytest/src/test/java/org/argeo/slc/jemmytest/SwingTestJemmy.java @@ -2,7 +2,7 @@ package org.argeo.slc.jemmytest; import junit.framework.TestCase; -import org.argeo.slc.jemmytest.ui.SwingTestUi; +import org.argeo.slc.testui.SwingTestUi; import org.netbeans.jemmy.ClassReference; import org.netbeans.jemmy.operators.JButtonOperator; import org.netbeans.jemmy.operators.JFrameOperator;