Author: djencks Date: Mon Jun 13 17:14:22 2016 New Revision: 1748287 URL: http://svn.apache.org/viewvc?rev=1748287&view=rev Log: FELIX-5248 test for complaint
Added: felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/Felix5248Test.java (with props) felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/components/felix5248/ felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/components/felix5248/Component.java (with props) felix/trunk/scr/src/test/resources/integration_test_FELIX_5248.xml (with props) Modified: felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/ComponentTestBase.java Modified: felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/ComponentTestBase.java URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/ComponentTestBase.java?rev=1748287&r1=1748286&r2=1748287&view=diff ============================================================================== --- felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/ComponentTestBase.java (original) +++ felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/ComponentTestBase.java Mon Jun 13 17:14:22 2016 @@ -154,8 +154,9 @@ public abstract class ComponentTestBase + "org.apache.felix.scr.integration.components.concurrency," + "org.apache.felix.scr.integration.components.deadlock," + "org.apache.felix.scr.integration.components.felix3680," - + "org.apache.felix.scr.integration.components.felix4984," + "org.apache.felix.scr.integration.components.felix3680_2," + + "org.apache.felix.scr.integration.components.felix4984," + + "org.apache.felix.scr.integration.components.felix5248," + "org.apache.felix.scr.integration.components.felix5276" ); builder.setHeader( "Import-Package", "org.apache.felix.scr.component" ); builder.setHeader( "Bundle-ManifestVersion", "2" ); Added: felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/Felix5248Test.java URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/Felix5248Test.java?rev=1748287&view=auto ============================================================================== --- felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/Felix5248Test.java (added) +++ felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/Felix5248Test.java Mon Jun 13 17:14:22 2016 @@ -0,0 +1,63 @@ +/* + * 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. + */ +package org.apache.felix.scr.integration; + +import java.util.Hashtable; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.ops4j.pax.exam.junit.JUnit4TestRunner; +import org.osgi.service.cm.Configuration; +import org.osgi.service.component.runtime.dto.ComponentConfigurationDTO; +import org.osgi.service.log.LogService; + +@RunWith(JUnit4TestRunner.class) +public class Felix5248Test extends ComponentTestBase +{ + static + { + descriptorFile = "/integration_test_FELIX_5248.xml"; + COMPONENT_PACKAGE = COMPONENT_PACKAGE + ".felix5248"; + DS_LOGLEVEL = "debug"; + } + + @Test + public void test_reconfigurationActivates() throws Exception + { + Hashtable<String, Object> props = new Hashtable<String, Object>(); + props.put( "FAIL", true ); + Configuration configC = configure( "Component", null, props ); + log.log( LogService.LOG_INFO, "Component updated with FAIL props" ); + delay(); + + String componentName = "Component"; + ComponentConfigurationDTO component = findComponentConfigurationByName( componentName, + ComponentConfigurationDTO.SATISFIED ); + log.log( LogService.LOG_INFO, "A checked satisfied (not active)" ); + + props.clear(); + configC.update( props ); + log.log( LogService.LOG_INFO, "Component updated with no props" ); + delay(); + + findComponentConfigurationByName( componentName, ComponentConfigurationDTO.ACTIVE ); + log.log( LogService.LOG_INFO, "C checked active" ); + + } +} Propchange: felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/Felix5248Test.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/Felix5248Test.java ------------------------------------------------------------------------------ svn:keywords = Date Revision Propchange: felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/Felix5248Test.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/components/felix5248/Component.java URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/components/felix5248/Component.java?rev=1748287&view=auto ============================================================================== --- felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/components/felix5248/Component.java (added) +++ felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/components/felix5248/Component.java Mon Jun 13 17:14:22 2016 @@ -0,0 +1,16 @@ +package org.apache.felix.scr.integration.components.felix5248; + +import java.util.Map; + +public class Component +{ + + void activate(Map<String, Object> props) + { + if (props.containsKey( "FAIL" )) + { + throw new IllegalStateException("you said to fail"); + } + } + +} Propchange: felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/components/felix5248/Component.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/components/felix5248/Component.java ------------------------------------------------------------------------------ svn:keywords = Date Revision Propchange: felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/components/felix5248/Component.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: felix/trunk/scr/src/test/resources/integration_test_FELIX_5248.xml URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/test/resources/integration_test_FELIX_5248.xml?rev=1748287&view=auto ============================================================================== --- felix/trunk/scr/src/test/resources/integration_test_FELIX_5248.xml (added) +++ felix/trunk/scr/src/test/resources/integration_test_FELIX_5248.xml Mon Jun 13 17:14:22 2016 @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> +<components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0"> + + <scr:component name="Component" + configuration-policy="require"> + <implementation class="org.apache.felix.scr.integration.components.felix5248.Component" /> + </scr:component> + +</components> \ No newline at end of file Propchange: felix/trunk/scr/src/test/resources/integration_test_FELIX_5248.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: felix/trunk/scr/src/test/resources/integration_test_FELIX_5248.xml ------------------------------------------------------------------------------ svn:keywords = Date Revision Propchange: felix/trunk/scr/src/test/resources/integration_test_FELIX_5248.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml