]> git.argeo.org Git - gpl/argeo-slc.git/commitdiff
First functioning version of Jemmy tests with OSGi
authorMathieu Baudier <mbaudier@argeo.org>
Sun, 21 Sep 2008 12:52:40 +0000 (12:52 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Sun, 21 Sep 2008 12:52:40 +0000 (12:52 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@1605 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

sandbox/argeo.slc.jemmytest/pom.xml
sandbox/argeo.slc.jemmytest/src/main/java/org/argeo/slc/jemmytest/Main.java [deleted file]
sandbox/argeo.slc.jemmytest/src/test/java/org/argeo/slc/jemmytest/JemmyRemoteTest.java
sandbox/argeo.slc.jemmytest/src/test/java/org/argeo/slc/jemmytest/SwingTestJemmy.java

index 8797af1138ee9cac944bf66f4433093f2d93da07..e31d0bfb2fda5443fbb1a3e3e409ad729cf41267 100644 (file)
                                        </execution>
                                </executions>
                        </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-surefire-plugin</artifactId>
+                               <configuration>
+                                       <skipTests>true</skipTests>
+                               </configuration>
+                       </plugin>
                </plugins>
        </build>
        <profiles></profiles>
@@ -72,7 +79,7 @@
                                </exclusion>
                                <exclusion>
                                        <groupId>org.apache.felix</groupId>
-                       <artifactId>org.apache.felix.main</artifactId>
+                                       <artifactId>org.apache.felix.main</artifactId>
                                </exclusion>
                        </exclusions>
                </dependency>
                        <version>3.8.2</version>
                        <scope>test</scope>
                </dependency>
+               <dependency>
+                       <groupId>org.argeo.slc.sandbox</groupId>
+                       <artifactId>org.argeo.slc.sandbox.testui</artifactId>
+                       <version>0.1.1-SNAPSHOT</version>
+                       <scope>test</scope>
+               </dependency>
+
                <!-- OSGi -->
                <dependency>
                        <groupId>org.apache.felix</groupId>
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 (file)
index 45d02e7..0000000
+++ /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();
-       }
-
-}
index b7de73f8b77ef659116fb46f044eb3b2f2ea72e1..9f63d6c701ae1c5ae66ccf657591a0e053c631ee 100644 (file)
@@ -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;
 
index 5de37ba17868da38a4e1af3e1a271ee1cd3fb35a..d05b5f5ad7e515d73363b9fd676de797cef5a59d 100644 (file)
@@ -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;