Author: marrs
Date: Sat Nov 21 21:41:03 2009
New Revision: 883001

URL: http://svn.apache.org/viewvc?rev=883001&view=rev
Log:
Extended the test.

Modified:
    
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dependencymanager/test/ConfigurationDependencyTest.java

Modified: 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dependencymanager/test/ConfigurationDependencyTest.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dependencymanager/test/ConfigurationDependencyTest.java?rev=883001&r1=883000&r2=883001&view=diff
==============================================================================
--- 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dependencymanager/test/ConfigurationDependencyTest.java
 (original)
+++ 
felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dependencymanager/test/ConfigurationDependencyTest.java
 Sat Nov 21 21:41:03 2009
@@ -55,20 +55,23 @@
     }    
     
     @Test
-    public void testComponentWithRequiredConfiguration(BundleContext context) {
+    public void 
testComponentWithRequiredConfigurationAndServicePropertyPropagation(BundleContext
 context) {
         DependencyManager m = new DependencyManager(context, new 
Logger(context));
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a service provider and consumer
-        Service s1 = m.createService().setImplementation(new 
ConfigurationConsumer(e)).add(m.createConfigurationDependency().setPid("test"));
+        Service s1 = m.createService().setImplementation(new 
ConfigurationConsumer(e)).setInterface(Runnable.class.getName(), 
null).add(m.createConfigurationDependency().setPid("test").setPropagate(true));
         Service s2 = m.createService().setImplementation(new 
ConfigurationCreator(e)).add(m.createServiceDependency().setService(ConfigurationAdmin.class).setRequired(true));
+        Service s3 = m.createService().setImplementation(new 
ConfiguredServiceConsumer(e)).add(m.createServiceDependency().setService(Runnable.class,
 ("(testkey=testvalue)")).setRequired(true));
         m.add(s1);
         m.add(s2);
-        e.waitForStep(2, 2000);
+        m.add(s3);
+        e.waitForStep(4, 2000);
         m.remove(s1);
         m.remove(s2);
+        m.remove(s3);
         // ensure we executed all steps inside the component instance
-        e.step(3);
+        e.step(5);
     }
 }
 
@@ -94,7 +97,7 @@
     }
 }
 
-class ConfigurationConsumer implements ManagedService {
+class ConfigurationConsumer implements ManagedService, Runnable {
     private final Ensure m_ensure;
 
     public ConfigurationConsumer(Ensure e) {
@@ -109,4 +112,22 @@
             }
         }
     }
-}
\ No newline at end of file
+    
+    public void run() {
+        m_ensure.step(4);
+    }
+}
+
+class ConfiguredServiceConsumer {
+    private final Ensure m_ensure;
+    private volatile Runnable m_runnable;
+
+    public ConfiguredServiceConsumer(Ensure e) {
+        m_ensure = e;
+    }
+    
+    public void start() {
+        m_ensure.step(3);
+        m_runnable.run();
+    }
+}


Reply via email to