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 / NeutronPortNamingConventionValidatorTest.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.NamingConventionGuideLineValidator;
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 NeutronPortNamingConventionValidatorTest {
16
17   NamingConventionGuideLineValidator baseValidator = new NamingConventionGuideLineValidator();
18   NeutronPortNamingConventionValidator resourceValidator = new
19       NeutronPortNamingConventionValidator();
20   private static final  String PATH = "/org/openecomp/validation/validators/guideLineValidator/heatPortNetworkNamingConvention/";
21   @Test
22   public void testHeatPortNetworkNamingConvention() {
23     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
24             resourceValidator, HeatResourcesTypes.NEUTRON_PORT_RESOURCE_TYPE.getHeatResource(),
25             PATH + "positive/");
26     Assert.assertNotNull(messages);
27     Assert.assertEquals(messages.size(), 0);
28
29     messages = ValidationTestUtil.testValidator(baseValidator,
30             resourceValidator, HeatResourcesTypes.NEUTRON_PORT_RESOURCE_TYPE.getHeatResource(),
31             PATH + "negative/");
32     Assert.assertNotNull(messages);
33     Assert.assertEquals(messages.size(), 1);
34     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().size(), 3);
35     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
36             "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");
37   }
38
39   @Test
40   public void testNeutronFixedIpName() {
41     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
42             resourceValidator, HeatResourcesTypes.NEUTRON_PORT_RESOURCE_TYPE.getHeatResource(),
43             PATH + "positiveFixedIP");
44     Assert.assertNotNull(messages);
45     Assert.assertEquals(messages.size(), 0);
46
47     messages = ValidationTestUtil.testValidator(baseValidator,
48             resourceValidator, HeatResourcesTypes.NEUTRON_PORT_RESOURCE_TYPE.getHeatResource(),
49             PATH + "negativeFixedIP/");
50     Assert.assertNotNull(messages);
51     Assert.assertEquals(messages.size(), 1);
52     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().size(), 4);
53     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
54             "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");
55     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(1).getMessage(),
56             "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");
57
58     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(2).getMessage(),
59             "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");
60
61     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(3).getMessage(),
62             "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");
63   }
64
65   @Test
66   public void testMissingParam() {
67     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(baseValidator,
68             resourceValidator, HeatResourcesTypes.NEUTRON_PORT_RESOURCE_TYPE.getHeatResource(),
69             PATH + "missingparam/");
70     Assert.assertNotNull(messages);
71     Assert.assertEquals(messages.size(), 1);
72     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().size(), 1);
73     Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
74             "WARNING: [NNP2]: Missing get_param in network or network_id, Resource Id [port_resource_2]");
75   }
76 }