aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormojahidi <mojahidul.islam@amdocs.com>2017-11-22 15:07:07 +0530
committerVitaly Emporopulo <Vitaliy.Emporopulo@amdocs.com>2017-11-22 10:40:25 +0000
commitb110b94fe9ab62393b8c1ec64320668c7222bc6a (patch)
treedf93192e4263e060b5eb3e3a1a2506871af62973
parentf62890e8860893fdd5985d5c605882b6fcce2e8c (diff)
ResourceBaseValidator
This task is about updating error messages with error codes for ResourceBaseValidator Change-Id: Ia6fc269e14c9b1593d908212b6517fd94190d079 Issue-ID: SDC-572 Signed-off-by: mojahidi <mojahidul.islam@amdocs.com>
-rw-r--r--openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/base/ResourceBaseValidator.java11
-rw-r--r--openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/java/org/openecomp/sdc/validation/base/ResourceBaseValidatorTest.java37
-rw-r--r--openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidHeatStructure/MANIFEST.json17
-rw-r--r--openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidHeatStructure/first.yaml22
-rw-r--r--openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidHeatStructure/second.yaml19
-rw-r--r--openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidResourceType/MANIFEST.json22
-rw-r--r--openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidResourceType/first.env0
-rw-r--r--openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidResourceType/first.yaml25
-rw-r--r--openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidResourceType/firstVol.yaml19
9 files changed, 169 insertions, 3 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/base/ResourceBaseValidator.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/base/ResourceBaseValidator.java
index f5d01d90e8..c4d6f88074 100644
--- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/base/ResourceBaseValidator.java
+++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/base/ResourceBaseValidator.java
@@ -2,6 +2,7 @@ package org.openecomp.sdc.validation.base;
import org.apache.commons.collections4.MapUtils;
import org.openecomp.core.utilities.CommonMethods;
+import org.openecomp.core.validation.ErrorMessageCode;
import org.openecomp.core.validation.errors.ErrorMessagesFormatBuilder;
import org.openecomp.sdc.common.errors.Messages;
import org.openecomp.sdc.datatypes.error.ErrorLevel;
@@ -34,6 +35,8 @@ public class ResourceBaseValidator implements Validator {
protected Map<String, ImplementationConfiguration> resourceTypeToImpl = new HashMap<>();
private static Logger logger = (Logger) LoggerFactory.getLogger(ResourceBaseValidator.class);
+ private static final ErrorMessageCode ERROR_CODE_RBV_1 = new ErrorMessageCode("RBV1");
+ private static final ErrorMessageCode ERROR_CODE_RBV_2 = new ErrorMessageCode("RBV2");
public void init(Map<String, Object> properties) {
@@ -42,8 +45,8 @@ public class ResourceBaseValidator implements Validator {
}
properties.entrySet().stream()
- .filter(entry -> getImplementationConfigurationFromProperties(entry.getValue()) != null).
- forEach(entry -> resourceTypeToImpl
+ .filter(entry -> getImplementationConfigurationFromProperties(entry.getValue()) != null)
+ .forEach(entry -> resourceTypeToImpl
.put(entry.getKey(), getImplementationConfigurationFromProperties(entry.getValue())));
}
@@ -69,6 +72,7 @@ public class ResourceBaseValidator implements Validator {
private void validate(String fileName, String envFileName,
GlobalValidationContext globalContext) {
+ globalContext.setMessageCode(ERROR_CODE_RBV_2);
HeatOrchestrationTemplate heatOrchestrationTemplate =
ValidationUtil.checkHeatOrchestrationPreCondition(fileName, globalContext);
if (heatOrchestrationTemplate == null) {
@@ -88,7 +92,8 @@ public class ResourceBaseValidator implements Validator {
if (Objects.isNull(resourceType)) {
globalContext.addMessage(fileName, ErrorLevel.WARNING, ErrorMessagesFormatBuilder
- .getErrorWithParameters(Messages.INVALID_RESOURCE_TYPE.getErrorMessage(), "null",
+ .getErrorWithParameters(ERROR_CODE_RBV_1,
+ Messages.INVALID_RESOURCE_TYPE.getErrorMessage(),"null",
resourceEntry.getKey()), LoggerTragetServiceName.VALIDATE_RESOURCE_TYPE,
LoggerErrorDescription.INVALID_RESOURCE_TYPE);
} else {
diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/java/org/openecomp/sdc/validation/base/ResourceBaseValidatorTest.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/java/org/openecomp/sdc/validation/base/ResourceBaseValidatorTest.java
new file mode 100644
index 0000000000..e2d685da70
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/java/org/openecomp/sdc/validation/base/ResourceBaseValidatorTest.java
@@ -0,0 +1,37 @@
+package org.openecomp.sdc.validation.base;
+
+import org.openecomp.core.validation.types.MessageContainer;
+import org.openecomp.sdc.validation.util.ValidationTestUtil;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import java.util.Map;
+
+@Test
+public class ResourceBaseValidatorTest {
+
+ResourceBaseValidator resourceBaseValidator=new ResourceBaseValidator();
+
+ @Test
+ public void testInvalidResourceType(){
+ Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(
+ resourceBaseValidator, "/InvalidResourceType");
+ Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
+ "WARNING: [RBV1]: A resource has an invalid or unsupported type - null, " +
+ "Resource ID [FSB2]");
+ }
+
+ @Test
+ public void testInvalidHeatStructure(){
+ Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(resourceBaseValidator,
+ "/InvalidHeatStructure");
+ Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
+ "ERROR: [RBV2]: Invalid HEAT format problem - [while scanning for the next " +
+ "token\n" + "found character '\\t(TAB)' that cannot start any token. " +
+ "(Do not use \\t(TAB) for indentation)\n" +
+ " in 'reader', line 10, column 1:\n" +
+ " \t\t\tresources:\n" +
+ " ^\n" +
+ "]");
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidHeatStructure/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidHeatStructure/MANIFEST.json
new file mode 100644
index 0000000000..15650ae299
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidHeatStructure/MANIFEST.json
@@ -0,0 +1,17 @@
+{
+ "name": "validTest",
+ "description": "Valid Test",
+ "version": "1610",
+ "data": [
+ {
+ "file": "first.yaml",
+ "type": "HEAT",
+ "isBase": true
+ },
+ {
+ "file": "second.yaml",
+ "type": "HEAT",
+ "isBase": false
+ }
+ ]
+} \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidHeatStructure/first.yaml b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidHeatStructure/first.yaml
new file mode 100644
index 0000000000..24fe19170d
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidHeatStructure/first.yaml
@@ -0,0 +1,22 @@
+heat_template_version: 2013-05-23
+
+description: cmaui server template for vMMSC
+
+parameters:
+ nems_traffic_name:
+ description: dummy
+ type: string
+
+ resources:
+ jsa_net1:
+ type: OS::Contrail::VirtualNetwork
+ properties:
+ name: {get_param: }
+ jsa_net3:
+ type: OS::Contrail::VirtualNetwork
+ properties:
+ name: {get_param: nems_traffic_name}
+ jsa_net5:
+ type: OS::ContrailV2::VirtualNetwork
+ properties:
+ name: {get_param: nems_traffic_name}
diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidHeatStructure/second.yaml b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidHeatStructure/second.yaml
new file mode 100644
index 0000000000..f8cadfee51
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidHeatStructure/second.yaml
@@ -0,0 +1,19 @@
+heat_template_version: 2013-05-23
+
+description: cmaui server template for vMMSC
+
+parameters:
+ nems_traffic_name:
+ description: dummy
+ type: string
+
+resources:
+ jsa_net2:
+ type: OS::ContrailV2::VirtualNetwork
+ properties:
+ name: {get_param: nems_traffic_name}
+ jsa_net4:
+ type: OS::ContrailV2::VirtualNetwork
+ properties:
+ name: {get_param: nems_traffic_name}
+
diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidResourceType/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidResourceType/MANIFEST.json
new file mode 100644
index 0000000000..c541783b06
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidResourceType/MANIFEST.json
@@ -0,0 +1,22 @@
+{
+ "name": "validTest",
+ "description": "Valid Test",
+ "version": "1610",
+ "data": [
+ {
+ "file": "first.yaml",
+ "type": "HEAT",
+ "isBase": true,
+ "data": [
+ {
+ "file": "first.env",
+ "type": "HEAT_ENV"
+ },
+ {
+ "file": "firstVol.yaml",
+ "type": "HEAT_VOL"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidResourceType/first.env b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidResourceType/first.env
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidResourceType/first.env
diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidResourceType/first.yaml b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidResourceType/first.yaml
new file mode 100644
index 0000000000..1244955e01
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidResourceType/first.yaml
@@ -0,0 +1,25 @@
+heat_template_version: 2013-05-23
+
+description: heat expose volume resource
+
+resources:
+ FSB2:
+ type:
+ properties:
+ name: { get_param: fsb_name_2 }
+ block_device_mapping: [{device_name: "vda", volume_id : {get_param: VMME_FSB2_boot_volume }, delete_on_termination: "false" }]
+ flavor: { get_param: fsb2-flavor }
+ availability_zone: { get_param: availability_zone_0 }
+ metadata:
+ VNF_id: { get_param: vnfvfVF_id }
+ vf_module_id: { get_param: vf_module_id }
+ networks:
+ - port: { get_resource: FSB2_Internal1 }
+ - port: { get_resource: FSB2_Internal2 }
+ - port: { get_resource: FSB2_OAM }
+outputs:
+ expose_resource_nove_output:
+ description: the pcrf_server
+ value: { get_resource: FSB2 }
+
+
diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidResourceType/firstVol.yaml b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidResourceType/firstVol.yaml
new file mode 100644
index 0000000000..7e82b2a7e6
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/test/resources/InvalidResourceType/firstVol.yaml
@@ -0,0 +1,19 @@
+
+heat_template_version: 2013-05-23
+
+parameters:
+ not_null:
+ type: number
+ label: not_number
+
+
+resources:
+ volume_expose:
+ type: OS::Cinder::Volume
+ properties:
+ not_null: not_null
+outputs:
+ not_expose_resource_network_output:
+ description: the pcrf_server
+ value: { get_resource: volume_expose }
+