FELIX-3524: Added test_configuration_pid_use_ds12 for validation of configuration-pid usage in the proper ds12 namespace.


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1345698 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/test/java/org/apache/felix/scr/impl/metadata/ComponentMetadataTest.java b/scr/src/test/java/org/apache/felix/scr/impl/metadata/ComponentMetadataTest.java
index 3cd7ff3..8dafdf8 100644
--- a/scr/src/test/java/org/apache/felix/scr/impl/metadata/ComponentMetadataTest.java
+++ b/scr/src/test/java/org/apache/felix/scr/impl/metadata/ComponentMetadataTest.java
@@ -697,6 +697,33 @@
         }
     }
 
+    public void test_configuration_pid_use_ds12()
+    {
+      ComponentMetadata cm = createComponentMetadata11( null, null );
+        try
+        {
+          cm.setConfigirationPid( "configurationPid" );
+          cm.validate( logger );
+          fail( "Expect validation failure for illegal configuration-pid usage in ds 1.1 namespace" );
+        }
+        catch ( ComponentException ce )
+        {
+            // expected
+        }
+        
+        cm = createComponentMetadata12( null, null );
+        try
+        {
+          cm.setConfigirationPid( "configurationPid" );
+          cm.validate( logger );
+        }
+        catch ( ComponentException ce )
+        {
+          ce.printStackTrace();
+          fail( "Expect correct validation for legal configuration-pid usage in ds 1.2 or later namespace" );
+        }
+    }
+
 
     public void test_property_character_ds11() throws ComponentException
     {
@@ -761,6 +788,11 @@
         return createComponentMetadata( XmlHandler.DS_VERSION_1_1, immediate, factory );
     }
 
+    // Creates DS 1.2 Component Metadata
+    private ComponentMetadata createComponentMetadata12( Boolean immediate, String factory )
+    {
+        return createComponentMetadata( XmlHandler.DS_VERSION_1_2, immediate, factory );
+    }
 
     private ServiceMetadata createServiceMetadata( Boolean serviceFactory )
     {