Test cascaded multiple revision gets 52/104052/1
authorliamfallon <liam.fallon@est.tech>
Fri, 20 Mar 2020 12:50:35 +0000 (12:50 +0000)
committerliamfallon <liam.fallon@est.tech>
Fri, 20 Mar 2020 12:50:38 +0000 (12:50 +0000)
This patch tests cascaded get requests with multiple revisions.

Issue-ID: POLICY-2377
Change-Id: Ie7dc849d7b930b861d38c386a9950ae7e84e2a05
Signed-off-by: liamfallon <liam.fallon@est.tech>
models-base/src/main/java/org/onap/policy/models/base/PfConceptContainer.java
models-base/src/test/java/org/onap/policy/models/base/PfConceptContainerTest.java
models-provider/src/test/java/org/onap/policy/models/provider/revisionhierarchy/HierarchyFetchTest.java
models-provider/src/test/resources/servicetemplates/MultipleRevisionServiceTemplate.yaml

index d259fa2..b949004 100644 (file)
@@ -322,7 +322,7 @@ public class PfConceptContainer<C extends PfConcept, A extends PfNameVersion> ex
      * @return conceptKeyVersion
      */
     public Set<C> getAllNamesAndVersions(final String conceptKeyName, final String conceptKeyVersion) {
-        if (conceptKeyName == null || conceptKeyVersion == null) {
+        if (conceptKeyName == null || conceptKeyVersion == null || PfKey.NULL_KEY_VERSION.equals(conceptKeyVersion)) {
             return getAll(conceptKeyName, conceptKeyVersion);
         } else {
             final Set<C> returnSet = new TreeSet<>();
index 600605a..e28fa4c 100644 (file)
@@ -179,6 +179,8 @@ public class PfConceptContainerTest {
         assertEquals(conceptKey, returnSet.iterator().next().getKey());
         returnSet = container.getAllNamesAndVersions(conceptKey.getName(), null);
         assertEquals(conceptKey, returnSet.iterator().next().getKey());
+        returnSet = container.getAllNamesAndVersions(conceptKey.getName(), "0.0.0");
+        assertEquals(conceptKey, returnSet.iterator().next().getKey());
         returnSet = container.getAllNamesAndVersions("IDontExist", "1.0.0");
         assertTrue(returnSet.isEmpty());
 
index 2f36f9a..043968b 100644 (file)
 package org.onap.policy.models.provider.revisionhierarchy;
 
 import static org.assertj.core.api.Assertions.assertThatCode;
+import static org.junit.Assert.assertEquals;
 
 import java.util.Base64;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
 
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -31,6 +35,8 @@ import org.onap.policy.common.utils.resources.TextFileUtils;
 import org.onap.policy.models.provider.PolicyModelsProvider;
 import org.onap.policy.models.provider.PolicyModelsProviderFactory;
 import org.onap.policy.models.provider.PolicyModelsProviderParameters;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
 
 public class HierarchyFetchTest {
@@ -61,6 +67,269 @@ public class HierarchyFetchTest {
             databaseProvider.createPolicies(serviceTemplate);
         }).doesNotThrowAnyException();
 
+        ToscaServiceTemplate fetchedServiceTemplate = databaseProvider.getPolicies(null, null);
+
+        assertLatestDataTypesAreReturned(fetchedServiceTemplate);
+        assertLatestPolicyTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(12, countReturnedPolicies(fetchedServiceTemplate));
+
+        fetchedServiceTemplate = databaseProvider.getPolicyTypes(null, null);
+        assertLatestDataTypesAreReturned(fetchedServiceTemplate);
+        assertLatestPolicyTypesAreReturned(fetchedServiceTemplate);
+
+        fetchedServiceTemplate = databaseProvider.getPolicies("onap.policies.PolicyLevel0", null);
+        assertLatestDataTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(1, fetchedServiceTemplate.getPolicyTypes().size());
+        ToscaPolicyType fetchedPolicyType = fetchedServiceTemplate.getPolicyTypes().values().iterator().next();
+        assertEquals("onap.policies.PolicyTypeLevel0", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        assertEquals(3, countReturnedPolicies(fetchedServiceTemplate));
+
+        fetchedServiceTemplate = databaseProvider.getPolicies("onap.policies.PolicyLevel0", "1.0.0");
+        assertOldDataTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(1, fetchedServiceTemplate.getPolicyTypes().size());
+        fetchedPolicyType = fetchedServiceTemplate.getPolicyTypes().values().iterator().next();
+        assertEquals("onap.policies.PolicyTypeLevel0", fetchedPolicyType.getName());
+        assertEquals("1.0.0", fetchedPolicyType.getVersion());
+        assertEquals(1, countReturnedPolicies(fetchedServiceTemplate));
+
+        fetchedServiceTemplate = databaseProvider.getPolicies("onap.policies.PolicyLevel0", "1.1.0");
+        assertOldDataTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(1, fetchedServiceTemplate.getPolicyTypes().size());
+        fetchedPolicyType = fetchedServiceTemplate.getPolicyTypes().values().iterator().next();
+        assertEquals("onap.policies.PolicyTypeLevel0", fetchedPolicyType.getName());
+        assertEquals("2.0.0", fetchedPolicyType.getVersion());
+        assertEquals(1, countReturnedPolicies(fetchedServiceTemplate));
+
+        fetchedServiceTemplate = databaseProvider.getPolicies("onap.policies.PolicyLevel0", "1.2.0");
+        assertLatestDataTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(1, fetchedServiceTemplate.getPolicyTypes().size());
+        fetchedPolicyType = fetchedServiceTemplate.getPolicyTypes().values().iterator().next();
+        assertEquals("onap.policies.PolicyTypeLevel0", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        assertEquals(1, countReturnedPolicies(fetchedServiceTemplate));
+
+        fetchedServiceTemplate = databaseProvider.getPolicies("onap.policies.PolicyLevel0.1", null);
+        assertLatestDataTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(2, fetchedServiceTemplate.getPolicyTypes().size());
+        Iterator<ToscaPolicyType> fetchedPolicyTypeIterator =
+            fetchedServiceTemplate.getPolicyTypes().values().iterator();
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        assertEquals(3, countReturnedPolicies(fetchedServiceTemplate));
+
+        fetchedServiceTemplate = databaseProvider.getPolicies("onap.policies.PolicyLevel0.1", "1.0.0");
+        assertLatestDataTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(2, fetchedServiceTemplate.getPolicyTypes().size());
+        fetchedPolicyTypeIterator = fetchedServiceTemplate.getPolicyTypes().values().iterator();
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1", fetchedPolicyType.getName());
+        assertEquals("1.0.0", fetchedPolicyType.getVersion());
+        assertEquals(1, countReturnedPolicies(fetchedServiceTemplate));
+
+        fetchedServiceTemplate = databaseProvider.getPolicies("onap.policies.PolicyLevel0.1", "1.1.0");
+        assertLatestDataTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(2, fetchedServiceTemplate.getPolicyTypes().size());
+        fetchedPolicyTypeIterator = fetchedServiceTemplate.getPolicyTypes().values().iterator();
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1", fetchedPolicyType.getName());
+        assertEquals("2.0.0", fetchedPolicyType.getVersion());
+        assertEquals(1, countReturnedPolicies(fetchedServiceTemplate));
+
+        fetchedServiceTemplate = databaseProvider.getPolicies("onap.policies.PolicyLevel0.1", "1.2.0");
+        assertLatestDataTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(2, fetchedServiceTemplate.getPolicyTypes().size());
+        fetchedPolicyTypeIterator = fetchedServiceTemplate.getPolicyTypes().values().iterator();
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        assertEquals(1, countReturnedPolicies(fetchedServiceTemplate));
+
+        fetchedServiceTemplate = databaseProvider.getPolicies("onap.policies.PolicyLevel0.1.2", null);
+        assertLatestDataTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(3, fetchedServiceTemplate.getPolicyTypes().size());
+        fetchedPolicyTypeIterator = fetchedServiceTemplate.getPolicyTypes().values().iterator();
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1.2", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        assertEquals(3, countReturnedPolicies(fetchedServiceTemplate));
+
+        fetchedServiceTemplate = databaseProvider.getPolicies("onap.policies.PolicyLevel0.1.2", "1.0.0");
+        assertLatestDataTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(3, fetchedServiceTemplate.getPolicyTypes().size());
+        fetchedPolicyTypeIterator = fetchedServiceTemplate.getPolicyTypes().values().iterator();
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1.2", fetchedPolicyType.getName());
+        assertEquals("1.0.0", fetchedPolicyType.getVersion());
+        assertEquals(1, countReturnedPolicies(fetchedServiceTemplate));
+
+        fetchedServiceTemplate = databaseProvider.getPolicies("onap.policies.PolicyLevel0.1.2", "1.1.0");
+        assertLatestDataTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(3, fetchedServiceTemplate.getPolicyTypes().size());
+        fetchedPolicyTypeIterator = fetchedServiceTemplate.getPolicyTypes().values().iterator();
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1.2", fetchedPolicyType.getName());
+        assertEquals("2.0.0", fetchedPolicyType.getVersion());
+        assertEquals(1, countReturnedPolicies(fetchedServiceTemplate));
+
+        fetchedServiceTemplate = databaseProvider.getPolicies("onap.policies.PolicyLevel0.1.2", "1.2.0");
+        assertLatestDataTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(3, fetchedServiceTemplate.getPolicyTypes().size());
+        fetchedPolicyTypeIterator = fetchedServiceTemplate.getPolicyTypes().values().iterator();
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1.2", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        assertEquals(1, countReturnedPolicies(fetchedServiceTemplate));
+
+        fetchedServiceTemplate = databaseProvider.getPolicies("onap.policies.PolicyLevel0.1.2.3", null);
+        assertLatestDataTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(4, fetchedServiceTemplate.getPolicyTypes().size());
+        fetchedPolicyTypeIterator = fetchedServiceTemplate.getPolicyTypes().values().iterator();
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1.2", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1.2.3", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        assertEquals(3, countReturnedPolicies(fetchedServiceTemplate));
+
+        fetchedServiceTemplate = databaseProvider.getPolicies("onap.policies.PolicyLevel0.1.2.3", "1.0.0");
+        assertLatestDataTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(4, fetchedServiceTemplate.getPolicyTypes().size());
+        fetchedPolicyTypeIterator = fetchedServiceTemplate.getPolicyTypes().values().iterator();
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1.2", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1.2.3", fetchedPolicyType.getName());
+        assertEquals("1.0.0", fetchedPolicyType.getVersion());
+        assertEquals(1, countReturnedPolicies(fetchedServiceTemplate));
+
+        fetchedServiceTemplate = databaseProvider.getPolicies("onap.policies.PolicyLevel0.1.2.3", "1.1.0");
+        assertLatestDataTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(4, fetchedServiceTemplate.getPolicyTypes().size());
+        fetchedPolicyTypeIterator = fetchedServiceTemplate.getPolicyTypes().values().iterator();
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1.2", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1.2.3", fetchedPolicyType.getName());
+        assertEquals("2.0.0", fetchedPolicyType.getVersion());
+        assertEquals(1, countReturnedPolicies(fetchedServiceTemplate));
+
+        fetchedServiceTemplate = databaseProvider.getPolicies("onap.policies.PolicyLevel0.1.2.3", "1.2.0");
+        assertLatestDataTypesAreReturned(fetchedServiceTemplate);
+        assertEquals(4, fetchedServiceTemplate.getPolicyTypes().size());
+        fetchedPolicyTypeIterator = fetchedServiceTemplate.getPolicyTypes().values().iterator();
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1.2", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        fetchedPolicyType = fetchedPolicyTypeIterator.next();
+        assertEquals("onap.policies.PolicyTypeLevel0.1.2.3", fetchedPolicyType.getName());
+        assertEquals("3.0.0", fetchedPolicyType.getVersion());
+        assertEquals(1, countReturnedPolicies(fetchedServiceTemplate));
+
         databaseProvider.close();
     }
+
+    private void assertOldDataTypesAreReturned(final ToscaServiceTemplate fetchedServiceTemplate) {
+        assertEquals(6, fetchedServiceTemplate.getDataTypes().size());
+        assertEquals("1.0.0", fetchedServiceTemplate.getDataTypes().get("policy.data.DataType0").getVersion());
+        assertEquals("1.0.0", fetchedServiceTemplate.getDataTypes().get("policy.data.DataType1").getVersion());
+        assertEquals("1.0.0", fetchedServiceTemplate.getDataTypes().get("policy.data.DataType2").getVersion());
+        assertEquals("1.0.0", fetchedServiceTemplate.getDataTypes().get("policy.data.DataType3").getVersion());
+        assertEquals("1.0.0", fetchedServiceTemplate.getDataTypes().get("policy.data.DataType4").getVersion());
+        assertEquals("3.0.0", fetchedServiceTemplate.getDataTypes().get("policy.data.DataType5").getVersion());
+    }
+
+    private void assertLatestDataTypesAreReturned(final ToscaServiceTemplate fetchedServiceTemplate) {
+        assertEquals(7, fetchedServiceTemplate.getDataTypes().size());
+        assertEquals("1.0.0", fetchedServiceTemplate.getDataTypes().get("policy.data.DataType0").getVersion());
+        assertEquals("1.0.0", fetchedServiceTemplate.getDataTypes().get("policy.data.DataType1").getVersion());
+        assertEquals("1.0.0", fetchedServiceTemplate.getDataTypes().get("policy.data.DataType2").getVersion());
+        assertEquals("1.0.0", fetchedServiceTemplate.getDataTypes().get("policy.data.DataType3").getVersion());
+        assertEquals("1.0.0", fetchedServiceTemplate.getDataTypes().get("policy.data.DataType4").getVersion());
+        assertEquals("3.0.0", fetchedServiceTemplate.getDataTypes().get("policy.data.DataType5").getVersion());
+        assertEquals("2.0.0", fetchedServiceTemplate.getDataTypes().get("policy.data.DataType6").getVersion());
+    }
+
+    private void assertLatestPolicyTypesAreReturned(final ToscaServiceTemplate fetchedServiceTemplate) {
+        assertEquals(4, fetchedServiceTemplate.getPolicyTypes().size());
+
+        for (ToscaPolicyType policyType : fetchedServiceTemplate.getPolicyTypes().values()) {
+            assertEquals("3.0.0", policyType.getVersion());
+        }
+    }
+
+    private int countReturnedPolicies(final ToscaServiceTemplate fetchedServiceTemplate) {
+        List<Map<String, ToscaPolicy>> policyMapList = fetchedServiceTemplate.getToscaTopologyTemplate().getPolicies();
+
+        int totalPolicies = 0;
+        for (Map<String, ToscaPolicy> policyMap : policyMapList) {
+            totalPolicies += policyMap.size();
+        }
+
+        return totalPolicies;
+    }
 }
index 5f250e0..256c68c 100644 (file)
@@ -257,35 +257,123 @@ topology_template:
                   - 456
                   - 789
                dataType0Property1:
-               - dataType3Property0: dataType3Property0 value 0
-               - dataType3Property0: dataType3Property0 value 1
-               - dataType3Property0: dataType3Property0 value 2
-               - dataType3Property0: dataType3Property0 value 3
+               -  dataType3Property0: dataType3Property0 value 0
+               -  dataType3Property0: dataType3Property0 value 1
+               -  dataType3Property0: dataType3Property0 value 2
+               -  dataType3Property0: dataType3Property0 value 3
             policyLevel0Property1:
-            - dataType1Property0:
+            -  dataType1Property0:
                   dataType4Property0: dataType4Property0 value
                   dataType4Property1:
                   - 123
                   - 456
                   - 789
-              dataType1Property1:
-               - dataType5Property0: dataType5Property0 value 0
-               - dataType5Property0: dataType5Property0 value 1
-               - dataType5Property0: dataType5Property0 value 2
-               - dataType5Property0: dataType5Property0 value 3
-            - dataType1Property0:
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            -  dataType1Property0:
                   dataType4Property0: dataType4Property0 value
                   dataType4Property1:
                   - 123
                   - 456
                   - 789
-              dataType1Property1:
-               - dataType5Property0: dataType5Property0 value 0
-               - dataType5Property0: dataType5Property0 value 1
-               - dataType5Property0: dataType5Property0 value 2
-               - dataType5Property0: dataType5Property0 value 3
-   -  onap.policies.PolicyLevel0.1:
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+   -  onap.policies.PolicyLevel0:
+         type: onap.policies.PolicyTypeLevel0
+         version: 1.1.0
+         type_version: 2.0.0
+         description: Level 0 policy
+         properties:
+            policyLevel0Property0:
+               dataType0Property0:
+                  dataType2Property0: dataType2Property0 value
+                  dataType2Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType0Property1:
+               -  dataType3Property0: dataType3Property0 value 0
+               -  dataType3Property0: dataType3Property0 value 1
+               -  dataType3Property0: dataType3Property0 value 2
+               -  dataType3Property0: dataType3Property0 value 3
+            policyLevel0Property1:
+            -  dataType1Property0:
+                  dataType4Property0: dataType4Property0 value
+                  dataType4Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            -  dataType1Property0:
+                  dataType4Property0: dataType4Property0 value
+                  dataType4Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            policyLevel0V2Property2:
+               dataType5Property0: policyLevel0V2Property2D5P0 value
+   -  onap.policies.PolicyLevel0:
          type: onap.policies.PolicyTypeLevel0
+         version: 1.2.0
+         type_version: 3.0.0
+         description: Level 0 policy
+         properties:
+            policyLevel0Property0:
+               dataType0Property0:
+                  dataType2Property0: dataType2Property0 value
+                  dataType2Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType0Property1:
+               -  dataType3Property0: dataType3Property0 value 0
+               -  dataType3Property0: dataType3Property0 value 1
+               -  dataType3Property0: dataType3Property0 value 2
+               -  dataType3Property0: dataType3Property0 value 3
+            policyLevel0Property1:
+            -  dataType1Property0:
+                  dataType4Property0: dataType4Property0 value
+                  dataType4Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            -  dataType1Property0:
+                  dataType4Property0: dataType4Property0 value
+                  dataType4Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            policyLevel0V2Property2:
+               dataType5Property0: policyLevel0V2Property2D5P0 value
+            policyLevel0V3Property3:
+               dataType6Property0: 1223456
+   -  onap.policies.PolicyLevel0.1:
+         type: onap.policies.PolicyTypeLevel0.1
          version: 1.0.0
          type_version: 1.0.0
          description: Level 0 policy
@@ -298,37 +386,138 @@ topology_template:
                   - 456
                   - 789
                dataType0Property1:
-               - dataType3Property0: dataType3Property0 value 0
-               - dataType3Property0: dataType3Property0 value 1
-               - dataType3Property0: dataType3Property0 value 2
-               - dataType3Property0: dataType3Property0 value 3
+               -  dataType3Property0: dataType3Property0 value 0
+               -  dataType3Property0: dataType3Property0 value 1
+               -  dataType3Property0: dataType3Property0 value 2
+               -  dataType3Property0: dataType3Property0 value 3
+            policyLevel0Property1:
+            -  dataType1Property0:
+                  dataType4Property0: dataType4Property0 value
+                  dataType4Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            -  dataType1Property0:
+                  dataType4Property0: dataType4Property0 value
+                  dataType4Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            policyLevel0.1Property0:
+               dataType5Property0: policyLevel0.1Property0 value
+            policyLevel0.1Property1:
+               dataType6Property0: 123
+   -  onap.policies.PolicyLevel0.1:
+         type: onap.policies.PolicyTypeLevel0.1
+         version: 1.1.0
+         type_version: 2.0.0
+         description: Level 0 policy
+         properties:
+            policyLevel0Property0:
+               dataType0Property0:
+                  dataType2Property0: dataType2Property0 value
+                  dataType2Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType0Property1:
+               -  dataType3Property0: dataType3Property0 value 0
+               -  dataType3Property0: dataType3Property0 value 1
+               -  dataType3Property0: dataType3Property0 value 2
+               -  dataType3Property0: dataType3Property0 value 3
+            policyLevel0Property1:
+            -  dataType1Property0:
+                  dataType4Property0: dataType4Property0 value
+                  dataType4Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            -  dataType1Property0:
+                  dataType4Property0: dataType4Property0 value
+                  dataType4Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            policyLevel0.1Property0:
+               dataType5Property0: policyLevel0.1Property0 value
+            policyLevel0.1Property1:
+               dataType6Property0: 123
+            policyLevel0.1V2Property2:
+               dataType5Property0: policyLevel0.1V2Property2D5P0 value
+               dataType5V2Property1: policyLevel0.1V2Property2D5V2P1 value
+   -  onap.policies.PolicyLevel0.1:
+         type: onap.policies.PolicyTypeLevel0.1
+         version: 1.2.0
+         type_version: 3.0.0
+         description: Level 0 policy
+         properties:
+            policyLevel0Property0:
+               dataType0Property0:
+                  dataType2Property0: dataType2Property0 value
+                  dataType2Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType0Property1:
+               -  dataType3Property0: dataType3Property0 value 0
+               -  dataType3Property0: dataType3Property0 value 1
+               -  dataType3Property0: dataType3Property0 value 2
+               -  dataType3Property0: dataType3Property0 value 3
             policyLevel0Property1:
-            - dataType1Property0:
+            -  dataType1Property0:
                   dataType4Property0: dataType4Property0 value
                   dataType4Property1:
                   - 123
                   - 456
                   - 789
-              dataType1Property1:
-               - dataType5Property0: dataType5Property0 value 0
-               - dataType5Property0: dataType5Property0 value 1
-               - dataType5Property0: dataType5Property0 value 2
-               - dataType5Property0: dataType5Property0 value 3
-            - dataType1Property0:
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            -  dataType1Property0:
                   dataType4Property0: dataType4Property0 value
                   dataType4Property1:
                   - 123
                   - 456
                   - 789
-              dataType1Property1:
-               - dataType5Property0: dataType5Property0 value 0
-               - dataType5Property0: dataType5Property0 value 1
-               - dataType5Property0: dataType5Property0 value 2
-               - dataType5Property0: dataType5Property0 value 3
-            policyLevel0.1Property0: policyLevel0.1Property0 value
-            policyLevel0.1Property1: 123
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            policyLevel0.1Property0:
+               dataType5Property0: policyLevel0.1Property0 value
+            policyLevel0.1Property1:
+               dataType6Property0: 123
+            policyLevel0.1V2Property2:
+               dataType5Property0: policyLevel0.1V2Property2D5P0 value
+               dataType5V2Property1: policyLevel0.1V2Property2D5V2P1 value
+            policyLevel0V3Property3:
+               dataType6Property0: 1223456
+               dataType6V2Property1: 12211
    -  onap.policies.PolicyLevel0.1.2:
-         type: onap.policies.PolicyTypeLevel0
+         type: onap.policies.PolicyTypeLevel0.1.2
          version: 1.0.0
          type_version: 1.0.0
          description: Level 0 policy
@@ -341,39 +530,155 @@ topology_template:
                   - 456
                   - 789
                dataType0Property1:
-               - dataType3Property0: dataType3Property0 value 0
-               - dataType3Property0: dataType3Property0 value 1
-               - dataType3Property0: dataType3Property0 value 2
-               - dataType3Property0: dataType3Property0 value 3
+               -  dataType3Property0: dataType3Property0 value 0
+               -  dataType3Property0: dataType3Property0 value 1
+               -  dataType3Property0: dataType3Property0 value 2
+               -  dataType3Property0: dataType3Property0 value 3
+            policyLevel0Property1:
+            -  dataType1Property0:
+                  dataType4Property0: dataType4Property0 value
+                  dataType4Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            -  dataType1Property0:
+                  dataType4Property0: dataType4Property0 value
+                  dataType4Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            policyLevel0.1Property0:
+               dataType5Property0: policyLevel0.1Property0 value
+            policyLevel0.1Property1:
+               dataType6Property0: 123
+            policyLevel0.1.2V2Property2:
+               dataType5Property0: policyLevel0.1.2Property2 value
+            policyLevel0.1.2V3Property3:
+               dataType6Property0: 456
+   -  onap.policies.PolicyLevel0.1.2:
+         type: onap.policies.PolicyTypeLevel0.1.2
+         version: 1.1.0
+         type_version: 2.0.0
+         description: Level 0 policy
+         properties:
+            policyLevel0Property0:
+               dataType0Property0:
+                  dataType2Property0: dataType2Property0 value
+                  dataType2Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType0Property1:
+               -  dataType3Property0: dataType3Property0 value 0
+               -  dataType3Property0: dataType3Property0 value 1
+               -  dataType3Property0: dataType3Property0 value 2
+               -  dataType3Property0: dataType3Property0 value 3
+            policyLevel0Property1:
+            -  dataType1Property0:
+                  dataType4Property0: dataType4Property0 value
+                  dataType4Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            -  dataType1Property0:
+                  dataType4Property0: dataType4Property0 value
+                  dataType4Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            policyLevel0.1Property0:
+               dataType5Property0: policyLevel0.1Property0 value
+            policyLevel0.1Property1:
+               dataType6Property0: 123
+            policyLevel0.1.2Property0:
+               dataType5Property0: policyLevel0.1.2Property0 value
+               dataType5V2Property1: policyLevel0.1V2Property0D5V2P1 value
+               dataType5V3Property2: policyLevel0.1V2Property0D5V3P2 value
+            policyLevel0.1.2Property1:
+               dataType6Property0: 456
+               dataType6V2Property1: 12211
+            policyLevel0.1.2V2Property2:
+               dataType5Property0: policyLevel0.1.2Property2 value
+               dataType5V2Property1: policyLevel0.1V2Property2D5V2P1 value
+               dataType5V3Property2: policyLevel0.1V2Property2D5V3P2 value
+   -  onap.policies.PolicyLevel0.1.2:
+         type: onap.policies.PolicyTypeLevel0.1.2
+         version: 1.2.0
+         type_version: 3.0.0
+         description: Level 0 policy
+         properties:
+            policyLevel0Property0:
+               dataType0Property0:
+                  dataType2Property0: dataType2Property0 value
+                  dataType2Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType0Property1:
+               -  dataType3Property0: dataType3Property0 value 0
+               -  dataType3Property0: dataType3Property0 value 1
+               -  dataType3Property0: dataType3Property0 value 2
+               -  dataType3Property0: dataType3Property0 value 3
             policyLevel0Property1:
-            - dataType1Property0:
+            -  dataType1Property0:
                   dataType4Property0: dataType4Property0 value
                   dataType4Property1:
                   - 123
                   - 456
                   - 789
-              dataType1Property1:
-               - dataType5Property0: dataType5Property0 value 0
-               - dataType5Property0: dataType5Property0 value 1
-               - dataType5Property0: dataType5Property0 value 2
-               - dataType5Property0: dataType5Property0 value 3
-            - dataType1Property0:
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            -  dataType1Property0:
                   dataType4Property0: dataType4Property0 value
                   dataType4Property1:
                   - 123
                   - 456
                   - 789
-              dataType1Property1:
-               - dataType5Property0: dataType5Property0 value 0
-               - dataType5Property0: dataType5Property0 value 1
-               - dataType5Property0: dataType5Property0 value 2
-               - dataType5Property0: dataType5Property0 value 3
-            policyLevel0.1Property0: policyLevel0.1Property0 value
-            policyLevel0.1Property1: 123
-            policyLevel0.1.2Property0: policyLevel0.1.2Property0 value
-            policyLevel0.1.2Property1: 456
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            policyLevel0.1Property0:
+               dataType5Property0: policyLevel0.1Property0 value
+            policyLevel0.1Property1:
+               dataType6Property0: 123
+            policyLevel0.1.2Property0:
+               dataType5Property0: policyLevel0.1.2Property0 value
+            policyLevel0.1.2Property1:
+               dataType6Property0: 456
+            policyLevel0.1.2V2Property2:
+               dataType5Property0: policyLevel0.1.2Property2 value
+               dataType5V2Property1: policyLevel0.1V2Property2D5V2P1 value
+               dataType5V3Property2: policyLevel0.1V2Property2D5V3P2 value
+            policyLevel0.1.2V3Property3:
+               dataType6Property0: 456
+               dataType6V2Property1: 12211
    -  onap.policies.PolicyLevel0.1.2.3:
-         type: onap.policies.PolicyTypeLevel0
+         type: onap.policies.PolicyTypeLevel0.1.2.3
          version: 1.0.0
          type_version: 1.0.0
          description: Level 0 policy
@@ -386,36 +691,156 @@ topology_template:
                   - 456
                   - 789
                dataType0Property1:
-               - dataType3Property0: dataType3Property0 value 0
-               - dataType3Property0: dataType3Property0 value 1
-               - dataType3Property0: dataType3Property0 value 2
-               - dataType3Property0: dataType3Property0 value 3
+               -  dataType3Property0: dataType3Property0 value 0
+               -  dataType3Property0: dataType3Property0 value 1
+               -  dataType3Property0: dataType3Property0 value 2
+               -  dataType3Property0: dataType3Property0 value 3
+            policyLevel0Property1:
+            -  dataType1Property0:
+                  dataType4Property0: dataType4Property0 value
+                  dataType4Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            -  dataType1Property0:
+                  dataType4Property0: dataType4Property0 value
+                  dataType4Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            policyLevel0.1Property0:
+               dataType5Property0: policyLevel0.1Property0 value
+            policyLevel0.1Property1:
+               dataType6Property0: 123
+            policyLevel0.1.2Property0:
+               dataType5Property0: policyLevel0.1.2Property0 value
+            policyLevel0.1.2Property1:
+               dataType6Property0: 456
+            policyLevel0.1.2.3Property0:
+               dataType5Property0: policyLevel0.1.2.3Property0 value
+            policyLevel0.1.2.3Property1:
+               dataType6Property0: 789
+   -  onap.policies.PolicyLevel0.1.2.3:
+         type: onap.policies.PolicyTypeLevel0.1.2.3
+         version: 1.1.0
+         type_version: 2.0.0
+         description: Level 0 policy
+         properties:
+            policyLevel0Property0:
+               dataType0Property0:
+                  dataType2Property0: dataType2Property0 value
+                  dataType2Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType0Property1:
+               -  dataType3Property0: dataType3Property0 value 0
+               -  dataType3Property0: dataType3Property0 value 1
+               -  dataType3Property0: dataType3Property0 value 2
+               -  dataType3Property0: dataType3Property0 value 3
+            policyLevel0Property1:
+            -  dataType1Property0:
+                  dataType4Property0: dataType4Property0 value
+                  dataType4Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            -  dataType1Property0:
+                  dataType4Property0: dataType4Property0 value
+                  dataType4Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            policyLevel0.1Property0:
+               dataType6Property0: policyLevel0.1Property0 value
+            policyLevel0.1Property1:
+               dataType6Property0: 123
+            policyLevel0.1.2Property0:
+               dataType5Property0: policyLevel0.1.2Property0 value
+            policyLevel0.1.2Property1:
+               dataType6Property0: 456
+            policyLevel0.1.2.3Property0:
+               dataType5Property0: policyLevel0.1.2.3Property0 value
+            policyLevel0.1.2.3Property1:
+               dataType6Property0: 789
+            policyLevel0.1.2.3V2Property2:
+               dataType5Property0: policyLevel0.1.2.3Property2 DT5P0 value
+               dataType5V2Property1: policyLevel0.1.2.3Property2 DT5V2P1 value
+   -  onap.policies.PolicyLevel0.1.2.3:
+         type: onap.policies.PolicyTypeLevel0.1.2.3
+         version: 1.2.0
+         type_version: 3.0.0
+         description: Level 0 policy
+         properties:
+            policyLevel0Property0:
+               dataType0Property0:
+                  dataType2Property0: dataType2Property0 value
+                  dataType2Property1:
+                  - 123
+                  - 456
+                  - 789
+               dataType0Property1:
+               -  dataType3Property0: dataType3Property0 value 0
+               -  dataType3Property0: dataType3Property0 value 1
+               -  dataType3Property0: dataType3Property0 value 2
+               -  dataType3Property0: dataType3Property0 value 3
             policyLevel0Property1:
-            - dataType1Property0:
+            -  dataType1Property0:
                   dataType4Property0: dataType4Property0 value
                   dataType4Property1:
                   - 123
                   - 456
                   - 789
-              dataType1Property1:
-               - dataType5Property0: dataType5Property0 value 0
-               - dataType5Property0: dataType5Property0 value 1
-               - dataType5Property0: dataType5Property0 value 2
-               - dataType5Property0: dataType5Property0 value 3
-            - dataType1Property0:
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            -  dataType1Property0:
                   dataType4Property0: dataType4Property0 value
                   dataType4Property1:
                   - 123
                   - 456
                   - 789
-              dataType1Property1:
-               - dataType5Property0: dataType5Property0 value 0
-               - dataType5Property0: dataType5Property0 value 1
-               - dataType5Property0: dataType5Property0 value 2
-               - dataType5Property0: dataType5Property0 value 3
-            policyLevel0.1Property0: policyLevel0.1Property0 value
-            policyLevel0.1Property1: 123
-            policyLevel0.1.2Property0: policyLevel0.1.2Property0 value
-            policyLevel0.1.2Property1: 456
-            policyLevel0.1.2.3Property0: policyLevel0.1.2.3Property0 value
-            policyLevel0.1.2.3Property1: 456
+               dataType1Property1:
+               -  dataType5Property0: dataType5Property0 value 0
+               -  dataType5Property0: dataType5Property0 value 1
+               -  dataType5Property0: dataType5Property0 value 2
+               -  dataType5Property0: dataType5Property0 value 3
+            policyLevel0.1Property0:
+               dataType6Property0: policyLevel0.1Property0 value
+            policyLevel0.1Property1:
+               dataType6Property0: 123
+            policyLevel0.1.2Property0:
+               dataType5Property0: policyLevel0.1.2Property0 value
+            policyLevel0.1.2Property1:
+               dataType6Property0: 456
+            policyLevel0.1.2.3Property0:
+               dataType5Property0: policyLevel0.1.2.3Property0 value
+            policyLevel0.1.2.3V2Property2:
+               dataType5Property0: policyLevel0.1.2.3Property2 DT5P0 value
+               dataType5V2Property0: policyLevel0.1.2.3Property2 DT5V2P1 value
+               dataType5V3Property2: policyLevel0.1.2.3Property2 DT5V3P2 value
+            policyLevel0.1.2.3Property1:
+               dataType6Property0: 789
+               dataType6V2Property1: 10
\ No newline at end of file