2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.openecomp.sdc.validation.impl.validators;
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;
33 public class ManifestValidatorTest {
36 private static final String RESOURCE_PATH = "/org/openecomp/validation/validators/manifestValidator";
37 private ManifestValidator validator = new ManifestValidator();
40 public void testValidManifest() {
42 Map<String, MessageContainer> messages = new ValidationTestUtil().testValidator(validator,
43 RESOURCE_PATH + "/validFiles");
44 Assert.assertNotNull(messages);
45 Assert.assertNotNull(messages);
46 Assert.assertEquals(messages.size(), 0);
50 public void testManifestMissingFileInZip() {
51 Map<String, MessageContainer> messages = new 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 new ValidationTestUtil().validateErrorMessage(messages.get("singleVol.yaml").getErrorMessageList()
58 "ERROR: " + "[MNF4]: " + Messages.MISSING_FILE_IN_ZIP.getErrorMessage());
62 public void testInvalidManifest() {
63 Map<String, MessageContainer> messages = new 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 new ValidationTestUtil().validateErrorMessage(
70 messages.get(SdcCommon.MANIFEST_NAME).getErrorMessageList().get(0).getMessage(),
71 "ERROR: " +"[MNF6]: " + Messages.INVALID_MANIFEST_FILE.getErrorMessage());
76 public void testMissingFileInManifest() {
77 Map<String, MessageContainer> messages = new 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 new ValidationTestUtil().validateErrorMessage(messages.get("extraFile.env").getErrorMessageList()
84 "WARNING: " + "[MNF5]: " + Messages.MISSING_FILE_IN_MANIFEST.getErrorMessage());
88 public void testMissingFileTypeInManifest() {
89 Map<String, MessageContainer> messages = new ValidationTestUtil().testValidator(new ManifestValidator(),
90 RESOURCE_PATH + "/missingFileTypeInManifest");
91 new ValidationTestUtil().validateErrorMessage(
92 messages.get("MANIFEST.json").getErrorMessageList().get(0).getMessage(),
93 "ERROR: " + "[MNF7]: Missing file name in manifest");
97 public void testInvalidFileTypeInManifest() {
98 Map<String, MessageContainer> messages = new 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 new 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 new ValidationTestUtil().validateErrorMessage(
111 messages.get("illegalTypeFile.yaml").getErrorMessageList().get(0).getMessage(),
112 "ERROR: "+"[MNF8]: " + Messages.INVALID_FILE_TYPE.getErrorMessage(),
113 "illegalTypeFile.yaml");
114 new 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 new 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");
127 public void testMissingFileInManifestAndInZip() {
129 Map<String, MessageContainer> messages = new 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 new ValidationTestUtil().validateErrorMessage(messages.get("extraFile.env").getErrorMessageList()
136 .get(0).getMessage(), "WARNING: " + "[MNF5]: "+ Messages.MISSING_FILE_IN_MANIFEST
138 new ValidationTestUtil().validateErrorMessage(messages.get("singleVol.yaml").getErrorMessageList()
139 .get(0).getMessage(), "ERROR: " + "[MNF4]: " + Messages.MISSING_FILE_IN_ZIP
145 public void testEnvInRoot() {
146 Map<String, MessageContainer> messages = new 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 new ValidationTestUtil().validateErrorMessage(messages.get("second.env").getErrorMessageList()
152 .get(0).getMessage(),
153 "ERROR: [MNF1]: ENV file must be associated to a HEAT file");