FELIX-4166 unregister service if it becomes unsatisfied before being created, tests for unactivated components
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1503517 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/test/java/org/apache/felix/scr/integration/ComponentActivationTest.java b/scr/src/test/java/org/apache/felix/scr/integration/ComponentActivationTest.java
index 234d251..db5bb84 100644
--- a/scr/src/test/java/org/apache/felix/scr/integration/ComponentActivationTest.java
+++ b/scr/src/test/java/org/apache/felix/scr/integration/ComponentActivationTest.java
@@ -285,9 +285,17 @@
}
@Test
- public void test_activate_register_service_multiple_static_dependency()
+ public void test_activate_register_service_multiple_static_reluctant_dependency()
{
- final String componentname = "ActivatorComponent.bind.multiple.static";
+ final String componentname = "ActivatorComponent.bind.multiple.static.reluctant";
+
+ testRequiredDependency( componentname );
+ }
+
+ @Test
+ public void test_activate_register_service_multiple_static_greedy_dependency()
+ {
+ final String componentname = "ActivatorComponent.bind.multiple.static.greedy";
testRequiredDependency( componentname );
}
diff --git a/scr/src/test/resources/integration_test_activation_components.xml b/scr/src/test/resources/integration_test_activation_components.xml
index 79badd6..c5651b4 100644
--- a/scr/src/test/resources/integration_test_activation_components.xml
+++ b/scr/src/test/resources/integration_test_activation_components.xml
@@ -17,7 +17,7 @@
specific language governing permissions and limitations
under the License.
-->
-<components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0">
+<components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.2.0">
<!--
Components used for the ComponentActivationTest integration test.
@@ -149,7 +149,7 @@
</scr:component>
<!-- 1n static dependency -->
- <scr:component name="ActivatorComponent.bind.multiple.static"
+ <scr:component name="ActivatorComponent.bind.multiple.static.reluctant"
enabled="false"
activate="myActivate"
deactivate="myDeactivate">
@@ -168,6 +168,27 @@
/>
</scr:component>
+ <!-- 1n static greedy dependency -->
+ <scr:component name="ActivatorComponent.bind.multiple.static.greedy"
+ enabled="false"
+ activate="myActivate"
+ deactivate="myDeactivate">
+ <implementation class="org.apache.felix.scr.integration.components.ActivatorComponent" />
+ <service factory="false">
+ <provide interface="org.apache.felix.scr.integration.components.ActivatorComponent"/>
+ </service>
+ <property name="registerService" value="true" />
+ <reference
+ name="service"
+ interface="org.apache.felix.scr.integration.components.SimpleService"
+ bind="bindSimpleService"
+ unbind="unbindSimpleService"
+ policy="static"
+ policy-option="greedy"
+ cardinality="1..n"
+ />
+ </scr:component>
+
<!-- 11 dynamic dependency -->
<scr:component name="ActivatorComponent.bind.single.dynamic"
enabled="false"
@@ -188,7 +209,7 @@
/>
</scr:component>
- <!-- 11 static dependency -->
+ <!-- 1n dynamic dependency -->
<scr:component name="ActivatorComponent.bind.multiple.dynamic"
enabled="false"
activate="myActivate"