2fb86f8556835612cdd37f47edba1f75673be8ff
[sdc.git] /
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 ContrailServiceInstanceNamingConventionValidatorTest {
16
17   HeatResourceValidator baseValidator = new HeatResourceValidator();
18   ContrailServiceInstanceNamingConventionValidator resourceValidator = new
19       ContrailServiceInstanceNamingConventionValidator();
20   private static final String PATH = "/org/openecomp/validation/validators/guideLineValidator/heatcontrailserviceinstanceavailabilityzone/";
21
22   @Test
23   public void testContrailServiceInstanceAvailabilityZoneNotAlignedWithNamingConvention() {
24     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
25             resourceValidator, HeatResourcesTypes.CONTRAIL_SERVICE_INSTANCE.getHeatResource(),
26             PATH + "notaligned");
27     Assert.assertNotNull(messages);
28     Assert.assertEquals(messages.size(), 1);
29     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().size(), 1);
30     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
31             "WARNING: [NSI1]: Service Instance 'Availability Zone' Parameter Name not aligned with Guidelines, Parameter Name [availability_zone_1a], Resource ID [service_instance_1]. As a result, VF/VFC Profile may miss this information");
32   }
33
34   @Test
35   public void testContrailServiceInstanceAvailabilityZoneAlignedWithNamingConvention() {
36     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
37             resourceValidator, HeatResourcesTypes.CONTRAIL_SERVICE_INSTANCE.getHeatResource(),
38             PATH + "aligned");
39     Assert.assertNotNull(messages);
40     Assert.assertEquals(messages.size(), 0);
41   }
42   @Test
43   public void testContrailServiceInstanceAvailabilityZoneNotAlignedWithNamingConventionMissingParam() {
44     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
45             resourceValidator, HeatResourcesTypes.CONTRAIL_SERVICE_INSTANCE.getHeatResource(),
46             PATH + "missingparam");
47     Assert.assertNotNull(messages);
48     Assert.assertEquals(messages.size(), 1);
49     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().size(), 1);
50     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
51             "WARNING: [NSI2]: Missing get_param in availability_zone, Resource Id [service_instance_1]");
52   }
53 }