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 ManifestValidator validator = new ManifestValidator();
40 public void testValidManifest() {
42 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(validator,
43 "/org/openecomp/validation/validators/manifestValidator/validFiles");
44 Assert.assertNotNull(messages);
45 Assert.assertNotNull(messages);
46 Assert.assertEquals(messages.size(), 0);
50 public void testManifestMissingFileInZip() {
51 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
52 "/org/openecomp/validation/validators/manifestValidator/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().get(0).getMessage(),
57 "ERROR: " + Messages.MISSING_FILE_IN_ZIP.getErrorMessage());
61 public void testInvalidManifest() {
62 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
63 "/org/openecomp/validation/validators/manifestValidator/invalidManifest");
64 Assert.assertNotNull(messages);
65 Assert.assertNotNull(messages);
66 Assert.assertEquals(messages.size(), 1);
67 Assert.assertTrue(messages.containsKey(SdcCommon.MANIFEST_NAME));
68 ValidationTestUtil.validateErrorMessage(
69 messages.get(SdcCommon.MANIFEST_NAME).getErrorMessageList().get(0).getMessage(),
70 "ERROR: " + Messages.INVALID_MANIFEST_FILE.getErrorMessage(), SdcCommon.MANIFEST_NAME);
75 public void testMissingFileInManifest() {
76 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
77 "/org/openecomp/validation/validators/manifestValidator/missingFileInManifest");
78 Assert.assertNotNull(messages);
79 Assert.assertEquals(messages.size(), 1);
80 Assert.assertTrue(messages.containsKey("extraFile.env"));
81 ValidationTestUtil.validateErrorMessage(messages.get("extraFile.env").getErrorMessageList().get(0).getMessage(),
82 "WARNING: " + Messages.MISSING_FILE_IN_MANIFEST.getErrorMessage());
87 public void testInvalidFileTypeInManifest() {
88 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
89 "/org/openecomp/validation/validators/manifestValidator/invalidFileTypeInManifest");
90 Assert.assertNotNull(messages);
91 Assert.assertEquals(messages.size(), 4);
92 Assert.assertTrue(messages.containsKey("single.env.illegalSuffix"));
93 Assert.assertTrue(messages.containsKey("illegalTypeFile.yaml"));
94 Assert.assertTrue(messages.containsKey("single.yaml.illegalSuffix"));
95 Assert.assertTrue(messages.containsKey("singleVol.yaml.illegalSuffix"));
96 ValidationTestUtil.validateErrorMessage(
97 messages.get("single.env.illegalSuffix").getErrorMessageList().get(0).getMessage(),
98 "ERROR: " + Messages.WRONG_ENV_FILE_EXTENSION.getErrorMessage(),
99 "single.env.illegalSuffix");
100 ValidationTestUtil.validateErrorMessage(
101 messages.get("illegalTypeFile.yaml").getErrorMessageList().get(0).getMessage(),
102 "ERROR: " + Messages.INVALID_FILE_TYPE.getErrorMessage(), "illegalTypeFile.yaml");
103 ValidationTestUtil.validateErrorMessage(
104 messages.get("single.yaml.illegalSuffix").getErrorMessageList().get(0).getMessage(),
105 "ERROR: " + Messages.WRONG_HEAT_FILE_EXTENSION.getErrorMessage(),
106 "single.yaml.illegalSuffix");
107 ValidationTestUtil.validateErrorMessage(
108 messages.get("singleVol.yaml.illegalSuffix").getErrorMessageList().get(0).getMessage(),
109 "ERROR: " + Messages.WRONG_HEAT_FILE_EXTENSION.getErrorMessage(),
110 "singleVol.yaml.illegalSuffix");
116 public void testMissingFileInManifestAndInZip() {
118 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
119 "/org/openecomp/validation/validators/manifestValidator/missingFileInManifestAndInZip");
120 Assert.assertNotNull(messages);
121 Assert.assertEquals(messages.size(), 2);
122 Assert.assertTrue(messages.containsKey("extraFile.env"));
123 Assert.assertTrue(messages.containsKey("singleVol.yaml"));
124 ValidationTestUtil.validateErrorMessage(messages.get("extraFile.env").getErrorMessageList().get(0).getMessage(),
125 "WARNING: " + Messages.MISSING_FILE_IN_MANIFEST.getErrorMessage());
126 ValidationTestUtil.validateErrorMessage(messages.get("singleVol.yaml").getErrorMessageList().get(0).getMessage(),
127 "ERROR: " + Messages.MISSING_FILE_IN_ZIP.getErrorMessage());
133 public void testEnvInRoot() {
134 Map<String, MessageContainer> messages = ValidationTestUtil.testValidator(new ManifestValidator(),
135 "/org/openecomp/validation/validators/manifestValidator/envInRoot");
136 Assert.assertNotNull(messages);
137 Assert.assertEquals(messages.size(), 1);
138 Assert.assertTrue(messages.containsKey("second.env"));
139 ValidationTestUtil.validateErrorMessage(messages.get("second.env").getErrorMessageList().get(0).getMessage(),
140 "ERROR: ENV file must be associated to a HEAT file");