TOSCA Compliant Guard Policies
[policy/models.git] / models-tosca / src / test / java / org / onap / policy / models / tosca / authorative / concepts / ToscaPolicyTypeFilterTest.java
index 5fbad55..6304091 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ============LICENSE_START=======================================================
- *  Copyright (C) 2019 Nordix Foundation.
+ *  Copyright (C) 2019-2020 Nordix Foundation.
  *  Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -58,16 +58,22 @@ public class ToscaPolicyTypeFilterTest {
 
     // @formatter:off
     private static final String[] policyTypeResourceNames = {
+        "policytypes/onap.policies.controlloop.Operational.yaml",
+        "policytypes/onap.policies.optimization.resource.DistancePolicy.yaml",
+        "policytypes/onap.policies.optimization.resource.VnfPolicy.yaml",
+        "policytypes/onap.policies.optimization.resource.PciPolicy.yaml",
+        "policytypes/onap.policies.optimization.resource.OptimizationPolicy.yaml",
+        "policytypes/onap.policies.controlloop.guard.common.Blacklist.yaml",
         "policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml",
-        "policytypes/onap.policies.optimization.AffinityPolicy.yaml",
-        "policytypes/onap.policies.optimization.DistancePolicy.yaml",
-        "policytypes/onap.policies.optimization.HpaPolicy.yaml",
-        "policytypes/onap.policies.optimization.OptimizationPolicy.yaml",
-        "policytypes/onap.policies.optimization.PciPolicy.yaml",
-        "policytypes/onap.policies.optimization.QueryPolicy.yaml",
-        "policytypes/onap.policies.optimization.SubscriberPolicy.yaml",
-        "policytypes/onap.policies.optimization.Vim_fit.yaml",
-        "policytypes/onap.policies.optimization.VnfPolicy.yaml",
+        "policytypes/onap.policies.optimization.resource.HpaPolicy.yaml",
+        "policytypes/onap.policies.optimization.resource.Vim_fit.yaml",
+        "policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml",
+        "policytypes/onap.policies.optimization.resource.AffinityPolicy.yaml",
+        "policytypes/onap.policies.optimization.service.QueryPolicy.yaml",
+        "policytypes/onap.policies.controlloop.guard.common.MinMax.yaml",
+        "policytypes/onap.policies.controlloop.guard.common.FrequencyLimiter.yaml",
+        "policytypes/onap.policies.controlloop.guard.coordination.FirstBlocksSecond.yaml",
+        "policytypes/onap.policies.Optimization.yaml",
         "policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app.yaml"
     };
     // @formatter:on
@@ -90,9 +96,7 @@ public class ToscaPolicyTypeFilterTest {
                     new StandardCoder().decode(yamlAsJsonString, ToscaServiceTemplate.class);
             assertNotNull(serviceTemplate);
 
-            for (Map<String, ToscaPolicyType> foundPolicyTypeMap : serviceTemplate.getPolicyTypes()) {
-                addPolicyTypes(foundPolicyTypeMap);
-            }
+            addPolicyTypes(serviceTemplate.getPolicyTypes());
         }
 
         for (ToscaPolicyType type : typeList) {
@@ -121,7 +125,7 @@ public class ToscaPolicyTypeFilterTest {
 
         assertThatThrownBy(() -> {
             filter.filter(null);
-        }).hasMessage("originalList is marked @NonNull but is null");
+        }).hasMessageMatching("originalList is marked .*on.*ull but is null");
     }
 
     @Test
@@ -138,28 +142,36 @@ public class ToscaPolicyTypeFilterTest {
                 ToscaPolicyTypeFilter.builder().version(ToscaPolicyTypeFilter.LATEST_VERSION).build();
 
         List<ToscaPolicyType> filteredList = filter.filter(typeList);
-        assertEquals(13, filteredList.size());
+        assertEquals(20, filteredList.size());
         assertEquals(VERSION_100, filteredList.get(0).getVersion());
-        assertEquals(VERSION_000, filteredList.get(4).getVersion());
+        assertEquals(VERSION_100, filteredList.get(11).getVersion());
 
         typeList.get(12).setVersion("2.0.0");
         filteredList = filter.filter(typeList);
-        assertEquals(13, filteredList.size());
-        assertEquals("2.0.0", filteredList.get(0).getVersion());
-        assertEquals(VERSION_000, filteredList.get(4).getVersion());
+        assertEquals(20, filteredList.size());
+        //
+        // This seems to change around as to where this policy type
+        // got changed - perhaps we change this test to find a specific name
+        // to test for vs an index which never remains consistent?
+        //
+        assertEquals("2.0.0", filteredList.get(18).getVersion());
+        //
+        // And now this index changes again??
+        //
+        assertEquals(VERSION_100, filteredList.get(17).getVersion());
 
         typeList.get(12).setVersion(VERSION_100);
         filteredList = filter.filter(typeList);
-        assertEquals(13, filteredList.size());
+        assertEquals(20, filteredList.size());
         assertEquals(VERSION_100, filteredList.get(0).getVersion());
-        assertEquals(VERSION_000, filteredList.get(4).getVersion());
+        assertEquals(VERSION_100, filteredList.get(18).getVersion());
     }
 
     @Test
     public void testFilterNameVersion() {
         ToscaPolicyTypeFilter filter = ToscaPolicyTypeFilter.builder().name("onap.policies.Monitoring").build();
         List<ToscaPolicyType> filteredList = filter.filter(typeList);
-        assertEquals(2, filteredList.size());
+        assertEquals(1, filteredList.size());
 
         filter = ToscaPolicyTypeFilter.builder().name("onap.policies.monitoring.cdap.tca.hi.lo.app").build();
         filteredList = filter.filter(typeList);
@@ -169,14 +181,14 @@ public class ToscaPolicyTypeFilterTest {
         filteredList = filter.filter(typeList);
         assertEquals(0, filteredList.size());
 
-        filter = ToscaPolicyTypeFilter.builder().version(VERSION_000).build();
+        filter = ToscaPolicyTypeFilter.builder().version(VERSION_100).build();
         filteredList = filter.filter(typeList);
-        assertEquals(9, filteredList.size());
+        assertEquals(20, filteredList.size());
 
         filter = ToscaPolicyTypeFilter.builder().name("onap.policies.optimization.Vim_fit").version(VERSION_000)
-                        .build();
+                .build();
         filteredList = filter.filter(typeList);
-        assertEquals(1, filteredList.size());
+        assertEquals(0, filteredList.size());
 
         filter = ToscaPolicyTypeFilter.builder().name("onap.policies.optimization.Vim_fit").version("0.0.1").build();
         filteredList = filter.filter(typeList);