You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ma...@apache.org on 2010/11/25 14:37:57 UTC
svn commit: r1039036 - in
/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test:
AbstractServiceDependencyTest.java DynamicProxyAspectTest.java
ServiceDependencyComponentLifeCycleTest.java
Author: marrs
Date: Thu Nov 25 13:37:57 2010
New Revision: 1039036
URL: http://svn.apache.org/viewvc?rev=1039036&view=rev
Log:
Fixes and enhancements to these tests.
Modified:
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AbstractServiceDependencyTest.java
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/DynamicProxyAspectTest.java
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyComponentLifeCycleTest.java
Modified: felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AbstractServiceDependencyTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AbstractServiceDependencyTest.java?rev=1039036&r1=1039035&r2=1039036&view=diff
==============================================================================
--- felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AbstractServiceDependencyTest.java (original)
+++ felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AbstractServiceDependencyTest.java Thu Nov 25 13:37:57 2010
@@ -23,8 +23,8 @@ import static org.ops4j.pax.exam.CoreOpt
import static org.ops4j.pax.exam.CoreOptions.provision;
import junit.framework.Assert;
-import org.apache.felix.dm.DependencyManager;
import org.apache.felix.dm.Component;
+import org.apache.felix.dm.DependencyManager;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Option;
@@ -50,8 +50,17 @@ public class AbstractServiceDependencyTe
// helper class that ensures certain steps get executed in sequence
Ensure e = new Ensure();
// create a service provider and consumer
- Component sp = m.createComponent().setImplementation(new ServiceProvider(e)).setInterface(ServiceAbstract.class.getName(), null);
- Component sc = m.createComponent().setImplementation(new ServiceConsumer(e)).add(m.createServiceDependency().setService(ServiceAbstract.class).setRequired(true).setCallbacks("bind", "unbind"));
+ Component sp = m.createComponent()
+ .setInterface(ServiceAbstract.class.getName(), null)
+ .setImplementation(new ServiceProvider(e))
+ ;
+ Component sc = m.createComponent()
+ .setImplementation(new ServiceConsumer(e))
+ .add(m.createServiceDependency()
+ .setService(ServiceAbstract.class)
+ .setRequired(true)
+ .setCallbacks("bind", "unbind")
+ );
m.add(sp);
m.add(sc);
m.remove(sp);
@@ -105,6 +114,7 @@ public class AbstractServiceDependencyTe
}
public void unbind(ServiceAbstract service) {
+ System.out.println("UNBINDDDDDDDDDDDDDDDDDDDDDDDDDDD");
Assert.assertEquals(m_service, service);
m_ensure.step(6);
}
Modified: felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/DynamicProxyAspectTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/DynamicProxyAspectTest.java?rev=1039036&r1=1039035&r2=1039036&view=diff
==============================================================================
--- felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/DynamicProxyAspectTest.java (original)
+++ felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/DynamicProxyAspectTest.java Thu Nov 25 13:37:57 2010
@@ -28,8 +28,8 @@ import java.lang.reflect.Proxy;
import junit.framework.Assert;
-import org.apache.felix.dm.DependencyManager;
import org.apache.felix.dm.Component;
+import org.apache.felix.dm.DependencyManager;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Option;
@@ -92,6 +92,14 @@ public class DynamicProxyAspectTest exte
// make sure the proxy has been called twice
Assert.assertEquals("Proxy should have been invoked this many times.", 2, DynamicProxyHandler.getCounter());
+
+ try {
+ Thread.sleep(2000);
+ }
+ catch (InterruptedException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
}
static interface ServiceInterface {
@@ -158,6 +166,7 @@ public class DynamicProxyAspectTest exte
}
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
+ System.out.println("IIIIIIINVOKE--------------------------" + method.getName());
if (m_service == null) {
Assert.fail("No service was injected into dynamic proxy handler " + m_label);
}
@@ -165,7 +174,12 @@ public class DynamicProxyAspectTest exte
if (m == null) {
Assert.fail("No method " + method.getName() + " was found in instance " + m_service + " in dynamic proxy handler " + m_label);
}
- m_counter++;
+ if (method.getName().equals("invoke")) {
+ // only count methods called 'invoke' because those are actually the ones
+ // both interfaces implement (and the dynamic proxy might be invoked for
+ // other methods, such as toString() as well)
+ m_counter++;
+ }
return m.invoke(m_service, args);
}
Modified: felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyComponentLifeCycleTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyComponentLifeCycleTest.java?rev=1039036&r1=1039035&r2=1039036&view=diff
==============================================================================
--- felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyComponentLifeCycleTest.java (original)
+++ felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyComponentLifeCycleTest.java Thu Nov 25 13:37:57 2010
@@ -102,7 +102,9 @@ public class ServiceDependencyComponentL
e.step(11);
- // remove the service again
+ // remove the service again, the component still has an instance bound
+ // dependency on it, so stop() should be invoked, but the component
+ // should not be destroyed
m.remove(component2);
e.step(15);
Assert.assertNull("service should no longer be available", st.getService());
@@ -116,8 +118,8 @@ public class ServiceDependencyComponentL
private final Ensure m_ensure;
private final Ensure.Steps m_initSteps = new Ensure.Steps(1, 5);
private final Ensure.Steps m_startSteps = new Ensure.Steps(2, 6, 8, 16);
- private final Ensure.Steps m_stopSteps = new Ensure.Steps(3, 7, 17, 18);
- private final Ensure.Steps m_destroySteps = new Ensure.Steps(4, 14);
+ private final Ensure.Steps m_stopSteps = new Ensure.Steps(3, 7, 12, 17);
+ private final Ensure.Steps m_destroySteps = new Ensure.Steps(4, 18);
public MyComponent(Ensure e) {
m_ensure = e;