/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* @author Liam Fallon (liam.fallon@est.tech)
*/
public class ToscaPolicyTypeFilterTest {
+ private static final String VERSION_100 = "1.0.0";
+
+ private static final String VERSION_000 = "0.0.0";
+
// Logger for this class
private static final Logger LOGGER = LoggerFactory.getLogger(ToscaPolicyTypeFilterTest.class);
// @formatter:off
private static final String[] policyTypeResourceNames = {
- "policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml",
- "policytypes/onap.policies.optimization.AffinityPolicy.yaml",
+ "policytypes/onap.policies.controlloop.Operational.yaml",
"policytypes/onap.policies.optimization.DistancePolicy.yaml",
- "policytypes/onap.policies.optimization.HpaPolicy.yaml",
- "policytypes/onap.policies.optimization.OptimizationPolicy.yaml",
+ "policytypes/onap.policies.optimization.VnfPolicy.yaml",
"policytypes/onap.policies.optimization.PciPolicy.yaml",
- "policytypes/onap.policies.optimization.QueryPolicy.yaml",
- "policytypes/onap.policies.optimization.SubscriberPolicy.yaml",
+ "policytypes/onap.policies.optimization.OptimizationPolicy.yaml",
+ "policytypes/onap.policies.controlloop.guard.Blacklist.yaml",
+ "policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml",
+ "policytypes/onap.policies.optimization.HpaPolicy.yaml",
"policytypes/onap.policies.optimization.Vim_fit.yaml",
- "policytypes/onap.policies.optimization.VnfPolicy.yaml",
- "policytypes/onap.policy.monitoring.cdap.tca.hi.lo.app.yaml"
+ "policytypes/onap.policies.optimization.SubscriberPolicy.yaml",
+ "policytypes/onap.policies.optimization.AffinityPolicy.yaml",
+ "policytypes/onap.policies.optimization.QueryPolicy.yaml",
+ "policytypes/onap.policies.controlloop.guard.MinMax.yaml",
+ "policytypes/onap.policies.controlloop.guard.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
new StandardCoder().decode(yamlAsJsonString, ToscaServiceTemplate.class);
assertNotNull(serviceTemplate);
- for (Map<String, ToscaPolicyType> foundPolicyTypeMap : serviceTemplate.getPolicyTypes()) {
- for (Entry<String, ToscaPolicyType> policyTypeEntry : foundPolicyTypeMap.entrySet()) {
- ToscaPolicyType policyType = policyTypeEntry.getValue();
- if (policyType.getName() == null) {
- policyType.setName(policyTypeEntry.getKey());
- }
- if (policyType.getVersion() == null) {
- policyType.setVersion(PfKey.NULL_KEY_VERSION);
- }
- if (!typeList.contains(policyType)) {
- typeList.add(policyType);
- }
- }
- }
+ addPolicyTypes(serviceTemplate.getPolicyTypes());
}
for (ToscaPolicyType type : typeList) {
}
}
+ private static void addPolicyTypes(Map<String, ToscaPolicyType> foundPolicyTypeMap) {
+ for (Entry<String, ToscaPolicyType> policyTypeEntry : foundPolicyTypeMap.entrySet()) {
+ ToscaPolicyType policyType = policyTypeEntry.getValue();
+ if (policyType.getName() == null) {
+ policyType.setName(policyTypeEntry.getKey());
+ }
+ if (policyType.getVersion() == null) {
+ policyType.setVersion(PfKey.NULL_KEY_VERSION);
+ }
+ if (!typeList.contains(policyType)) {
+ typeList.add(policyType);
+ }
+ }
+ }
+
@Test
public void testNullList() {
ToscaPolicyTypeFilter filter = ToscaPolicyTypeFilter.builder().build();
ToscaPolicyTypeFilter.builder().version(ToscaPolicyTypeFilter.LATEST_VERSION).build();
List<ToscaPolicyType> filteredList = filter.filter(typeList);
- assertEquals(13, filteredList.size());
- assertEquals("1.0.0", filteredList.get(0).getVersion());
- assertEquals("0.0.0", filteredList.get(4).getVersion());
+ assertEquals(20, filteredList.size());
+ assertEquals(VERSION_100, filteredList.get(0).getVersion());
+ assertEquals(VERSION_000, 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("0.0.0", filteredList.get(4).getVersion());
+ assertEquals(20, filteredList.size());
+ assertEquals("2.0.0", filteredList.get(11).getVersion());
+ assertEquals(VERSION_000, filteredList.get(18).getVersion());
- typeList.get(12).setVersion("1.0.0");
+ typeList.get(12).setVersion(VERSION_100);
filteredList = filter.filter(typeList);
- assertEquals(13, filteredList.size());
- assertEquals("1.0.0", filteredList.get(0).getVersion());
- assertEquals("0.0.0", filteredList.get(4).getVersion());
+ assertEquals(20, filteredList.size());
+ assertEquals(VERSION_100, filteredList.get(0).getVersion());
+ assertEquals(VERSION_000, filteredList.get(18).getVersion());
}
@Test
List<ToscaPolicyType> filteredList = filter.filter(typeList);
assertEquals(2, filteredList.size());
- filter = ToscaPolicyTypeFilter.builder().name("onap.policy.monitoring.cdap.tca.hi.lo.app").build();
+ filter = ToscaPolicyTypeFilter.builder().name("onap.policies.monitoring.cdap.tca.hi.lo.app").build();
filteredList = filter.filter(typeList);
assertEquals(1, filteredList.size());
filteredList = filter.filter(typeList);
assertEquals(0, filteredList.size());
- filter = ToscaPolicyTypeFilter.builder().version("0.0.0").build();
+ filter = ToscaPolicyTypeFilter.builder().version(VERSION_000).build();
filteredList = filter.filter(typeList);
assertEquals(9, filteredList.size());
- filter = ToscaPolicyTypeFilter.builder().name("onap.policies.optimization.Vim_fit").version("0.0.0").build();
+ filter = ToscaPolicyTypeFilter.builder().name("onap.policies.optimization.Vim_fit").version(VERSION_000)
+ .build();
filteredList = filter.filter(typeList);
assertEquals(1, filteredList.size());