aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEster Rotstein <er767y@att.com>2017-08-06 10:04:42 +0300
committerEster Rotstein <er767y@att.com>2017-08-06 10:04:42 +0300
commitd6f0e5ba491d94cf71486b86a14a17bb411a2a4b (patch)
treeca0d8caa50d4374ccedc8c4cb5234ee77b556521
parentfc5eb8622019f06498a05b8dadef7f0a7bb3ab4b (diff)
[SDC-182] support nested properties with function
Change-Id: I7c7dda4940010bd018880f76eb61eeb2de6d4fcc Signed-off-by: Ester Rotstein <er767y@att.com>
-rw-r--r--src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcCsarHelperImpl.java13
-rw-r--r--src/test/java/org/openecomp/sdc/impl/SdcToscaParserBasicTest.java2
-rw-r--r--src/test/java/org/openecomp/sdc/impl/ToscaParserNodeTemplateTest.java52
-rw-r--r--src/test/resources/csars/service-Ipassignservice-csar.csarbin49975 -> 50084 bytes
4 files changed, 31 insertions, 36 deletions
diff --git a/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcCsarHelperImpl.java b/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcCsarHelperImpl.java
index 9b40416..bafdee2 100644
--- a/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcCsarHelperImpl.java
+++ b/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcCsarHelperImpl.java
@@ -736,22 +736,13 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
if (property instanceof Map) {
for (Map.Entry<String, Object> item: ((Map<String, Object>) property).entrySet()) {
- if (item.getKey().equals("get_input")) {
- String itemToStr = item.getKey() + ":" + item.getValue().toString();
- filterProperties(itemToStr, path, filterType, pattern, filterMap);
- } else {
- path += PATH_DELIMITER + item.getKey();
- filterProperties(item.getValue(), path, filterType, pattern, filterMap);
- }
+ String itemPath = path + PATH_DELIMITER + item.getKey();
+ filterProperties(item.getValue(), itemPath, filterType, pattern, filterMap);
}
} else if (property instanceof List) {
for (Object item: (List<Object>)property) {
filterProperties(item, path, filterType, pattern, filterMap);
}
- } else if (property instanceof Function) {
- if (filterType.isMatch(property.toString(), pattern)) {
- filterMap.put(path, property.toString());
- }
} else {
if (filterType.isMatch(property.toString(), pattern)) {
filterMap.put(path, property.toString());
diff --git a/src/test/java/org/openecomp/sdc/impl/SdcToscaParserBasicTest.java b/src/test/java/org/openecomp/sdc/impl/SdcToscaParserBasicTest.java
index 817ac92..28dd376 100644
--- a/src/test/java/org/openecomp/sdc/impl/SdcToscaParserBasicTest.java
+++ b/src/test/java/org/openecomp/sdc/impl/SdcToscaParserBasicTest.java
@@ -24,7 +24,6 @@ public abstract class SdcToscaParserBasicTest {
static ISdcCsarHelper rainyCsarHelperSingleVf;
static ISdcCsarHelper rainyCsarHelperMultiVfs;
static ISdcCsarHelper fdntCsarHelper;
- static ISdcCsarHelper complexCps;
static ISdcCsarHelper fdntCsarHelperWithInputs;
static ISdcCsarHelper nfodCsarHlper;
static ISdcCsarHelper ipAssignCsarHelper;
@@ -38,7 +37,6 @@ public abstract class SdcToscaParserBasicTest {
fdntCsarHelper = getCsarHelper("csars/service-sunny-flow.csar");
rainyCsarHelperMultiVfs = getCsarHelper("csars/service-ServiceFdnt-csar-rainy.csar");
rainyCsarHelperSingleVf = getCsarHelper("csars/service-ServiceFdnt-csar.csar");
- complexCps = getCsarHelper("csars/service-consolidated-props-csar.csar");
fdntCsarHelperWithInputs = getCsarHelper("csars/service-ServiceFdnt-with-get-input.csar");
nfodCsarHlper = getCsarHelper("csars/service-NfodService-csar.csar");
ipAssignCsarHelper = getCsarHelper("csars/service-Ipassignservice-csar.csar");
diff --git a/src/test/java/org/openecomp/sdc/impl/ToscaParserNodeTemplateTest.java b/src/test/java/org/openecomp/sdc/impl/ToscaParserNodeTemplateTest.java
index 4ab9af3..e31828c 100644
--- a/src/test/java/org/openecomp/sdc/impl/ToscaParserNodeTemplateTest.java
+++ b/src/test/java/org/openecomp/sdc/impl/ToscaParserNodeTemplateTest.java
@@ -67,6 +67,12 @@ public class ToscaParserNodeTemplateTest extends SdcToscaParserBasicTest {
}
@Test
+ public void testNodeTemplateNestedFunctionProperty() throws SdcToscaParserException {
+ List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
+ assertEquals(null, ipAssignCsarHelper.getNodeTemplatePropertyLeafValue(vfcs.get(0), "port_pd01_port_ip_requirements#ip_count_required#count"));
+ }
+
+ @Test
public void testNodeTemplateNestedProperty() throws SdcToscaParserException {
List<NodeTemplate> serviceVlList = fdntCsarHelper.getServiceVlList();
NodeTemplate nodeTemplate = serviceVlList.get(0);
@@ -352,7 +358,7 @@ public class ToscaParserNodeTemplateTest extends SdcToscaParserBasicTest {
assertEquals("subnet_role_4", firstIpRequirements.get("subnet_role"));
assertEquals(4, firstIpRequirements.get("ip_version"));
assertEquals(true, ((Map<String, Object>) firstIpRequirements.get("ip_count_required")).get("is_required"));
- assertEquals(4, ((Map<String, Object>) firstIpRequirements.get("ip_count_required")).get("count"));
+ assertEquals("get_input:node_count", ((Map<String, Object>) firstIpRequirements.get("ip_count_required")).get("count").toString());
assertEquals(false, ((Map<String, Object>)((Map<String, Object>)pd01.get("mac_requirements")).get("mac_count_required")).get("is_required"));
assertEquals("test_subnetpoolid", pd01.get("subnetpoolid"));
assertEquals("oam", pd01.get("network_role_tag"));
@@ -363,7 +369,6 @@ public class ToscaParserNodeTemplateTest extends SdcToscaParserBasicTest {
assertTrue(isChecked);
}
-
@Test
public void testGetCpPropertiesFromVfcForNullVFC() {
Map<String, Map<String, Object>> cps = ipAssignCsarHelper.getCpPropertiesFromVfcAsObject(null);
@@ -395,17 +400,18 @@ public class ToscaParserNodeTemplateTest extends SdcToscaParserBasicTest {
//region filterNodeTemplatePropertiesByValue
@Test
public void testFilterNodeTemplatePropertiesByContains() {
- List<NodeTemplate> vfcs = complexCps.getVfcListByVf("f999e2ca-72c0-42d3-9b11-13f2122fb8ef");
+ List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
boolean isChecked = false;
for (NodeTemplate vfc: vfcs) {
- if(vfc.getName().equalsIgnoreCase("abstract_ddc"))
+ if(vfc.getName().equalsIgnoreCase("abstract_pd_server"))
{
isChecked = true;
- Map<String, String> filteredInputs = complexCps.filterNodeTemplatePropertiesByValue(vfc, FilterType.CONTAINS, "get_input");
+ Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfc, FilterType.CONTAINS, "get_input");
- assertEquals(16, filteredInputs.size());
- assertEquals("get_input:vnf_id", filteredInputs.get("compute_ddc_metadata#vf_module_id#vnf_id"));
- assertEquals("get_input:[ddc_int_imbl_v6_ips, 3]", filteredInputs.get("port_ddc_int_imbl__port_fixed_ips#ip_address"));
+ assertEquals(7, filteredInputs.size());
+ assertEquals("get_input:availabilityzone_name", filteredInputs.get("compute_pd_server_availability_zone"));
+ assertEquals("get_input:[pd_server_names, 0]", filteredInputs.get("compute_pd_server_name"));
+ assertEquals("get_input:node_count", filteredInputs.get("port_pd01_port_ip_requirements#ip_count_required#count"));
break;
}
@@ -416,25 +422,25 @@ public class ToscaParserNodeTemplateTest extends SdcToscaParserBasicTest {
@Test
public void testFilterNodeTemplatePropertiesByDummyContains() {
- List<NodeTemplate> vfcs = complexCps.getVfcListByVf("f999e2ca-72c0-42d3-9b11-13f2122fb8ef");
- Map<String, String> filteredInputs = complexCps.filterNodeTemplatePropertiesByValue(vfcs.get(0), FilterType.CONTAINS, "dummy");
+ List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
+ Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfcs.get(0), FilterType.CONTAINS, "dummy");
assertNotNull(filteredInputs);
assertEquals(0, filteredInputs.size());
}
@Test
public void testFilterNodeTemplatePropertiesByEquals() {
- List<NodeTemplate> vfcs = complexCps.getVfcListByVf("f999e2ca-72c0-42d3-9b11-13f2122fb8ef");
+ List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
boolean isChecked = false;
for (NodeTemplate vfc: vfcs) {
- if(vfc.getName().equalsIgnoreCase("abstract_ddc"))
+ if(vfc.getName().equalsIgnoreCase("abstract_pd_server"))
{
isChecked = true;
- Map<String, String> filteredInputs = complexCps.filterNodeTemplatePropertiesByValue(vfc, FilterType.EQUALS, "ddc");
+ Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfc, FilterType.EQUALS, "oam");
assertEquals(2, filteredInputs.size());
- assertEquals("ddc", filteredInputs.get("vm_type_tag"));
- assertEquals("ddc", filteredInputs.get("nfc_naming_code"));
+ assertEquals("oam", filteredInputs.get("port_pd02_port_network_role_tag"));
+ assertEquals("oam", filteredInputs.get("port_pd01_port_network_role_tag"));
break;
}
@@ -444,31 +450,31 @@ public class ToscaParserNodeTemplateTest extends SdcToscaParserBasicTest {
@Test
public void testFilterNodeTemplatePropertiesByDummyEquals() {
- List<NodeTemplate> vfcs = complexCps.getVfcListByVf("f999e2ca-72c0-42d3-9b11-13f2122fb8ef");
- Map<String, String> filteredInputs = complexCps.filterNodeTemplatePropertiesByValue(vfcs.get(0), FilterType.EQUALS, "dummy");
+ List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
+ Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfcs.get(0), FilterType.EQUALS, "dummy");
assertNotNull(filteredInputs);
assertEquals(0, filteredInputs.size());
}
@Test
public void testFilterNodeTemplatePropertiesByNullFilterType() {
- List<NodeTemplate> vfcs = complexCps.getVfcListByVf("f999e2ca-72c0-42d3-9b11-13f2122fb8ef");
- Map<String, String> filteredInputs = complexCps.filterNodeTemplatePropertiesByValue(vfcs.get(11), null, "ddc");
+ List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
+ Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfcs.get(0), null, "ddc");
assertNotNull(filteredInputs);
assertEquals(0, filteredInputs.size());
}
@Test
public void testFilterNodeTemplatePropertiesByNullPattern() {
- List<NodeTemplate> vfcs = complexCps.getVfcListByVf("f999e2ca-72c0-42d3-9b11-13f2122fb8ef");
- Map<String, String> filteredInputs = complexCps.filterNodeTemplatePropertiesByValue(vfcs.get(11), FilterType.EQUALS, null);
+ List<NodeTemplate> vfcs = ipAssignCsarHelper.getVfcListByVf("b5190df2-7880-4d6f-836f-56ab17e1b85b");
+ Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(vfcs.get(0), FilterType.EQUALS, null);
assertNotNull(filteredInputs);
assertEquals(0, filteredInputs.size());
}
@Test
public void testFilterNodeTemplatePropertiesByNullVfc() {
- Map<String, String> filteredInputs = complexCps.filterNodeTemplatePropertiesByValue(null, FilterType.EQUALS, "ddc");
+ Map<String, String> filteredInputs = ipAssignCsarHelper.filterNodeTemplatePropertiesByValue(null, FilterType.EQUALS, "ddc");
assertNotNull(filteredInputs);
assertEquals(0, filteredInputs.size());
}
@@ -527,7 +533,7 @@ public class ToscaParserNodeTemplateTest extends SdcToscaParserBasicTest {
@Test
public void testGetVnfConfigByNonFoundVNF() {
- NodeTemplate vnfConfig = complexCps.getVnfConfig("f999e2ca-72c0-42d3-9b11-13f2122fb8ef");
+ NodeTemplate vnfConfig = ipAssignCsarHelper.getVnfConfig("b5190df2-7880-4d6f-836f-56ab17e1b85b");
assertNull(vnfConfig);
}
diff --git a/src/test/resources/csars/service-Ipassignservice-csar.csar b/src/test/resources/csars/service-Ipassignservice-csar.csar
index 0507457..abdcd3e 100644
--- a/src/test/resources/csars/service-Ipassignservice-csar.csar
+++ b/src/test/resources/csars/service-Ipassignservice-csar.csar
Binary files differ