[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-be / lib / openecomp-sdc-validation-lib / openecomp-sdc-validation-impl / src / test / java / org / openecomp / sdc / validation / impl / validators / namingconvention / ContrailServiceTemplateNamingConventionValidatorTest.java
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.impl.validators.HeatResourceValidator;
8 import org.openecomp.sdc.validation.util.ValidationTestUtil;
9 import org.testng.Assert;
10 import org.testng.annotations.Test;
11
12 import java.util.Map;
13
14 /**
15  * Created by TALIO on 2/28/2017.
16  */
17 public class ContrailServiceTemplateNamingConventionValidatorTest {
18
19   HeatResourceValidator baseValidator = new HeatResourceValidator();
20   ContrailServiceTemplateNamingConventionValidator resourceValidator = new
21       ContrailServiceTemplateNamingConventionValidator();
22
23   @Test
24   public void testContrailServiceTemplateImageAndFlavorNamesAlignedWithNamingConventionButDifferentVmType() {
25     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
26         resourceValidator, HeatResourcesTypes.CONTRAIL_SERVICE_TEMPLATE.getHeatResource(),
27         "/org/openecomp/validation/validators/attGuideLineValidator/heatcontrailservicetemplateimageandflavor/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: 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         "/org/openecomp/validation/validators/attGuideLineValidator/heatcontrailservicetemplateimageandflavor/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: 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: 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         "/org/openecomp/validation/validators/attGuideLineValidator/heatcontrailservicetemplateimageandflavor/aligned");
55     Assert.assertNotNull(messages);
56     Assert.assertEquals(messages.size(), 0);
57   }
58 }