[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-be / lib / openecomp-sdc-validation-lib / openecomp-sdc-validation-core / src / test / java / org / openecomp / sdc / heat / services / tree / HeatTreeManagerTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.openecomp.sdc.heat.services.tree;
22
23 import org.openecomp.config.ConfigurationUtils;
24 import org.openecomp.core.utilities.file.FileContentHandler;
25 import org.openecomp.core.utilities.file.FileUtils;
26 import org.openecomp.sdc.heat.datatypes.structure.HeatStructureTree;
27 import org.testng.Assert;
28 import org.testng.annotations.Test;
29
30 import java.io.File;
31 import java.io.FileInputStream;
32 import java.io.IOException;
33 import java.net.URL;
34 import java.util.ArrayList;
35 import java.util.List;
36 import java.util.stream.Collectors;
37
38
39 public class HeatTreeManagerTest {
40
41   @Test
42   public void testHeatTreeCreation() {
43
44     FileContentHandler fileContentMap = new FileContentHandler();
45     URL url = this.getClass().getResource("/heatTreeValidationOutput");
46
47     File templateDir = new File(url.getFile());
48     File[] files = templateDir.listFiles();
49
50     if (files == null || files.length == 0) {
51       return;
52     }
53
54     for (File file : files) {
55       fileContentMap.addFile(file.getName(), getFileContent(file));
56     }
57
58     HeatTreeManager heatTreeManager = HeatTreeManagerUtil.initHeatTreeManager(fileContentMap);
59     heatTreeManager.createTree();
60     HeatStructureTree tree = heatTreeManager.getTree();
61     Assert.assertNotNull(tree);
62     Assert.assertEquals(tree.getHeat().size(), 2);
63   }
64
65   private byte[] getFileContent(File file) {
66     try {
67       return FileUtils.toByteArray(new FileInputStream(file));
68     } catch (IOException e) {
69       e.printStackTrace();
70     }
71
72     return new byte[0];
73   }
74 }