From 7d5ccf3d6207008321595ec45149a370ba80ffe8 Mon Sep 17 00:00:00 2001 From: "katy.rotman" Date: Wed, 21 Feb 2018 13:14:21 +0200 Subject: VirtualMachineInterface guildeine validator Issue-ID: SDC-994 Change-Id: Ia232a384c51facb61eaada66c2924957e68b8f0a Signed-off-by: katy.rotman --- ...tualMachineInterfaceGuidelineValidatorTest.java | 189 +++++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/test/java/org/openecomp/sdc/validation/impl/validators/namingconvention/VirtualMachineInterfaceGuidelineValidatorTest.java (limited to 'openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/test/java/org') diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/test/java/org/openecomp/sdc/validation/impl/validators/namingconvention/VirtualMachineInterfaceGuidelineValidatorTest.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/test/java/org/openecomp/sdc/validation/impl/validators/namingconvention/VirtualMachineInterfaceGuidelineValidatorTest.java new file mode 100644 index 0000000000..407adae932 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/test/java/org/openecomp/sdc/validation/impl/validators/namingconvention/VirtualMachineInterfaceGuidelineValidatorTest.java @@ -0,0 +1,189 @@ +package org.openecomp.sdc.validation.impl.validators.namingconvention; + +import org.openecomp.core.validation.types.MessageContainer; +import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes; +import org.openecomp.sdc.validation.impl.validators.NamingConventionGuideLineValidator; +import org.openecomp.sdc.validation.util.ValidationTestUtil; +import org.testng.Assert; +import org.testng.annotations.Test; + +import java.util.Map; + +public class VirtualMachineInterfaceGuidelineValidatorTest { + private static final String PATH = + "/org/openecomp/validation/validators/guideLineValidator/vlan_validation/"; + + @Test + public void modeledThroughResourceGroupPositive() { + + NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator(); + VirtualMachineInterfaceGuidelineValidator resourceValidator = new + VirtualMachineInterfaceGuidelineValidator(); + Map messages = ValidationTestUtil.testValidator(baseValidator, + resourceValidator, + HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(), + PATH + "modeled_through_resource_group/positive_test/input"); + + Assert.assertNotNull(messages); + Assert.assertEquals(messages.size(), 0); + + } + + @Test + public void modeledThroughResourceGroupNegativeTwoValuesInList() { + + NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator(); + VirtualMachineInterfaceGuidelineValidator resourceValidator = new + VirtualMachineInterfaceGuidelineValidator(); + Map messages = ValidationTestUtil.testValidator(baseValidator, + resourceValidator, + HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(), + PATH + "modeled_through_resource_group/negative_test/input"); + + Assert.assertNotNull(messages); + Assert.assertEquals(messages.size(), 1); + + Assert.assertEquals(messages.get("nested.yml").getErrorMessageList().size(), 1); + Assert.assertEquals( + messages.get("nested.yml").getErrorMessageList().get(0).getMessage(), + "WARNING: [VlANG1]: VLAN Resource will not be translated as the VLAN Sub-interface " + + "[template_vmi_Vlan_2] is not modeled as resource group"); + } + + @Test + public void modeledThroughResourceGroupNegativeNonStringGetParam() { + + NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator(); + VirtualMachineInterfaceGuidelineValidator resourceValidator = new + VirtualMachineInterfaceGuidelineValidator(); + Map messages = ValidationTestUtil.testValidator(baseValidator, + resourceValidator, + HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(), + PATH + "modeled_through_resource_group/negative_test_non_string/input"); + + Assert.assertNotNull(messages); + Assert.assertEquals(messages.size(), 1); + + Assert.assertEquals(messages.get("nested.yml").getErrorMessageList().size(), 1); + Assert.assertEquals( + messages.get("nested.yml").getErrorMessageList().get(0).getMessage(), + "WARNING: [VlANG1]: VLAN Resource will not be translated as the VLAN Sub-interface " + + "[template_vmi_Vlan_2] is not modeled as resource group"); + } + + @Test + public void modeledThroughResourceGroupNegativeResource() { + + NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator(); + VirtualMachineInterfaceGuidelineValidator resourceValidator = new + VirtualMachineInterfaceGuidelineValidator(); + Map messages = ValidationTestUtil.testValidator(baseValidator, + resourceValidator, + HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(), + PATH + "modeled_through_resource_group/negative_get_resource/input"); + + Assert.assertNotNull(messages); + Assert.assertEquals(messages.size(), 1); + + Assert.assertEquals(messages.get("nested.yml").getErrorMessageList().size(), 1); + Assert.assertEquals( + messages.get("nested.yml").getErrorMessageList().get(0).getMessage(), + "WARNING: [VlANG1]: VLAN Resource will not be translated as the VLAN Sub-interface " + + "[template_vmi_Vlan_2] is not modeled as resource group"); + } + + + @Test + public void vlanAloneInFilePositive() { + + NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator(); + VirtualMachineInterfaceGuidelineValidator resourceValidator = new + VirtualMachineInterfaceGuidelineValidator(); + Map messages = ValidationTestUtil.testValidator(baseValidator, + resourceValidator, + HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(), + PATH + "single_vlan_resource/positive_test/input"); + + Assert.assertNotNull(messages); + Assert.assertEquals(messages.size(), 0); + + } + + @Test + public void vlanAloneInFileNegative_2vlans() { + + NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator(); + VirtualMachineInterfaceGuidelineValidator resourceValidator = new + VirtualMachineInterfaceGuidelineValidator(); + Map messages = ValidationTestUtil.testValidator(baseValidator, + resourceValidator, + HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(), + PATH + "single_vlan_resource/negative_test/two_vlans"); + + Assert.assertNotNull(messages); + Assert.assertEquals(messages.size(), 1); + + Assert.assertEquals(messages.get("nested.yml").getErrorMessageList().size(), 1); + Assert.assertEquals( + messages.get("nested.yml").getErrorMessageList().get(0).getMessage(), + "ERROR: [VlANG2]: There should not be any Compute Server Node, Port, " + + "Parent Port in nested file [nested.yml]"); + } + + @Test + public void vlanAloneInFileNegative_vlanAndNova() { + + NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator(); + VirtualMachineInterfaceGuidelineValidator resourceValidator = new + VirtualMachineInterfaceGuidelineValidator(); + Map messages = ValidationTestUtil.testValidator(baseValidator, + resourceValidator, + HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(), + PATH + "single_vlan_resource/negative_test/vlan_and_nova"); + + Assert.assertNotNull(messages); + Assert.assertEquals(messages.size(), 1); + + Assert.assertEquals(messages.get("nested.yml").getErrorMessageList().size(), 1); + Assert.assertEquals( + messages.get("nested.yml").getErrorMessageList().get(0).getMessage(), + "ERROR: [VlANG2]: There should not be any Compute Server Node, Port, " + + "Parent Port in nested file [nested.yml]"); + } + + @Test + public void namingConventionNegative(){ + NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator(); + VirtualMachineInterfaceGuidelineValidator resourceValidator = new + VirtualMachineInterfaceGuidelineValidator(); + Map messages = ValidationTestUtil.testValidator(baseValidator, + resourceValidator, + HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(), + PATH + "naming_convention/negative_test/input"); + + Assert.assertNotNull(messages); + Assert.assertEquals(messages.size(), 1); + + Assert.assertEquals(messages.get("nested.yml").getErrorMessageList().size(), 2); + Assert.assertEquals( + messages.get("nested.yml").getErrorMessageList().get(1).getMessage(), + "WARNING: [VlANG3]: Network role associated with VLAN Sub-interface " + + "id[template_wrong_naming_Vlan_2] is not following the naming convention"); + + } + + @Test + public void namingConventionPositive(){ + NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator(); + VirtualMachineInterfaceGuidelineValidator resourceValidator = new + VirtualMachineInterfaceGuidelineValidator(); + Map messages = ValidationTestUtil.testValidator(baseValidator, + resourceValidator, + HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(), + PATH + "naming_convention/positive_test/input"); + + Assert.assertNotNull(messages); + Assert.assertEquals(messages.size(), 0); + } + +} \ No newline at end of file -- cgit 1.2.3-korg