1a04d9474823d6cc9c4db151da2f80c342812a4c
[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
22   @Test
23   public void testContrailServiceTemplateImageAndFlavorNamesAlignedWithNamingConventionButDifferentVmType() {
24     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
25         resourceValidator, HeatResourcesTypes.CONTRAIL_SERVICE_TEMPLATE.getHeatResource(),
26         "/org/openecomp/validation/validators/guideLineValidator/heatcontrailservicetemplateimageandflavor/imageandflavordifferentvmtype");
27     Assert.assertNotNull(messages);
28     Assert.assertEquals(messages.size(), 1);
29     Assert.assertEquals(
30         messages.get(messages.keySet().iterator().next()).getErrorMessageList().size(), 1);
31     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
32         "WARNING: Service Template naming convention in Image and Flavor properties is not consistent in Resource, Resource ID service_template");
33   }
34
35   @Test
36   public void testContrailServiceTemplateImageAndFlavorNamesNotAlignedWithNamingConvention() {
37     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
38         resourceValidator, HeatResourcesTypes.CONTRAIL_SERVICE_TEMPLATE.getHeatResource(),
39         "/org/openecomp/validation/validators/guideLineValidator/heatcontrailservicetemplateimageandflavor/notaligned");
40     Assert.assertNotNull(messages);
41     Assert.assertEquals(messages.size(), 1);
42     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().size(), 2);
43     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
44         "WARNING: 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");
45     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(1).getMessage(),
46         "WARNING: 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");
47   }
48
49   @Test
50   public void testContrailServiceTemplateImageAndFlavorNamesAlignedWithNamingConvention() {
51     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
52         resourceValidator, HeatResourcesTypes.CONTRAIL_SERVICE_TEMPLATE.getHeatResource(),
53         "/org/openecomp/validation/validators/guideLineValidator/heatcontrailservicetemplateimageandflavor/aligned");
54     Assert.assertNotNull(messages);
55     Assert.assertEquals(messages.size(), 0);
56   }
57 }