Sorted out unit-test libraries in onboarding
[sdc.git] / openecomp-be / backend / openecomp-sdc-vendor-software-product-manager / src / test / java / org / openecomp / sdc / vendorsoftwareproduct / tree / HeatTreeManagerTest.java
1 /*
2  * Copyright © 2016-2018 European Support Limited
3  *
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
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17 package org.openecomp.sdc.vendorsoftwareproduct.tree;
18
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;
23
24 import java.io.IOException;
25 import java.net.URISyntaxException;
26 import java.util.*;
27 import org.testng.Assert;
28 import org.testng.annotations.Test;
29
30
31 public class HeatTreeManagerTest extends TreeBaseTest {
32
33   @Test
34   public void testHeatTreeManager() throws IOException, URISyntaxException {
35
36     HeatTreeManager heatTreeManager = initHeatTreeManager("./tree/valid_tree/input/");
37     heatTreeManager.createTree();
38     Map<String, List<ErrorMessage>> errorMap = new HashMap<>();
39
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);
49   }
50
51   @Test
52   public void testHeatTreeManagerMissingManifest() throws IOException, URISyntaxException {
53
54     HeatTreeManager heatTreeManager = initHeatTreeManager("./tree/missing_manifest/input/");
55     heatTreeManager.createTree();
56     Map<String, List<ErrorMessage>> errorMap = new HashMap<>();
57
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());
68
69   }
70
71
72   @Test
73   public void testResourceGroupShowsAsNestedFileInTree() throws IOException, URISyntaxException {
74
75     HeatTreeManager heatTreeManager = initHeatTreeManager("./tree/nested_resource_group");
76     heatTreeManager.createTree();
77     HeatStructureTree tree = heatTreeManager.getTree();
78
79     Set<HeatStructureTree> heat = tree.getHeat();
80     Assert.assertNotNull(heat);
81
82     HeatStructureTree addOnHeatSubTree =
83         HeatStructureTree.getHeatStructureTreeByName(heat, "addOn.yml");
84     Assert.assertNotNull(addOnHeatSubTree);
85
86     Set<HeatStructureTree> addOnNestedFiles = addOnHeatSubTree.getNested();
87     Assert.assertNotNull(addOnNestedFiles);
88
89     HeatStructureTree nestedFile =
90         HeatStructureTree.getHeatStructureTreeByName(addOnNestedFiles, "nested.yml");
91     Assert.assertNotNull(nestedFile);
92   }
93
94
95   @Test
96   public void testVolumeNestedFileIsNotUnderVolumeSubTree() throws IOException, URISyntaxException {
97
98     HeatTreeManager heatTreeManager = initHeatTreeManager("./tree/nested_volume");
99     heatTreeManager.createTree();
100     HeatStructureTree tree = heatTreeManager.getTree();
101
102     Set<HeatStructureTree> heat = tree.getHeat();
103     Set<HeatStructureTree> volume = tree.getVolume();
104     Assert.assertNotNull(heat);
105     Assert.assertNull(volume);
106
107     HeatStructureTree baseMobtSubTree =
108         HeatStructureTree.getHeatStructureTreeByName(heat, "base_mobt.yaml");
109     Assert.assertNotNull(baseMobtSubTree);
110
111     Set<HeatStructureTree> baseMobtNestedFiles = baseMobtSubTree.getNested();
112     Assert.assertNotNull(baseMobtNestedFiles);
113
114     HeatStructureTree nestedVolumeFile = HeatStructureTree
115         .getHeatStructureTreeByName(baseMobtNestedFiles, "hot_mobt_volume_attach_nested.yaml");
116     Assert.assertNotNull(nestedVolumeFile);
117   }
118 }