Add collaboration feature
[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.core.validation.types.MessageContainer;
4 import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes;
5 import org.openecomp.sdc.validation.impl.validators.HeatResourceValidator;
6 import org.openecomp.sdc.validation.util.ValidationTestUtil;
7 import org.testng.Assert;
8 import org.testng.annotations.Test;
9
10 import java.util.Map;
11
12 /**
13  * Created by TALIO on 2/28/2017.
14  */
15 public class ContrailServiceTemplateNamingConventionValidatorTest {
16
17   HeatResourceValidator baseValidator = new HeatResourceValidator();
18   ContrailServiceTemplateNamingConventionValidator resourceValidator = new
19       ContrailServiceTemplateNamingConventionValidator();
20   private static final String PATH="/org/openecomp/validation/validators/guideLineValidator/heatcontrailservicetemplateimageandflavor/";
21
22   @Test
23   public void testContrailServiceTemplateImageAndFlavorNamesAlignedWithNamingConventionButDifferentVmType() {
24     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
25             resourceValidator, HeatResourcesTypes.CONTRAIL_SERVICE_TEMPLATE.getHeatResource(),
26             PATH + "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: [NST1]: 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             PATH + "/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: [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");
45     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(1).getMessage(),
46             "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");
47   }
48
49   @Test
50   public void testContrailServiceTemplateImageAndFlavorNamesAlignedWithNamingConvention() {
51     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
52             resourceValidator, HeatResourcesTypes.CONTRAIL_SERVICE_TEMPLATE.getHeatResource(),
53             PATH + "aligned");
54     Assert.assertNotNull(messages);
55     Assert.assertEquals(messages.size(), 0);
56   }
57
58   @Test
59   public void testContrailServiceTemplateMissingParam() {
60     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
61             resourceValidator, HeatResourcesTypes.CONTRAIL_SERVICE_TEMPLATE.getHeatResource(),
62             PATH + "missingparam");
63     Assert.assertNotNull(messages);
64     Assert.assertEquals(messages.size(), 1);
65     Assert.assertEquals(
66             messages.get(messages.keySet().iterator().next()).getErrorMessageList().size(), 1);
67     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
68             "WARNING: [NST2]: Missing get_param in image_name, Resource Id [service_template]");
69   }
70
71 }