1 package org.openecomp.sdc.validation.impl.validators.namingconvention;
5 import org.openecomp.core.validation.types.MessageContainer;
6 import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes;
7 import org.openecomp.sdc.validation.impl.validators.NamingConventionGuideLineValidator;
8 import org.openecomp.sdc.validation.util.ValidationTestUtil;
9 import org.testng.Assert;
10 import org.testng.annotations.Test;
12 public class VirtualMachineInterfaceGuidelineValidatorTest {
13 private static final String PATH =
14 "/org/openecomp/validation/validators/guideLineValidator/vlan_validation/";
17 public void modeledThroughResourceGroupPositive() {
19 NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator();
20 VirtualMachineInterfaceGuidelineValidator resourceValidator = new
21 VirtualMachineInterfaceGuidelineValidator();
22 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
24 HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(),
25 PATH + "modeled_through_resource_group/positive_test/input");
27 Assert.assertNotNull(messages);
28 Assert.assertEquals(messages.size(), 0);
33 public void modeledThroughResourceGroupNegativeTwoValuesInList() {
35 NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator();
36 VirtualMachineInterfaceGuidelineValidator resourceValidator = new
37 VirtualMachineInterfaceGuidelineValidator();
38 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
40 HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(),
41 PATH + "modeled_through_resource_group/negative_test/input");
43 Assert.assertNotNull(messages);
44 Assert.assertEquals(messages.size(), 1);
46 Assert.assertEquals(messages.get("nested.yml").getErrorMessageList().size(), 1);
48 messages.get("nested.yml").getErrorMessageList().get(0).getMessage(),
49 "WARNING: [VlANG1]: VLAN Resource will not be translated as the VLAN Sub-interface " +
50 "[vdbe_0_subint_untr_vmi_0] is not modeled as resource group");
54 public void modeledThroughResourceGroupNegativeNonStringGetParam() {
56 NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator();
57 VirtualMachineInterfaceGuidelineValidator resourceValidator = new
58 VirtualMachineInterfaceGuidelineValidator();
59 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
61 HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(),
62 PATH + "modeled_through_resource_group/negative_test_non_string/input");
64 Assert.assertNotNull(messages);
65 Assert.assertEquals(messages.size(), 1);
67 Assert.assertEquals(messages.get("nested.yml").getErrorMessageList().size(), 1);
69 messages.get("nested.yml").getErrorMessageList().get(0).getMessage(),
70 "WARNING: [VlANG1]: VLAN Resource will not be translated as the VLAN Sub-interface " +
71 "[vdbe_0_subint_untr_vmi_0] is not modeled as resource group");
75 public void modeledThroughResourceGroupNegativeResource() {
77 NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator();
78 VirtualMachineInterfaceGuidelineValidator resourceValidator = new
79 VirtualMachineInterfaceGuidelineValidator();
80 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
82 HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(),
83 PATH + "modeled_through_resource_group/negative_get_resource/input");
85 Assert.assertNotNull(messages);
86 Assert.assertEquals(messages.size(), 1);
88 Assert.assertEquals(messages.get("nested.yml").getErrorMessageList().size(), 1);
90 messages.get("nested.yml").getErrorMessageList().get(0).getMessage(),
91 "WARNING: [VlANG1]: VLAN Resource will not be translated as the VLAN Sub-interface " +
92 "[vdbe_0_subint_untr_vmi_0] is not modeled as resource group");
97 public void vlanAloneInFilePositive() {
99 NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator();
100 VirtualMachineInterfaceGuidelineValidator resourceValidator = new
101 VirtualMachineInterfaceGuidelineValidator();
102 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
104 HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(),
105 PATH + "single_vlan_resource/positive_test/input");
107 Assert.assertNotNull(messages);
108 Assert.assertEquals(messages.size(), 0);
113 public void vlanAloneInFileNegative_2vlans() {
115 NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator();
116 VirtualMachineInterfaceGuidelineValidator resourceValidator = new
117 VirtualMachineInterfaceGuidelineValidator();
118 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
120 HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(),
121 PATH + "single_vlan_resource/negative_test/two_vlans");
123 Assert.assertNotNull(messages);
124 Assert.assertEquals(messages.size(), 1);
126 Assert.assertEquals(messages.get("nested.yml").getErrorMessageList().size(), 1);
128 messages.get("nested.yml").getErrorMessageList().get(0).getMessage(),
129 "ERROR: [VlANG2]: There should not be any Compute Server Node, Port, " +
130 "Parent Port in nested file [nested.yml]");
134 public void vlanAloneInFileNegative_vlanAndNova() {
136 NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator();
137 VirtualMachineInterfaceGuidelineValidator resourceValidator = new
138 VirtualMachineInterfaceGuidelineValidator();
139 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
141 HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(),
142 PATH + "single_vlan_resource/negative_test/vlan_and_nova");
144 Assert.assertNotNull(messages);
145 Assert.assertEquals(messages.size(), 1);
147 Assert.assertEquals(messages.get("nested.yml").getErrorMessageList().size(), 1);
149 messages.get("nested.yml").getErrorMessageList().get(0).getMessage(),
150 "ERROR: [VlANG2]: There should not be any Compute Server Node, Port, " +
151 "Parent Port in nested file [nested.yml]");
155 public void namingConventionNegative(){
156 NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator();
157 VirtualMachineInterfaceGuidelineValidator resourceValidator = new
158 VirtualMachineInterfaceGuidelineValidator();
159 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
161 HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(),
162 PATH + "naming_convention/negative_test/input");
164 Assert.assertNotNull(messages);
165 Assert.assertEquals(messages.size(), 1);
167 Assert.assertEquals(messages.get("nested.yml").getErrorMessageList().size(), 2);
169 messages.get("nested.yml").getErrorMessageList().get(1).getMessage(),
170 "WARNING: [VlANG3]: Network role associated with VLAN Sub-interface " +
171 "id[template_wrong_naming_Vlan_2] is not following the naming convention");
176 public void namingConventionPositive(){
177 NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator();
178 VirtualMachineInterfaceGuidelineValidator resourceValidator = new
179 VirtualMachineInterfaceGuidelineValidator();
180 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
182 HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource(),
183 PATH + "naming_convention/positive_test/input");
185 Assert.assertNotNull(messages);
186 Assert.assertEquals(messages.size(), 0);