681c54b12e4eec7ce8fd6846d1f3f9fffb761258
[sdc.git] /
1 package org.openecomp.sdc.validation.impl.validators.namingconvention;
2
3 import org.openecomp.sdc.validation.impl.validators.HeatResourceValidator;
4
5 import org.openecomp.core.validation.types.MessageContainer;
6 import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes;
7 import org.openecomp.sdc.validation.util.ValidationTestUtil;
8 import org.testng.Assert;
9 import org.testng.annotations.Test;
10
11 import java.util.Map;
12
13 /**
14  * Created by TALIO on 2/28/2017.
15  */
16 public class ContrailServiceTemplateNamingConventionValidatorTest {
17
18   HeatResourceValidator baseValidator = new HeatResourceValidator();
19   ContrailServiceTemplateNamingConventionValidator resourceValidator = new
20       ContrailServiceTemplateNamingConventionValidator();
21   private static final String PATH="/org/openecomp/validation/validators/guideLineValidator/heatcontrailservicetemplateimageandflavor/";
22
23   @Test
24   public void testContrailServiceTemplateImageAndFlavorNamesAlignedWithNamingConventionButDifferentVmType() {
25     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
26             resourceValidator, HeatResourcesTypes.CONTRAIL_SERVICE_TEMPLATE.getHeatResource(),
27             PATH + "imageandflavordifferentvmtype");
28     Assert.assertNotNull(messages);
29     Assert.assertEquals(messages.size(), 1);
30     Assert.assertEquals(
31             messages.get(messages.keySet().iterator().next()).getErrorMessageList().size(), 1);
32     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
33             "WARNING: [NST1]: Service Template naming convention in Image and Flavor properties is not consistent in Resource, Resource ID service_template");
34   }
35
36   @Test
37   public void testContrailServiceTemplateImageAndFlavorNamesNotAlignedWithNamingConvention() {
38     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
39             resourceValidator, HeatResourcesTypes.CONTRAIL_SERVICE_TEMPLATE.getHeatResource(),
40             PATH + "/notaligned");
41     Assert.assertNotNull(messages);
42     Assert.assertEquals(messages.size(), 1);
43     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().size(), 2);
44     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
45             "WARNING: [NST3]: Service Template 'image_name' Parameter Name not aligned with Guidelines, Parameter Name [st_imaage_name], Resource ID [service_template]. As a result, VF/VFC Profile may miss this information");
46     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(1).getMessage(),
47             "WARNING: [NST3]: Service Template 'flavor' Parameter Name not aligned with Guidelines, Parameter Name [st_flavaor_name], Resource ID [service_template]. As a result, VF/VFC Profile may miss this information");
48   }
49
50   @Test
51   public void testContrailServiceTemplateImageAndFlavorNamesAlignedWithNamingConvention() {
52     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
53             resourceValidator, HeatResourcesTypes.CONTRAIL_SERVICE_TEMPLATE.getHeatResource(),
54             PATH + "aligned");
55     Assert.assertNotNull(messages);
56     Assert.assertEquals(messages.size(), 0);
57   }
58
59   @Test
60   public void testContrailServiceTemplateMissingParam() {
61     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
62             resourceValidator, HeatResourcesTypes.CONTRAIL_SERVICE_TEMPLATE.getHeatResource(),
63             PATH + "missingparam");
64     Assert.assertNotNull(messages);
65     Assert.assertEquals(messages.size(), 1);
66     Assert.assertEquals(
67             messages.get(messages.keySet().iterator().next()).getErrorMessageList().size(), 1);
68     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
69             "WARNING: [NST2]: Missing get_param in image_name, Resource Id [service_template]");
70   }
71
72 }