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;
24 import org.openecomp.core.validation.types.MessageContainer;
25 import org.openecomp.sdc.common.errors.Messages;
26 import org.openecomp.sdc.common.utils.SdcCommon;
27 import org.openecomp.sdc.validation.util.ValidationTestUtil;
28 import org.testng.Assert;
29 import org.testng.annotations.Test;
34 public class ManifestValidatorTest {
37 private static final String RESOURCE_PATH = "/org/openecomp/validation/validators/manifestValidator";
38 private ManifestValidator validator = new ManifestValidator();
41 public void testValidManifest() {
43 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(validator,
44 RESOURCE_PATH + "/validFiles");
45 Assert.assertNotNull(messages);
46 Assert.assertNotNull(messages);
47 Assert.assertEquals(messages.size(), 0);
51 public void testManifestMissingFileInZip() {
52 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
53 RESOURCE_PATH + "/missingFileInZip");
54 Assert.assertNotNull(messages);
55 Assert.assertEquals(messages.size(), 1);
56 Assert.assertTrue(messages.containsKey("singleVol.yaml"));
57 ValidationTestUtil.validateErrorMessage(messages.get("singleVol.yaml").getErrorMessageList()
59 "ERROR: " + "[MNF4]: " + Messages.MISSING_FILE_IN_ZIP.getErrorMessage());
63 public void testInvalidManifest() {
64 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
65 RESOURCE_PATH + "/invalidManifest");
66 Assert.assertNotNull(messages);
67 Assert.assertNotNull(messages);
68 Assert.assertEquals(messages.size(), 1);
69 Assert.assertTrue(messages.containsKey(SdcCommon.MANIFEST_NAME));
70 ValidationTestUtil.validateErrorMessage(
71 messages.get(SdcCommon.MANIFEST_NAME).getErrorMessageList().get(0).getMessage(),
72 "ERROR: " +"[MNF6]: " + Messages.INVALID_MANIFEST_FILE.getErrorMessage());
77 public void testMissingFileInManifest() {
78 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
79 RESOURCE_PATH + "/missingFileInManifest");
80 Assert.assertNotNull(messages);
81 Assert.assertEquals(messages.size(), 1);
82 Assert.assertTrue(messages.containsKey("extraFile.env"));
83 ValidationTestUtil.validateErrorMessage(messages.get("extraFile.env").getErrorMessageList()
85 "WARNING: " + "[MNF5]: " + Messages.MISSING_FILE_IN_MANIFEST.getErrorMessage());
89 public void testMissingFileTypeInManifest() {
90 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
91 RESOURCE_PATH + "/missingFileTypeInManifest");
92 ValidationTestUtil.validateErrorMessage(
93 messages.get("MANIFEST.json").getErrorMessageList().get(0).getMessage(),
94 "ERROR: " + "[MNF7]: Missing file name in manifest");
98 public void testInvalidFileTypeInManifest() {
99 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
100 RESOURCE_PATH + "/invalidFileTypeInManifest");
101 Assert.assertNotNull(messages);
102 Assert.assertEquals(messages.size(), 4);
103 Assert.assertTrue(messages.containsKey("single.env.illegalSuffix"));
104 Assert.assertTrue(messages.containsKey("illegalTypeFile.yaml"));
105 Assert.assertTrue(messages.containsKey("single.yaml.illegalSuffix"));
106 Assert.assertTrue(messages.containsKey("singleVol.yaml.illegalSuffix"));
107 ValidationTestUtil.validateErrorMessage(
108 messages.get("single.env.illegalSuffix").getErrorMessageList().get(0).getMessage(),
109 "ERROR: "+"[MNF3]: " + Messages.WRONG_ENV_FILE_EXTENSION.getErrorMessage(),
110 "single.env.illegalSuffix");
111 ValidationTestUtil.validateErrorMessage(
112 messages.get("illegalTypeFile.yaml").getErrorMessageList().get(0).getMessage(),
113 "ERROR: "+"[MNF8]: " + Messages.INVALID_FILE_TYPE.getErrorMessage(),
114 "illegalTypeFile.yaml");
115 ValidationTestUtil.validateErrorMessage(
116 messages.get("single.yaml.illegalSuffix").getErrorMessageList().get(0).getMessage(),
117 "ERROR: "+"[MNF2]: " + Messages.WRONG_HEAT_FILE_EXTENSION.getErrorMessage(),
118 "single.yaml.illegalSuffix");
119 ValidationTestUtil.validateErrorMessage(
120 messages.get("singleVol.yaml.illegalSuffix").getErrorMessageList().get(0).getMessage(),
121 "ERROR: "+"[MNF2]: " + Messages.WRONG_HEAT_FILE_EXTENSION.getErrorMessage(),
122 "singleVol.yaml.illegalSuffix");
128 public void testMissingFileInManifestAndInZip() {
130 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
131 RESOURCE_PATH + "/missingFileInManifestAndInZip");
132 Assert.assertNotNull(messages);
133 Assert.assertEquals(messages.size(), 2);
134 Assert.assertTrue(messages.containsKey("extraFile.env"));
135 Assert.assertTrue(messages.containsKey("singleVol.yaml"));
136 ValidationTestUtil.validateErrorMessage(messages.get("extraFile.env").getErrorMessageList()
137 .get(0).getMessage(), "WARNING: " + "[MNF5]: "+ Messages.MISSING_FILE_IN_MANIFEST
139 ValidationTestUtil.validateErrorMessage(messages.get("singleVol.yaml").getErrorMessageList()
140 .get(0).getMessage(), "ERROR: " + "[MNF4]: " + Messages.MISSING_FILE_IN_ZIP
146 public void testEnvInRoot() {
147 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
148 RESOURCE_PATH + "/envInRoot");
149 Assert.assertNotNull(messages);
150 Assert.assertEquals(messages.size(), 1);
151 Assert.assertTrue(messages.containsKey("second.env"));
152 ValidationTestUtil.validateErrorMessage(messages.get("second.env").getErrorMessageList()
153 .get(0).getMessage(),
154 "ERROR: [MNF1]: ENV file must be associated to a HEAT file");