1a7b6081d14f3bb7e421ccd74beb2c246db55b92
[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   private static final  String PATH = "/org/openecomp/validation/validators/guideLineValidator/heatPortNetworkNamingConvention/";
22   @Test
23   public void testHeatPortNetworkNamingConvention() {
24     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
25             resourceValidator, HeatResourcesTypes.NEUTRON_PORT_RESOURCE_TYPE.getHeatResource(),
26             PATH + "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             PATH + "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: [NNP3]: 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             PATH + "positiveFixedIP");
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             PATH + "negativeFixedIP/");
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: [NNP1]: 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: [NNP1]: 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
59     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(2).getMessage(),
60             "WARNING: [NNP1]: 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");
61
62     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(3).getMessage(),
63             "WARNING: [NNP1]: 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");
64   }
65
66   @Test
67   public void testMissingParam() {
68     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
69             resourceValidator, HeatResourcesTypes.NEUTRON_PORT_RESOURCE_TYPE.getHeatResource(),
70             PATH + "missingparam/");
71     Assert.assertNotNull(messages);
72     Assert.assertEquals(messages.size(), 1);
73     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().size(), 1);
74     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
75             "WARNING: [NNP2]: Missing get_param in network or network_id, Resource Id [port_resource_2]");
76   }
77 }