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.vendorsoftwareproduct.tree;
23 import org.openecomp.sdc.datatypes.error.ErrorLevel;
24 import org.openecomp.sdc.datatypes.error.ErrorMessage;
25 import org.openecomp.sdc.heat.datatypes.structure.HeatStructureTree;
26 import org.openecomp.sdc.heat.services.tree.HeatTreeManager;
27 import org.testng.Assert;
28 import org.testng.annotations.Test;
30 import java.io.IOException;
31 import java.util.ArrayList;
32 import java.util.HashMap;
33 import java.util.List;
38 public class HeatTreeManagerTest extends TreeBaseTest {
41 public void testHeatTreeManager() {
43 INPUT_DIR = "./tree/valid_tree/input/";
44 HeatTreeManager heatTreeManager = initHeatTreeManager();
45 heatTreeManager.createTree();
46 Map<String, List<ErrorMessage>> errorMap = new HashMap<>();
48 List<ErrorMessage> errorList = new ArrayList<>();
49 errorList.add(new ErrorMessage(ErrorLevel.ERROR, "Missing Artifact"));
50 errorMap.put("missing-artifact", errorList);
51 errorList = new ArrayList<>();
52 errorList.add(new ErrorMessage(ErrorLevel.WARNING, "Missing Nested File"));
53 errorMap.put("missingNested.yaml", errorList);
54 heatTreeManager.addErrors(errorMap);
55 HeatStructureTree tree = heatTreeManager.getTree();
56 Assert.assertNotNull(tree);
60 public void testHeatTreeManagerMissingManifest() {
62 INPUT_DIR = "./tree/missing_manifest/input/";
63 HeatTreeManager heatTreeManager = initHeatTreeManager();
64 heatTreeManager.createTree();
65 Map<String, List<ErrorMessage>> errorMap = new HashMap<>();
67 List<ErrorMessage> errorList = new ArrayList<>();
68 errorList.add(new ErrorMessage(ErrorLevel.ERROR, "Missing Artifact"));
69 errorMap.put("missing-artifact", errorList);
70 errorList = new ArrayList<>();
71 errorList.add(new ErrorMessage(ErrorLevel.WARNING, "Missing Nested File"));
72 errorMap.put("missingNested.yaml", errorList);
73 heatTreeManager.addErrors(errorMap);
74 HeatStructureTree tree = heatTreeManager.getTree();
75 Assert.assertNotNull(tree);
76 Assert.assertEquals(tree.getHeat(), null);
82 public void testResourceGroupShowsAsNestedFileInTree() throws IOException {
83 INPUT_DIR = "./tree/nested_resource_group";
84 HeatTreeManager heatTreeManager = initHeatTreeManager();
85 heatTreeManager.createTree();
86 HeatStructureTree tree = heatTreeManager.getTree();
88 Set<HeatStructureTree> heat = tree.getHeat();
89 Assert.assertNotNull(heat);
91 HeatStructureTree addOnHeatSubTree =
92 HeatStructureTree.getHeatStructureTreeByName(heat, "addOn.yml");
93 Assert.assertNotNull(addOnHeatSubTree);
95 Set<HeatStructureTree> addOnNestedFiles = addOnHeatSubTree.getNested();
96 Assert.assertNotNull(addOnNestedFiles);
98 HeatStructureTree nestedFile =
99 HeatStructureTree.getHeatStructureTreeByName(addOnNestedFiles, "nested.yml");
100 Assert.assertNotNull(nestedFile);
105 public void testVolumeNestedFileIsNotUnderVolumeSubTree() {
106 INPUT_DIR = "./tree/nested_volume";
107 HeatTreeManager heatTreeManager = initHeatTreeManager();
108 heatTreeManager.createTree();
109 HeatStructureTree tree = heatTreeManager.getTree();
111 Set<HeatStructureTree> heat = tree.getHeat();
112 Set<HeatStructureTree> volume = tree.getVolume();
113 Assert.assertNotNull(heat);
114 Assert.assertNull(volume);
116 HeatStructureTree baseMobtSubTree =
117 HeatStructureTree.getHeatStructureTreeByName(heat, "base_mobt.yaml");
118 Assert.assertNotNull(baseMobtSubTree);
120 Set<HeatStructureTree> baseMobtNestedFiles = baseMobtSubTree.getNested();
121 Assert.assertNotNull(baseMobtNestedFiles);
123 HeatStructureTree nestedVolumeFile = HeatStructureTree
124 .getHeatStructureTreeByName(baseMobtNestedFiles, "hot_mobt_volume_attach_nested.yaml");
125 Assert.assertNotNull(nestedVolumeFile);