1 package org.openecomp.sdc.validation.impl.validators;
3 import org.openecomp.sdc.validation.Validator;
4 import org.openecomp.core.validation.types.MessageContainer;
5 import org.openecomp.sdc.validation.util.ValidationTestUtil;
6 import org.testng.Assert;
7 import org.testng.annotations.Test;
12 * Created by TALIO on 2/15/2017.
14 public class SharedResourceGuideLineValidatorTest {
16 Validator validator = new SharedResourceGuideLineValidator();
19 public void testBaseHeatExposeNetwork() {
20 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(validator,
21 "/org/openecomp/validation/validators/attGuideLineValidator/baseHeatDoesNotExposeNetwork/positive/");
22 Assert.assertNotNull(messages);
23 Assert.assertEquals(messages.size(), 0);
25 messages = ValidationTestUtil.testValidator(validator,
26 "/org/openecomp/validation/validators/attGuideLineValidator/baseHeatDoesNotExposeNetwork/negative/");
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: Resource is not defined as output and thus cannot be Shared, Resource ID [SecurityGroup_expose]");
35 public void testBaseHeatExposeNetworkAndVolume() {
36 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(validator,
37 "/org/openecomp/validation/validators/attGuideLineValidator/baseHeatDoesNotExposeNetworkAndVolume/positive/");
38 Assert.assertNotNull(messages);
39 Assert.assertEquals(messages.size(), 0);
41 messages = ValidationTestUtil.testValidator(validator,
42 "/org/openecomp/validation/validators/attGuideLineValidator/baseHeatDoesNotExposeNetworkAndVolume/negative/");
43 Assert.assertNotNull(messages);
44 Assert.assertEquals(messages.size(), 1);
45 Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().size(), 2);
46 Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
47 "WARNING: Resource is not defined as output and thus cannot be Shared, Resource ID [volume_expose]");
48 Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(1).getMessage(),
49 "WARNING: Resource is not defined as output and thus cannot be Shared, Resource ID [net_expose]");
53 public void testBaseHeatExposeServerGroup() {
54 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(validator,
55 "/org/openecomp/validation/validators/attGuideLineValidator/baseHeatDoesNotExposeServerGroup/positive/");
56 Assert.assertNotNull(messages);
57 Assert.assertEquals(messages.size(), 0);
59 messages = ValidationTestUtil.testValidator(validator,
60 "/org/openecomp/validation/validators/attGuideLineValidator/baseHeatDoesNotExposeServerGroup/negative/");
61 Assert.assertNotNull(messages);
62 Assert.assertEquals(messages.size(), 1);
63 Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().size(), 1);
64 Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
65 "WARNING: Resource is not defined as output and thus cannot be Shared, Resource ID [ServerGroup_expose]");
69 public void testBaseHeatExposeSecurityGroup() {
70 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(validator,
71 "/org/openecomp/validation/validators/attGuideLineValidator/baseHeatDoesNotExposeSecurityGroup/positive/");
72 Assert.assertNotNull(messages);
73 Assert.assertEquals(messages.size(), 0);
75 messages = ValidationTestUtil.testValidator(validator,
76 "/org/openecomp/validation/validators/attGuideLineValidator/baseHeatDoesNotExposeSecurityGroup/negative/");
77 Assert.assertNotNull(messages);
78 Assert.assertEquals(messages.size(), 1);
79 Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().size(), 1);
80 Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
81 "WARNING: Resource is not defined as output and thus cannot be Shared, Resource ID [SecurityGroup_expose]");
85 public void testBaseHeatExposeVolume() {
86 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(validator,
87 "/org/openecomp/validation/validators/attGuideLineValidator/baseHeatDoesNotExposeVolume/positive/");
88 Assert.assertNotNull(messages);
89 Assert.assertEquals(messages.size(), 0);
91 messages = ValidationTestUtil.testValidator(validator,
92 "/org/openecomp/validation/validators/attGuideLineValidator/baseHeatDoesNotExposeVolume/negative/");
93 Assert.assertNotNull(messages);
94 Assert.assertEquals(messages.size(), 1);
95 Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().size(), 1);
96 Assert.assertEquals(messages.get("first.yaml").getErrorMessageList().get(0).getMessage(),
97 "WARNING: Resource is not defined as output and thus cannot be Shared, Resource ID [volume_expose]");
101 public void testHeatVolumeExpose() {
102 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(validator,
103 "/org/openecomp/validation/validators/attGuideLineValidator/heatVolumeExpose/positive/");
104 Assert.assertNotNull(messages);
105 Assert.assertEquals(messages.size(), 0);
107 messages = ValidationTestUtil.testValidator(validator,
108 "/org/openecomp/validation/validators/attGuideLineValidator/heatVolumeExpose/negative/");
109 Assert.assertNotNull(messages);
110 Assert.assertEquals(messages.size(), 1);
111 Assert.assertEquals(messages.get("firstVol.yaml").getErrorMessageList().size(), 1);
112 Assert.assertEquals(messages.get("firstVol.yaml").getErrorMessageList().get(0).getMessage(),
113 "WARNING: Volume is not defined as output and thus cannot be attached volume_expose");
118 public void testResourceIsExposedByCallingGetResourceNotFromOutput() {
119 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(validator,
120 "/org/openecomp/validation/validators/attGuideLineValidator/baseHeatExposeResourceUsingGetResource/positive");
121 Assert.assertNotNull(messages);
122 Assert.assertEquals(messages.size(), 0);
125 messages = ValidationTestUtil.testValidator(validator,
126 "/org/openecomp/validation/validators/attGuideLineValidator/baseHeatExposeResourceUsingGetResource/negative");
127 Assert.assertNotNull(messages);
128 Assert.assertEquals(messages.size(), 1);
129 Assert.assertEquals(messages.get("base_virc.yaml").getErrorMessageList().size(), 1);
130 Assert.assertEquals(messages.get("base_virc.yaml").getErrorMessageList().get(0).getMessage(),
131 "WARNING: Resource is not defined as output and thus cannot be Shared, Resource ID [virc_RSG]");
135 public void testMissingBaseHeat() {
136 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(validator,
137 "/org/openecomp/validation/validators/attGuideLineValidator/missingBaseHeat/");
138 Assert.assertNotNull(messages);
139 Assert.assertEquals(messages.size(), 1);
140 Assert.assertEquals(messages.get("MANIFEST.json").getErrorMessageList().size(), 1);
141 Assert.assertEquals(messages.get("MANIFEST.json").getErrorMessageList().get(0).getMessage(),
142 "WARNING: Missing Base HEAT. Pay attention that without Base HEAT, there will be no shared resources");
146 public void testMultiBaseHeat() {
147 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(validator,
148 "/org/openecomp/validation/validators/attGuideLineValidator/multiBaseHeat/");
149 Assert.assertNotNull(messages);
150 Assert.assertEquals(messages.size(), 1);
151 Assert.assertEquals(messages.get("MANIFEST.json").getErrorMessageList().size(), 1);
152 Assert.assertEquals(messages.get("MANIFEST.json").getErrorMessageList().get(0).getMessage(),
153 "WARNING: Multi Base HEAT. Expected only one. Files [second.yaml,first.yaml].");