Sorted out unit-test libraries in onboarding
[sdc.git] / openecomp-be / lib / openecomp-sdc-validation-lib / openecomp-sdc-validation-impl / src / test / java / org / openecomp / sdc / validation / impl / validators / ManifestValidatorTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.validation.impl.validators;
22
23
24 import java.util.Map;
25 import org.junit.Assert;
26 import org.junit.Test;
27 import org.openecomp.core.validation.types.MessageContainer;
28 import org.openecomp.sdc.common.errors.Messages;
29 import org.openecomp.sdc.common.utils.SdcCommon;
30 import org.openecomp.sdc.validation.util.ValidationTestUtil;
31
32
33 public class ManifestValidatorTest {
34
35
36   private static final String RESOURCE_PATH = "/org/openecomp/validation/validators/manifestValidator";
37   private ManifestValidator validator = new ManifestValidator();
38
39   @Test
40   public void testValidManifest() {
41
42     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(validator,
43         RESOURCE_PATH + "/validFiles");
44     Assert.assertNotNull(messages);
45     Assert.assertNotNull(messages);
46     Assert.assertEquals(messages.size(), 0);
47   }
48
49   @Test
50   public void testManifestMissingFileInZip() {
51     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
52         RESOURCE_PATH + "/missingFileInZip");
53     Assert.assertNotNull(messages);
54     Assert.assertEquals(messages.size(), 1);
55     Assert.assertTrue(messages.containsKey("singleVol.yaml"));
56     ValidationTestUtil.validateErrorMessage(messages.get("singleVol.yaml").getErrorMessageList()
57             .get(0).getMessage(),
58         "ERROR: " + "[MNF4]: " + Messages.MISSING_FILE_IN_ZIP.getErrorMessage());
59   }
60
61   @Test
62   public void testInvalidManifest() {
63     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
64         RESOURCE_PATH + "/invalidManifest");
65     Assert.assertNotNull(messages);
66     Assert.assertNotNull(messages);
67     Assert.assertEquals(messages.size(), 1);
68     Assert.assertTrue(messages.containsKey(SdcCommon.MANIFEST_NAME));
69     ValidationTestUtil.validateErrorMessage(
70         messages.get(SdcCommon.MANIFEST_NAME).getErrorMessageList().get(0).getMessage(),
71         "ERROR: " +"[MNF6]: " + Messages.INVALID_MANIFEST_FILE.getErrorMessage());
72
73   }
74
75   @Test
76   public void testMissingFileInManifest() {
77     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
78         RESOURCE_PATH + "/missingFileInManifest");
79     Assert.assertNotNull(messages);
80     Assert.assertEquals(messages.size(), 1);
81     Assert.assertTrue(messages.containsKey("extraFile.env"));
82     ValidationTestUtil.validateErrorMessage(messages.get("extraFile.env").getErrorMessageList()
83             .get(0).getMessage(),
84         "WARNING: " + "[MNF5]: " + Messages.MISSING_FILE_IN_MANIFEST.getErrorMessage());
85
86   }
87   @Test
88   public void testMissingFileTypeInManifest() {
89     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
90         RESOURCE_PATH + "/missingFileTypeInManifest");
91     ValidationTestUtil.validateErrorMessage(
92         messages.get("MANIFEST.json").getErrorMessageList().get(0).getMessage(),
93         "ERROR: " + "[MNF7]: Missing file name in manifest");
94   }
95
96   @Test
97   public void testInvalidFileTypeInManifest() {
98     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
99         RESOURCE_PATH + "/invalidFileTypeInManifest");
100     Assert.assertNotNull(messages);
101     Assert.assertEquals(messages.size(), 4);
102     Assert.assertTrue(messages.containsKey("single.env.illegalSuffix"));
103     Assert.assertTrue(messages.containsKey("illegalTypeFile.yaml"));
104     Assert.assertTrue(messages.containsKey("single.yaml.illegalSuffix"));
105     Assert.assertTrue(messages.containsKey("singleVol.yaml.illegalSuffix"));
106     ValidationTestUtil.validateErrorMessage(
107         messages.get("single.env.illegalSuffix").getErrorMessageList().get(0).getMessage(),
108         "ERROR: "+"[MNF3]: " + Messages.WRONG_ENV_FILE_EXTENSION.getErrorMessage(),
109         "single.env.illegalSuffix");
110     ValidationTestUtil.validateErrorMessage(
111         messages.get("illegalTypeFile.yaml").getErrorMessageList().get(0).getMessage(),
112         "ERROR: "+"[MNF8]: " + Messages.INVALID_FILE_TYPE.getErrorMessage(),
113         "illegalTypeFile.yaml");
114     ValidationTestUtil.validateErrorMessage(
115         messages.get("single.yaml.illegalSuffix").getErrorMessageList().get(0).getMessage(),
116         "ERROR: "+"[MNF2]: " + Messages.WRONG_HEAT_FILE_EXTENSION.getErrorMessage(),
117         "single.yaml.illegalSuffix");
118     ValidationTestUtil.validateErrorMessage(
119         messages.get("singleVol.yaml.illegalSuffix").getErrorMessageList().get(0).getMessage(),
120         "ERROR: "+"[MNF2]: " + Messages.WRONG_HEAT_FILE_EXTENSION.getErrorMessage(),
121         "singleVol.yaml.illegalSuffix");
122
123   }
124
125
126   @Test
127   public void testMissingFileInManifestAndInZip() {
128
129     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
130         RESOURCE_PATH + "/missingFileInManifestAndInZip");
131     Assert.assertNotNull(messages);
132     Assert.assertEquals(messages.size(), 2);
133     Assert.assertTrue(messages.containsKey("extraFile.env"));
134     Assert.assertTrue(messages.containsKey("singleVol.yaml"));
135     ValidationTestUtil.validateErrorMessage(messages.get("extraFile.env").getErrorMessageList()
136             .get(0).getMessage(), "WARNING: " + "[MNF5]: "+ Messages.MISSING_FILE_IN_MANIFEST
137         .getErrorMessage());
138     ValidationTestUtil.validateErrorMessage(messages.get("singleVol.yaml").getErrorMessageList()
139             .get(0).getMessage(), "ERROR: " + "[MNF4]: " + Messages.MISSING_FILE_IN_ZIP
140         .getErrorMessage());
141
142   }
143
144   @Test
145   public void testEnvInRoot() {
146     Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
147         RESOURCE_PATH + "/envInRoot");
148     Assert.assertNotNull(messages);
149     Assert.assertEquals(messages.size(), 1);
150     Assert.assertTrue(messages.containsKey("second.env"));
151     ValidationTestUtil.validateErrorMessage(messages.get("second.env").getErrorMessageList()
152             .get(0).getMessage(),
153         "ERROR: [MNF1]: ENV file must be associated to a HEAT file");
154   }
155 }