Re-structure the test suites, use withiPOJO and OSGi test helpers.
Also update some test to the latest tinybundles.

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@939968 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/ipojo/tests/handler/eventadmin/pom.xml b/ipojo/tests/handler/eventadmin/pom.xml
index 0fc48a6..5819b1e 100644
--- a/ipojo/tests/handler/eventadmin/pom.xml
+++ b/ipojo/tests/handler/eventadmin/pom.xml
@@ -1,7 +1,29 @@
 <?xml version="1.0" encoding="UTF-8"?>

-<project xmlns="http://maven.apache.org/POM/4.0.0"

-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+<!--

+	Licensed to the Apache Software Foundation (ASF) under one

+	or more contributor license agreements.  See the NOTICE file

+	distributed with this work for additional information

+	regarding copyright ownership.  The ASF licenses this file

+	to you under the Apache License, Version 2.0 (the

+	"License"); you may not use this file except in compliance

+	with the License.  You may obtain a copy of the License at

+

+	http://www.apache.org/licenses/LICENSE-2.0

+

+	Unless required by applicable law or agreed to in writing,

+	software distributed under the License is distributed on an

+	"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+	KIND, either express or implied.  See the License for the

+	specific language governing permissions and limitations

+	under the License.

+-->

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<parent>

+		<groupId>ipojo.tests</groupId>

+		<artifactId>ipojo.tests</artifactId>

+		<version>1.5.0-SNAPSHOT</version>

+	</parent>

 	<groupId>ipojo.tests</groupId>

 	<version>1.5.0-SNAPSHOT</version>

 	<modelVersion>4.0.0</modelVersion>

@@ -15,9 +37,8 @@
 			<version>1.7.0-SNAPSHOT</version>

 		</dependency>

 		<dependency>

-			<groupId>org.apache.felix</groupId>

+			<groupId>org.osgi</groupId>

 			<artifactId>org.osgi.core</artifactId>

-			<version>1.0.1</version>

 		</dependency>

 		<dependency>

 			<groupId>org.apache.felix</groupId>

@@ -34,13 +55,17 @@
 			<artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>

 			<version>1.1.0-SNAPSHOT</version>

 		</dependency>

+		<dependency>

+			<groupId>org.osgi</groupId>

+			<artifactId>org.osgi.compendium</artifactId>

+			<version>4.0.0</version>

+		</dependency>

 	</dependencies>

 	<build>

 		<plugins>

 			<plugin>

 				<groupId>org.apache.felix</groupId>

 				<artifactId>maven-bundle-plugin</artifactId>

-				<version>1.4.3</version>

 				<extensions>true</extensions>

 				<configuration>

 					<instructions>

@@ -55,7 +80,6 @@
 			<plugin>

 				<groupId>org.apache.felix</groupId>

 				<artifactId>maven-ipojo-plugin</artifactId>

-				<version>1.6.0</version>

 				<executions>

 					<execution>

 						<goals>

diff --git a/ipojo/tests/handler/temporal/pom.xml b/ipojo/tests/handler/temporal/pom.xml
index adc8fc7..7dc3561 100644
--- a/ipojo/tests/handler/temporal/pom.xml
+++ b/ipojo/tests/handler/temporal/pom.xml
@@ -16,7 +16,13 @@
 	specific language governing permissions and limitations

 	under the License.

 -->

-<project>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<parent>

+		<groupId>ipojo.tests</groupId>

+		<artifactId>ipojo.tests</artifactId>

+		<version>1.5.0-SNAPSHOT</version>

+	</parent>

 	<modelVersion>4.0.0</modelVersion>

 	<packaging>bundle</packaging>

 	<name>iPOJO Temporal Dependency Test Suite</name>

@@ -32,12 +38,10 @@
 		<dependency>

 			<groupId>org.apache.felix</groupId>

 			<artifactId>org.apache.felix.ipojo.metadata</artifactId>

-			<version>1.4.0</version>

 		</dependency>

 		<dependency>

-			<groupId>org.apache.felix</groupId>

+			<groupId>org.osgi</groupId>

 			<artifactId>org.osgi.core</artifactId>

-			<version>1.0.1</version>

 		</dependency>

 		<dependency>

 			<groupId>junit</groupId>

@@ -49,15 +53,17 @@
 			<artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>

 			<version>1.1.0-SNAPSHOT</version>

 		</dependency>

-

-

+		<dependency>

+			<groupId>org.osgi</groupId>

+			<artifactId>org.osgi.compendium</artifactId>

+			<version>4.0.0</version>

+		</dependency>

 	</dependencies>

 	<build>

 		<plugins>

 			<plugin>

 				<groupId>org.apache.felix</groupId>

 				<artifactId>maven-bundle-plugin</artifactId>

-				<version>1.4.3</version>

 				<extensions>true</extensions>

 				<configuration>

 					<instructions>

@@ -79,7 +85,6 @@
 			<plugin>

 				<groupId>org.apache.felix</groupId>

 				<artifactId>maven-ipojo-plugin</artifactId>

-				<version>1.6.0</version>

 				<executions>

 					<execution>

 						<goals>

diff --git a/ipojo/tests/handler/transaction/pom.xml b/ipojo/tests/handler/transaction/pom.xml
index 59ad05c..5345de8 100644
--- a/ipojo/tests/handler/transaction/pom.xml
+++ b/ipojo/tests/handler/transaction/pom.xml
@@ -1,5 +1,28 @@
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one
+	or more contributor license agreements.  See the NOTICE file
+	distributed with this work for additional information
+	regarding copyright ownership.  The ASF licenses this file
+	to you under the Apache License, Version 2.0 (the
+	"License"); you may not use this file except in compliance
+	with the License.  You may obtain a copy of the License at
+
+	http://www.apache.org/licenses/LICENSE-2.0
+
+	Unless required by applicable law or agreed to in writing,
+	software distributed under the License is distributed on an
+	"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+	KIND, either express or implied.  See the License for the
+	specific language governing permissions and limitations
+	under the License.
+-->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<parent>
+		<groupId>ipojo.tests</groupId>
+		<artifactId>ipojo.tests</artifactId>
+		<version>1.5.0-SNAPSHOT</version>
+	</parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>ipojo.tests</groupId>
   <artifactId>tests.transactions</artifactId>
@@ -10,17 +33,14 @@
     <dependency>
       <groupId>org.apache.felix</groupId>
       <artifactId>org.apache.felix.ipojo</artifactId>
-      <version>1.7.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.apache.felix</groupId>
       <artifactId>org.apache.felix.ipojo.metadata</artifactId>
-      <version>1.4.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.felix</groupId>
       <artifactId>org.apache.felix.ipojo.annotations</artifactId>
-      <version>1.6.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.felix</groupId>
@@ -34,9 +54,8 @@
     </dependency>
 
     <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.ipojo.test.helpers</artifactId>
-      <version>${pom.version}</version>
+      <groupId>org.ow2.chameleon.testing</groupId>
+      <artifactId>osgi-helpers</artifactId>
     </dependency>
   <!--
     Pax Exam API:
@@ -80,10 +99,9 @@
     <artifactId>pax-swissbox-tinybundles</artifactId>
     <version>1.2.0</version>
   </dependency>
-  <dependency>
-    <groupId>org.apache.felix</groupId>
-    <artifactId>org.apache.felix.ipojo.tinybundles.bundleAsiPOJO</artifactId>
-    <version>${pom.version}</version>
+   <dependency>
+      <groupId>org.ow2.chameleon.testing</groupId>
+      <artifactId>tinybundles-ipojo</artifactId>
   </dependency>
    <dependency>
       <groupId>xerces</groupId>
@@ -99,6 +117,16 @@
      <groupId>org.ops4j.pax.logging</groupId>
      <artifactId>pax-logging-service</artifactId>
      <version>1.4</version>
+     <exclusions>
+     	<exclusion>
+     		<artifactId>jmxtools</artifactId>
+     		<groupId>com.sun.jdmk</groupId>
+     	</exclusion>
+     	<exclusion>
+     		<artifactId>jmxri</artifactId>
+     		<groupId>com.sun.jmx</groupId>
+     	</exclusion>
+     </exclusions>
    </dependency>
 
   </dependencies>
@@ -130,6 +158,7 @@
       <plugin>
         <groupId>org.apache.servicemix.tooling</groupId>
         <artifactId>depends-maven-plugin</artifactId>
+        <version>1.2</version>
         <executions>
           <execution>
             <id>generate-depends-file</id>
diff --git a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestAnnotations.java b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestAnnotations.java
index f46f7f4..a345a6b 100644
--- a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestAnnotations.java
+++ b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestAnnotations.java
@@ -4,14 +4,12 @@
 import static org.ops4j.pax.exam.CoreOptions.options;
 import static org.ops4j.pax.exam.CoreOptions.provision;
 import static org.ops4j.pax.exam.MavenUtils.asInProject;
+import static org.ow2.chameleon.testing.tinybundles.ipojo.IPOJOBuilder.withiPOJO;
 
 import java.io.File;
 import java.io.InputStream;
 
 import org.apache.felix.ipojo.metadata.Element;
-import org.apache.felix.ipojo.test.helpers.IPOJOHelper;
-import org.apache.felix.ipojo.test.helpers.OSGiHelper;
-import org.apache.felix.ipojo.tinybundles.BundleAsiPOJO;
 import org.apache.felix.ipojo.transaction.test.component.ComponentUsingAnnotations;
 import org.apache.felix.ipojo.transaction.test.component.FooImpl;
 import org.apache.felix.ipojo.transaction.test.service.CheckService;
@@ -29,6 +27,8 @@
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
+import org.ow2.chameleon.testing.helpers.IPOJOHelper;
+import org.ow2.chameleon.testing.helpers.OSGiHelper;
 
 @RunWith( JUnit4TestRunner.class )
 public class TestAnnotations {
@@ -71,13 +71,13 @@
             .add(FooImpl.class)
             .set(Constants.BUNDLE_SYMBOLICNAME,"Foo Provider")
             .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service")
-            .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
+            .build( withiPOJO(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
 
         InputStream test = TinyBundles.newBundle()
             .add(ComponentUsingAnnotations.class)
             .set(Constants.BUNDLE_SYMBOLICNAME,"TransactionAnnotationTest")
             .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service, javax.transaction")
-            .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "annotations.jar"), new File(TEST, "annotation.xml"))  );
+            .build( withiPOJO(new File(ROOT, "annotations.jar"), new File(TEST, "annotation.xml"))  );
 
 
         Option[] opt =  options(
@@ -87,7 +87,7 @@
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.handler.transaction").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.transaction").version(asInProject()),
-                        mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.test.helpers").version(asInProject())
+                        mavenBundle().groupId("org.ow2.chameleon.testing").artifactId("osgi-helpers").versionAsInProject()
                 ),
                 provision(
                         service,
diff --git a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestInstallation.java b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestInstallation.java
index 4f0b92a..48aeecd 100644
--- a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestInstallation.java
+++ b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestInstallation.java
@@ -4,6 +4,7 @@
 import static org.ops4j.pax.exam.CoreOptions.options;
 import static org.ops4j.pax.exam.CoreOptions.provision;
 import static org.ops4j.pax.exam.MavenUtils.asInProject;
+import static org.ow2.chameleon.testing.tinybundles.ipojo.IPOJOBuilder.withiPOJO;
 
 import java.io.File;
 import java.io.InputStream;
@@ -17,9 +18,6 @@
 
 import org.apache.felix.ipojo.ComponentInstance;
 import org.apache.felix.ipojo.HandlerFactory;
-import org.apache.felix.ipojo.test.helpers.IPOJOHelper;
-import org.apache.felix.ipojo.test.helpers.OSGiHelper;
-import org.apache.felix.ipojo.tinybundles.BundleAsiPOJO;
 import org.apache.felix.ipojo.transaction.test.component.FooDelegator;
 import org.apache.felix.ipojo.transaction.test.component.FooImpl;
 import org.apache.felix.ipojo.transaction.test.service.CheckService;
@@ -40,6 +38,8 @@
 import org.osgi.framework.Constants;
 import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.framework.ServiceReference;
+import org.ow2.chameleon.testing.helpers.IPOJOHelper;
+import org.ow2.chameleon.testing.helpers.OSGiHelper;
 
 @RunWith( JUnit4TestRunner.class )
 public class TestInstallation {
@@ -77,7 +77,7 @@
             .set(Constants.BUNDLE_SYMBOLICNAME,"Service")
             .set(Constants.EXPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service")
             .build();
-        
+
 //        try {
 //            StreamUtils.copy(service, new FileOutputStream(new File(ROOT, "service.jar")));
 //        } catch (Exception e) {
@@ -88,13 +88,13 @@
             .add(FooImpl.class)
             .set(Constants.BUNDLE_SYMBOLICNAME,"Foo Provider")
             .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service")
-            .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
+            .build( withiPOJO(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
 
         InputStream test = TinyBundles.newBundle()
             .add(FooDelegator.class)
             .set(Constants.BUNDLE_SYMBOLICNAME,"RequiredTransactionPropagation")
             .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service, javax.transaction")
-            .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "requires.jar"), new File(TEST, "requires.xml"))  );
+            .build( withiPOJO(new File(ROOT, "requires.jar"), new File(TEST, "requires.xml"))  );
 
 
         Option[] opt =  options(
@@ -103,7 +103,7 @@
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.handler.transaction").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.transaction").version(asInProject()),
-                        mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.test.helpers").version(asInProject())
+                        mavenBundle().groupId("org.ow2.chameleon.testing").artifactId("osgi-helpers").versionAsInProject()
                 ),
                 provision(
                         service,
@@ -120,7 +120,7 @@
                            .build();
                     }
                 });
-                
+
         return opt;
     }
 
@@ -154,7 +154,7 @@
         Assert.assertEquals(ComponentInstance.VALID, under.getState());
 
         ServiceReference[] refs = context.getAllServiceReferences(CheckService.class.getName(), "(instance.name=" + under.getInstanceName() +")");
-        
+
 //        ref = ipojo.getServiceReferenceByName(CheckService.class.getName(), under.getInstanceName());
         Assert.assertNotNull(refs);
 
diff --git a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestInvalidation.java b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestInvalidation.java
index e6c4a69..95323bf 100644
--- a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestInvalidation.java
+++ b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestInvalidation.java
@@ -1,6 +1,7 @@
 package org.apache.felix.ipojo.transaction.test;
 
 import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
+import static org.ow2.chameleon.testing.tinybundles.ipojo.IPOJOBuilder.withiPOJO;
 import static org.ops4j.pax.exam.CoreOptions.options;
 import static org.ops4j.pax.exam.CoreOptions.provision;
 import static org.ops4j.pax.exam.MavenUtils.asInProject;
@@ -18,9 +19,6 @@
 import javax.transaction.TransactionManager;
 
 import org.apache.felix.ipojo.ComponentInstance;
-import org.apache.felix.ipojo.test.helpers.IPOJOHelper;
-import org.apache.felix.ipojo.test.helpers.OSGiHelper;
-import org.apache.felix.ipojo.tinybundles.BundleAsiPOJO;
 import org.apache.felix.ipojo.transaction.test.component.FooDelegator;
 import org.apache.felix.ipojo.transaction.test.component.FooImpl;
 import org.apache.felix.ipojo.transaction.test.service.CheckService;
@@ -39,6 +37,8 @@
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceReference;
+import org.ow2.chameleon.testing.helpers.IPOJOHelper;
+import org.ow2.chameleon.testing.helpers.OSGiHelper;
 
 @RunWith( JUnit4TestRunner.class )
 public class TestInvalidation {
@@ -82,13 +82,13 @@
             .add(FooImpl.class)
             .set(Constants.BUNDLE_SYMBOLICNAME,"Foo Provider")
             .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service")
-            .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
+            .build( withiPOJO(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
 
         InputStream test = TinyBundles.newBundle()
             .add(FooDelegator.class)
             .set(Constants.BUNDLE_SYMBOLICNAME,"RequiredTransactionPropagation")
             .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service, javax.transaction")
-            .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "requires.jar"), new File(TEST, "requires.xml"))  );
+            .build( withiPOJO(new File(ROOT, "requires.jar"), new File(TEST, "requires.xml"))  );
 
 
         Option[] opt =  options(
@@ -97,7 +97,7 @@
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.handler.transaction").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.transaction").version(asInProject()),
-                        mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.test.helpers").version(asInProject())
+                        mavenBundle().groupId("org.ow2.chameleon.testing").artifactId("osgi-helpers").versionAsInProject()
                 ),
                 provision(
                         service,
diff --git a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestMandatory.java b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestMandatory.java
index 69c43e3..f09f283 100644
--- a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestMandatory.java
+++ b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestMandatory.java
@@ -18,9 +18,6 @@
 import javax.transaction.TransactionManager;
 
 import org.apache.felix.ipojo.ComponentInstance;
-import org.apache.felix.ipojo.test.helpers.IPOJOHelper;
-import org.apache.felix.ipojo.test.helpers.OSGiHelper;
-import org.apache.felix.ipojo.tinybundles.BundleAsiPOJO;
 import org.apache.felix.ipojo.transaction.test.component.FooDelegator;
 import org.apache.felix.ipojo.transaction.test.component.FooImpl;
 import org.apache.felix.ipojo.transaction.test.service.CheckService;
@@ -39,6 +36,9 @@
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceReference;
+import org.ow2.chameleon.testing.helpers.IPOJOHelper;
+import org.ow2.chameleon.testing.helpers.OSGiHelper;
+import static org.ow2.chameleon.testing.tinybundles.ipojo.IPOJOBuilder.withiPOJO;
 
 @RunWith( JUnit4TestRunner.class )
 public class TestMandatory {
@@ -81,22 +81,22 @@
             .add(FooImpl.class)
             .set(Constants.BUNDLE_SYMBOLICNAME,"Foo Provider")
             .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service")
-            .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
-        
+            .build( withiPOJO(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
+
         InputStream test = TinyBundles.newBundle()
             .add(FooDelegator.class)
             .set(Constants.BUNDLE_SYMBOLICNAME,"MandatoryTransactionPropagation")
             .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service, javax.transaction")
-            .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "mandatory.jar"), new File(TEST, "mandatory.xml")) );
-        
-        
+            .build( withiPOJO(new File(ROOT, "mandatory.jar"), new File(TEST, "mandatory.xml")) );
+
+
         Option[] opt =  options(
                 provision(
                         mavenBundle().groupId("org.ops4j.pax.logging").artifactId("pax-logging-api").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.handler.transaction").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.transaction").version(asInProject()),
-                        mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.test.helpers").version(asInProject())
+                        mavenBundle().groupId("org.ow2.chameleon.testing").artifactId("osgi-helpers").versionAsInProject()
                 ),
                 provision(
                         service,
@@ -113,7 +113,7 @@
                            .build();
                     }
                 });
-        
+
         return opt;
     }
 
diff --git a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestNever.java b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestNever.java
index ac63000..801bdf0 100644
--- a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestNever.java
+++ b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestNever.java
@@ -18,9 +18,6 @@
 import javax.transaction.TransactionManager;
 
 import org.apache.felix.ipojo.ComponentInstance;
-import org.apache.felix.ipojo.test.helpers.IPOJOHelper;
-import org.apache.felix.ipojo.test.helpers.OSGiHelper;
-import org.apache.felix.ipojo.tinybundles.BundleAsiPOJO;
 import org.apache.felix.ipojo.transaction.test.component.FooDelegator;
 import org.apache.felix.ipojo.transaction.test.component.FooImpl;
 import org.apache.felix.ipojo.transaction.test.service.CheckService;
@@ -39,6 +36,9 @@
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceReference;
+import org.ow2.chameleon.testing.helpers.IPOJOHelper;
+import org.ow2.chameleon.testing.helpers.OSGiHelper;
+import static org.ow2.chameleon.testing.tinybundles.ipojo.IPOJOBuilder.withiPOJO;
 
 @RunWith( JUnit4TestRunner.class )
 public class TestNever {
@@ -80,21 +80,21 @@
         .add(FooImpl.class)
         .set(Constants.BUNDLE_SYMBOLICNAME,"Foo Provider")
         .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service")
-        .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
-    
+        .build( withiPOJO(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
+
         InputStream test = TinyBundles.newBundle()
         .add(FooDelegator.class)
         .set(Constants.BUNDLE_SYMBOLICNAME,"NeverTransactionPropagation")
         .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service, javax.transaction")
-        .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "never.jar"), new File(TEST, "never.xml"))  );
-    
+        .build( withiPOJO(new File(ROOT, "never.jar"), new File(TEST, "never.xml"))  );
+
         Option[] opt =  options(
                 provision(
                         mavenBundle().groupId("org.ops4j.pax.logging").artifactId("pax-logging-api").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.handler.transaction").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.transaction").version(asInProject()),
-                        mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.test.helpers").version(asInProject())
+                        mavenBundle().groupId("org.ow2.chameleon.testing").artifactId("osgi-helpers").versionAsInProject()
                 ),
                 provision(
                         service,
@@ -111,7 +111,7 @@
                            .build();
                     }
                 });
-        
+
         return opt;
     }
 
diff --git a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestNotSupported.java b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestNotSupported.java
index ad5d311..489c015 100644
--- a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestNotSupported.java
+++ b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestNotSupported.java
@@ -18,9 +18,6 @@
 import javax.transaction.TransactionManager;
 
 import org.apache.felix.ipojo.ComponentInstance;
-import org.apache.felix.ipojo.test.helpers.IPOJOHelper;
-import org.apache.felix.ipojo.test.helpers.OSGiHelper;
-import org.apache.felix.ipojo.tinybundles.BundleAsiPOJO;
 import org.apache.felix.ipojo.transaction.test.component.FooDelegator;
 import org.apache.felix.ipojo.transaction.test.component.FooImpl;
 import org.apache.felix.ipojo.transaction.test.service.CheckService;
@@ -39,6 +36,9 @@
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceReference;
+import org.ow2.chameleon.testing.helpers.IPOJOHelper;
+import org.ow2.chameleon.testing.helpers.OSGiHelper;
+import static org.ow2.chameleon.testing.tinybundles.ipojo.IPOJOBuilder.withiPOJO;
 
 @RunWith( JUnit4TestRunner.class )
 public class TestNotSupported {
@@ -80,21 +80,21 @@
         .add(FooImpl.class)
         .set(Constants.BUNDLE_SYMBOLICNAME,"Foo Provider")
         .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service")
-        .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
-    
+        .build( withiPOJO(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
+
         InputStream test = TinyBundles.newBundle()
         .add(FooDelegator.class)
         .set(Constants.BUNDLE_SYMBOLICNAME,"NotSupportedTransactionPropagation")
         .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service, javax.transaction")
-        .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "notsupported.jar"), new File(TEST, "notsupported.xml"))  );
-    
+        .build( withiPOJO(new File(ROOT, "notsupported.jar"), new File(TEST, "notsupported.xml"))  );
+
         Option[] opt =  options(
                 provision(
                         mavenBundle().groupId("org.ops4j.pax.logging").artifactId("pax-logging-api").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.handler.transaction").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.transaction").version(asInProject()),
-                        mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.test.helpers").version(asInProject())
+                        mavenBundle().groupId("org.ow2.chameleon.testing").artifactId("osgi-helpers").versionAsInProject()
                 ),
                 provision(
                         service,
@@ -111,7 +111,7 @@
                            .build();
                     }
                 });
-       
+
         return opt;
     }
 
diff --git a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestRequires.java b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestRequires.java
index 4299d2d..7f5984b 100644
--- a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestRequires.java
+++ b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestRequires.java
@@ -18,9 +18,6 @@
 import javax.transaction.TransactionManager;
 
 import org.apache.felix.ipojo.ComponentInstance;
-import org.apache.felix.ipojo.test.helpers.IPOJOHelper;
-import org.apache.felix.ipojo.test.helpers.OSGiHelper;
-import org.apache.felix.ipojo.tinybundles.BundleAsiPOJO;
 import org.apache.felix.ipojo.transaction.test.component.FooDelegator;
 import org.apache.felix.ipojo.transaction.test.component.FooImpl;
 import org.apache.felix.ipojo.transaction.test.service.CheckService;
@@ -39,6 +36,9 @@
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceReference;
+import org.ow2.chameleon.testing.helpers.IPOJOHelper;
+import org.ow2.chameleon.testing.helpers.OSGiHelper;
+import static org.ow2.chameleon.testing.tinybundles.ipojo.IPOJOBuilder.withiPOJO;
 
 @RunWith( JUnit4TestRunner.class )
 public class TestRequires {
@@ -81,21 +81,21 @@
         .add(FooImpl.class)
         .set(Constants.BUNDLE_SYMBOLICNAME,"Foo Provider")
         .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service")
-        .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
-    
+        .build( withiPOJO(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
+
         InputStream test = TinyBundles.newBundle()
         .add(FooDelegator.class)
         .set(Constants.BUNDLE_SYMBOLICNAME,"RequiresTransactionPropagation")
         .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service, javax.transaction")
-        .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "requires.jar"), new File(TEST, "requires.xml"))   );
-    
+        .build( withiPOJO(new File(ROOT, "requires.jar"), new File(TEST, "requires.xml"))   );
+
         Option[] opt =  options(
                 provision(
                         mavenBundle().groupId("org.ops4j.pax.logging").artifactId("pax-logging-api").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.handler.transaction").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.transaction").version(asInProject()),
-                        mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.test.helpers").version(asInProject())
+                        mavenBundle().groupId("org.ow2.chameleon.testing").artifactId("osgi-helpers").versionAsInProject()
                 ),
                 provision(
                         service,
@@ -112,7 +112,7 @@
                            .build();
                     }
                 });
-       
+
         return opt;
     }
 
diff --git a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestRequiresNew.java b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestRequiresNew.java
index c033233..b9f5166 100644
--- a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestRequiresNew.java
+++ b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestRequiresNew.java
@@ -18,9 +18,6 @@
 import javax.transaction.TransactionManager;
 
 import org.apache.felix.ipojo.ComponentInstance;
-import org.apache.felix.ipojo.test.helpers.IPOJOHelper;
-import org.apache.felix.ipojo.test.helpers.OSGiHelper;
-import org.apache.felix.ipojo.tinybundles.BundleAsiPOJO;
 import org.apache.felix.ipojo.transaction.test.component.FooDelegator;
 import org.apache.felix.ipojo.transaction.test.component.FooImpl;
 import org.apache.felix.ipojo.transaction.test.service.CheckService;
@@ -39,6 +36,9 @@
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceReference;
+import org.ow2.chameleon.testing.helpers.IPOJOHelper;
+import org.ow2.chameleon.testing.helpers.OSGiHelper;
+import static org.ow2.chameleon.testing.tinybundles.ipojo.IPOJOBuilder.withiPOJO;
 
 @RunWith( JUnit4TestRunner.class )
 public class TestRequiresNew {
@@ -70,7 +70,7 @@
     public static Option[] configure() {
         ROOT.mkdirs();
 
-       
+
         InputStream service = TinyBundles.newBundle()
         .add(CheckService.class)
         .add(Foo.class)
@@ -82,21 +82,21 @@
         .add(FooImpl.class)
         .set(Constants.BUNDLE_SYMBOLICNAME,"Foo Provider")
         .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service")
-        .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
-    
+        .build( withiPOJO(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
+
         InputStream test = TinyBundles.newBundle()
         .add(FooDelegator.class)
         .set(Constants.BUNDLE_SYMBOLICNAME,"RequiresNewTransactionPropagation")
         .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service, javax.transaction")
-        .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "requiresnew.jar"), new File(TEST, "requiresnew.xml"))  );
-    
+        .build( withiPOJO(new File(ROOT, "requiresnew.jar"), new File(TEST, "requiresnew.xml"))  );
+
         Option[] opt =  options(
                 provision(
                         mavenBundle().groupId("org.ops4j.pax.logging").artifactId("pax-logging-api").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.handler.transaction").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.transaction").version(asInProject()),
-                        mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.test.helpers").version(asInProject())
+                        mavenBundle().groupId("org.ow2.chameleon.testing").artifactId("osgi-helpers").versionAsInProject()
                 ),
                 provision(
                         service,
@@ -113,8 +113,8 @@
                            .build();
                     }
                 });
-        
-        
+
+
         return opt;
     }
 
diff --git a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestSupported.java b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestSupported.java
index 5fb7016..6a3d775 100644
--- a/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestSupported.java
+++ b/ipojo/tests/handler/transaction/src/test/java/org/apache/felix/ipojo/transaction/test/TestSupported.java
@@ -18,9 +18,6 @@
 import javax.transaction.TransactionManager;
 
 import org.apache.felix.ipojo.ComponentInstance;
-import org.apache.felix.ipojo.test.helpers.IPOJOHelper;
-import org.apache.felix.ipojo.test.helpers.OSGiHelper;
-import org.apache.felix.ipojo.tinybundles.BundleAsiPOJO;
 import org.apache.felix.ipojo.transaction.test.component.FooDelegator;
 import org.apache.felix.ipojo.transaction.test.component.FooImpl;
 import org.apache.felix.ipojo.transaction.test.service.CheckService;
@@ -39,6 +36,9 @@
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceReference;
+import org.ow2.chameleon.testing.helpers.IPOJOHelper;
+import org.ow2.chameleon.testing.helpers.OSGiHelper;
+import static org.ow2.chameleon.testing.tinybundles.ipojo.IPOJOBuilder.withiPOJO;
 
 @RunWith( JUnit4TestRunner.class )
 public class TestSupported {
@@ -80,21 +80,21 @@
         .add(FooImpl.class)
         .set(Constants.BUNDLE_SYMBOLICNAME,"Foo Provider")
         .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service")
-        .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
-    
+        .build( withiPOJO(new File(ROOT, "FooImpl.jar"), new File(TEST, "foo.xml"))  );
+
         InputStream test = TinyBundles.newBundle()
         .add(FooDelegator.class)
         .set(Constants.BUNDLE_SYMBOLICNAME,"SupportedTransactionPropagation")
         .set(Constants.IMPORT_PACKAGE, "org.apache.felix.ipojo.transaction.test.service, javax.transaction")
-        .build( BundleAsiPOJO.asiPOJOBundle(new File(ROOT, "supported.jar"), new File(TEST, "supported.xml"))    );
-    
+        .build( withiPOJO(new File(ROOT, "supported.jar"), new File(TEST, "supported.xml"))    );
+
         Option[] opt =  options(
                 provision(
                         mavenBundle().groupId("org.ops4j.pax.logging").artifactId("pax-logging-api").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.handler.transaction").version(asInProject()),
                         mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.transaction").version(asInProject()),
-                        mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.ipojo.test.helpers").version(asInProject())
+                        mavenBundle().groupId("org.ow2.chameleon.testing").artifactId("osgi-helpers").versionAsInProject()
                 ),
                 provision(
                         service,
@@ -111,8 +111,8 @@
                            .build();
                     }
                 });
-        
-       
+
+
         return opt;
     }
 
diff --git a/ipojo/tests/handler/whiteboard/pom.xml b/ipojo/tests/handler/whiteboard/pom.xml
index 0a29b53..586b64e 100644
--- a/ipojo/tests/handler/whiteboard/pom.xml
+++ b/ipojo/tests/handler/whiteboard/pom.xml
@@ -1,5 +1,28 @@
-<project>

-  <groupId>ipojo.tests</groupId>

+<!--

+	Licensed to the Apache Software Foundation (ASF) under one

+	or more contributor license agreements.  See the NOTICE file

+	distributed with this work for additional information

+	regarding copyright ownership.  The ASF licenses this file

+	to you under the Apache License, Version 2.0 (the

+	"License"); you may not use this file except in compliance

+	with the License.  You may obtain a copy of the License at

+

+	http://www.apache.org/licenses/LICENSE-2.0

+

+	Unless required by applicable law or agreed to in writing,

+	software distributed under the License is distributed on an

+	"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+	KIND, either express or implied.  See the License for the

+	specific language governing permissions and limitations

+	under the License.

+-->

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<parent>

+		<groupId>ipojo.tests</groupId>

+		<artifactId>ipojo.tests</artifactId>

+		<version>1.5.0-SNAPSHOT</version>

+	</parent>  <groupId>ipojo.tests</groupId>

   <version>1.5.0-SNAPSHOT</version>

   <modelVersion>4.0.0</modelVersion>

   <packaging>bundle</packaging>

@@ -12,9 +35,8 @@
       <version>1.7.0-SNAPSHOT</version>

     </dependency>

 	<dependency>

-		<groupId>org.apache.felix</groupId>

+		<groupId>org.osgi</groupId>

 		<artifactId>org.osgi.core</artifactId>

-		<version>1.0.1</version>

 	</dependency>

     <dependency>

       <groupId>junit</groupId>

@@ -26,13 +48,17 @@
 		<artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>

 		<version>1.1.0-SNAPSHOT</version>

 	</dependency>

+	<dependency>

+		<groupId>org.osgi</groupId>

+		<artifactId>org.osgi.compendium</artifactId>

+		<version>4.0.0</version>

+	</dependency>

   </dependencies>

   <build>

     <plugins>

       <plugin>

         <groupId>org.apache.felix</groupId>

         <artifactId>maven-bundle-plugin</artifactId>

-        <version>1.4.3</version>

         <extensions>true</extensions>

         <configuration>

           <instructions>

@@ -44,7 +70,6 @@
 	<plugin>

 		<groupId>org.apache.felix</groupId>

 		<artifactId>maven-ipojo-plugin</artifactId>

-		<version>1.6.0</version>

 		<executions>

 			<execution>

 				<goals>