8ba5a27c369a4b028562512a82a2a8b3569732b7
[sdc.git] /
1 package org.openecomp.sdc.validation.impl.validators.namingconvention;
2
3 import org.openecomp.sdc.validation.impl.validators.NamingConventionGuideLineValidator;
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 NeutronPortNamingConventionValidatorTest {
17
18   NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator();
19   NeutronPortNamingConventionValidator resourceValidator = new
20       NeutronPortNamingConventionValidator();
21
22   @Test
23   public void testHeatPortNetworkNamingConvention() {
24     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
25         resourceValidator, HeatResourcesTypes.NEUTRON_PORT_RESOURCE_TYPE.getHeatResource(),
26         "/org/openecomp/validation/validators/guideLineValidator/heatPortNetworkNamingConvention/positive/");
27     Assert.assertNotNull(messages);
28     Assert.assertEquals(messages.size(), 0);
29
30     messages = ValidationTestUtil.testValidator(baseValidator,
31         resourceValidator, HeatResourcesTypes.NEUTRON_PORT_RESOURCE_TYPE.getHeatResource(),
32         "/org/openecomp/validation/validators/guideLineValidator/heatPortNetworkNamingConvention/negative/");
33     Assert.assertNotNull(messages);
34     Assert.assertEquals(messages.size(), 1);
35     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().size(), 3);
36     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
37         "WARNING: Port 'Network' Parameter Name not aligned with Guidelines, Parameter Name [not_valid_network_name], Resource ID [port_resource]. As a result, VF/VFC Profile may miss this information");
38   }
39
40   @Test
41   public void testNeutronFixedIpName() {
42     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
43         resourceValidator, HeatResourcesTypes.NEUTRON_PORT_RESOURCE_TYPE.getHeatResource(),
44         "/org/openecomp/validation/validators/guideLineValidator/heatPortFixedIpNamingConvention/positive");
45     Assert.assertNotNull(messages);
46     Assert.assertEquals(messages.size(), 0);
47
48     messages = ValidationTestUtil.testValidator(baseValidator,
49         resourceValidator, HeatResourcesTypes.NEUTRON_PORT_RESOURCE_TYPE.getHeatResource(),
50         "/org/openecomp/validation/validators/guideLineValidator/heatPortFixedIpNamingConvention/negative/");
51     Assert.assertNotNull(messages);
52     Assert.assertEquals(messages.size(), 1);
53     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().size(), 4);
54     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
55         "WARNING: Port 'Fixed_IPS' Parameter Name not aligned with Guidelines, Parameter Name [pcrf_net_v6_ip_a], Resource ID [port_resource_0]. As a result, VF/VFC Profile may miss this information");
56     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(1).getMessage(),
57         "WARNING: Port 'Fixed_IPS' Parameter Name not aligned with Guidelines, Parameter Name [indx], Resource ID [port_resource_1]. As a result, VF/VFC Profile may miss this information");
58     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(2).getMessage(),
59         "WARNING: Port 'Fixed_IPS' Parameter Name not aligned with Guidelines, Parameter Name [pcrf_net_ipz], Resource ID [port_resource_2]. As a result, VF/VFC Profile may miss this information");
60     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(3).getMessage(),
61         "WARNING: Port 'Fixed_IPS' Parameter Name not aligned with Guidelines, Parameter Name [pcrf_net_v0_ip_3], Resource ID [port_resource_2]. As a result, VF/VFC Profile may miss this information");
62   }
63 }