2 * Copyright © 2016-2018 European Support Limited
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org.openecomp.sdc.vendorsoftwareproduct.tree;
19 import org.openecomp.sdc.datatypes.error.ErrorLevel;
20 import org.openecomp.sdc.datatypes.error.ErrorMessage;
21 import org.openecomp.sdc.heat.datatypes.structure.HeatStructureTree;
22 import org.openecomp.sdc.heat.services.tree.HeatTreeManager;
24 import java.io.IOException;
25 import java.net.URISyntaxException;
27 import org.testng.Assert;
28 import org.testng.annotations.Test;
31 public class HeatTreeManagerTest extends TreeBaseTest {
34 public void testHeatTreeManager() throws IOException, URISyntaxException {
36 HeatTreeManager heatTreeManager = initHeatTreeManager("./tree/valid_tree/input/");
37 heatTreeManager.createTree();
38 Map<String, List<ErrorMessage>> errorMap = new HashMap<>();
40 List<ErrorMessage> errorList = new ArrayList<>();
41 errorList.add(new ErrorMessage(ErrorLevel.ERROR, "Missing Artifact"));
42 errorMap.put("missing-artifact", errorList);
43 errorList = new ArrayList<>();
44 errorList.add(new ErrorMessage(ErrorLevel.WARNING, "Missing Nested File"));
45 errorMap.put("missingNested.yaml", errorList);
46 heatTreeManager.addErrors(errorMap);
47 HeatStructureTree tree = heatTreeManager.getTree();
48 Assert.assertNotNull(tree);
52 public void testHeatTreeManagerMissingManifest() throws IOException, URISyntaxException {
54 HeatTreeManager heatTreeManager = initHeatTreeManager("./tree/missing_manifest/input/");
55 heatTreeManager.createTree();
56 Map<String, List<ErrorMessage>> errorMap = new HashMap<>();
58 List<ErrorMessage> errorList = new ArrayList<>();
59 errorList.add(new ErrorMessage(ErrorLevel.ERROR, "Missing Artifact"));
60 errorMap.put("missing-artifact", errorList);
61 errorList = new ArrayList<>();
62 errorList.add(new ErrorMessage(ErrorLevel.WARNING, "Missing Nested File"));
63 errorMap.put("missingNested.yaml", errorList);
64 heatTreeManager.addErrors(errorMap);
65 HeatStructureTree tree = heatTreeManager.getTree();
66 Assert.assertNotNull(tree);
67 Assert.assertNull(tree.getHeat());
73 public void testResourceGroupShowsAsNestedFileInTree() throws IOException, URISyntaxException {
75 HeatTreeManager heatTreeManager = initHeatTreeManager("./tree/nested_resource_group");
76 heatTreeManager.createTree();
77 HeatStructureTree tree = heatTreeManager.getTree();
79 Set<HeatStructureTree> heat = tree.getHeat();
80 Assert.assertNotNull(heat);
82 HeatStructureTree addOnHeatSubTree =
83 HeatStructureTree.getHeatStructureTreeByName(heat, "addOn.yml");
84 Assert.assertNotNull(addOnHeatSubTree);
86 Set<HeatStructureTree> addOnNestedFiles = addOnHeatSubTree.getNested();
87 Assert.assertNotNull(addOnNestedFiles);
89 HeatStructureTree nestedFile =
90 HeatStructureTree.getHeatStructureTreeByName(addOnNestedFiles, "nested.yml");
91 Assert.assertNotNull(nestedFile);
96 public void testVolumeNestedFileIsNotUnderVolumeSubTree() throws IOException, URISyntaxException {
98 HeatTreeManager heatTreeManager = initHeatTreeManager("./tree/nested_volume");
99 heatTreeManager.createTree();
100 HeatStructureTree tree = heatTreeManager.getTree();
102 Set<HeatStructureTree> heat = tree.getHeat();
103 Set<HeatStructureTree> volume = tree.getVolume();
104 Assert.assertNotNull(heat);
105 Assert.assertNull(volume);
107 HeatStructureTree baseMobtSubTree =
108 HeatStructureTree.getHeatStructureTreeByName(heat, "base_mobt.yaml");
109 Assert.assertNotNull(baseMobtSubTree);
111 Set<HeatStructureTree> baseMobtNestedFiles = baseMobtSubTree.getNested();
112 Assert.assertNotNull(baseMobtNestedFiles);
114 HeatStructureTree nestedVolumeFile = HeatStructureTree
115 .getHeatStructureTreeByName(baseMobtNestedFiles, "hot_mobt_volume_attach_nested.yaml");
116 Assert.assertNotNull(nestedVolumeFile);