aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/tree/HeatTreeManagerTest.java
blob: c926977c7b0f3b72473eda59156bbd4c1c94bd7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
package org.openecomp.sdc.vendorsoftwareproduct.tree;

import org.openecomp.sdc.datatypes.error.ErrorMessage;
import org.openecomp.sdc.heat.datatypes.structure.HeatStructureTree;
import org.openecomp.sdc.heat.services.tree.HeatTreeManager;
import org.junit.Assert;
import org.junit.Test;

import java.io.IOException;
import java.util.*;


public class HeatTreeManagerTest extends TreeBaseTest {

  @Test
  public void testHeatTreeManager() {

    INPUT_DIR = "/tree/valid_tree/input/";
    HeatTreeManager heatTreeManager = initHeatTreeManager();
    heatTreeManager.createTree();
    Map<String, List<ErrorMessage>> errorMap = new HashMap<>();

    List<ErrorMessage> errorList = new ArrayList<>();
    errorList.add(new ErrorMessage(org.openecomp.sdc.datatypes.error.ErrorLevel.ERROR, "Missing Artifact"));
    errorMap.put("missing-artifact", errorList);
    errorList = new ArrayList<>();
    errorList.add(new ErrorMessage(org.openecomp.sdc.datatypes.error.ErrorLevel.WARNING, "Missing Nested File"));
    errorMap.put("missingNested.yaml", errorList);
    heatTreeManager.addErrors(errorMap);
    HeatStructureTree tree = heatTreeManager.getTree();
    Assert.assertNotNull(tree);
  }

  @Test
  public void testHeatTreeManagerMissingManifest() {

    INPUT_DIR = "/tree/missing_manifest/input/";
    HeatTreeManager heatTreeManager = initHeatTreeManager();
    heatTreeManager.createTree();
    Map<String, List<ErrorMessage>> errorMap = new HashMap<>();

    List<ErrorMessage> errorList = new ArrayList<>();
    errorList.add(new ErrorMessage(org.openecomp.sdc.datatypes.error.ErrorLevel.ERROR, "Missing Artifact"));
    errorMap.put("missing-artifact", errorList);
    errorList = new ArrayList<>();
    errorList.add(new ErrorMessage(org.openecomp.sdc.datatypes.error.ErrorLevel.WARNING, "Missing Nested File"));
    errorMap.put("missingNested.yaml", errorList);
    heatTreeManager.addErrors(errorMap);
    HeatStructureTree tree = heatTreeManager.getTree();
    Assert.assertNotNull(tree);
    Assert.assertEquals(tree.getHEAT(), null);

  }


  @Test
  public void testResourceGroupShowsAsNestedFileInTree() throws IOException {
    INPUT_DIR = "/tree/nested_resource_group";
    HeatTreeManager heatTreeManager = initHeatTreeManager();
    heatTreeManager.createTree();
    HeatStructureTree tree = heatTreeManager.getTree();

    Set<HeatStructureTree> heat = tree.getHEAT();
    Assert.assertNotNull(heat);

    HeatStructureTree addOnHeatSubTree =
        HeatStructureTree.getHeatStructureTreeByName(heat, "addOn.yml");
    Assert.assertNotNull(addOnHeatSubTree);

    Set<HeatStructureTree> addOnNestedFiles = addOnHeatSubTree.getNested();
    Assert.assertNotNull(addOnNestedFiles);

    HeatStructureTree nestedFile =
        HeatStructureTree.getHeatStructureTreeByName(addOnNestedFiles, "nested.yml");
    Assert.assertNotNull(nestedFile);
  }


  @Test
  public void testVolumeNestedFileIsNotUnderVolumeSubTree() {
    INPUT_DIR = "/tree/nested_volume";
    HeatTreeManager heatTreeManager = initHeatTreeManager();
    heatTreeManager.createTree();
    HeatStructureTree tree = heatTreeManager.getTree();

    Set<HeatStructureTree> heat = tree.getHEAT();
    Set<HeatStructureTree> volume = tree.getVolume();
    Assert.assertNotNull(heat);
    Assert.assertNull(volume);

    HeatStructureTree baseMobtSubTree =
        HeatStructureTree.getHeatStructureTreeByName(heat, "base_mobt.yaml");
    Assert.assertNotNull(baseMobtSubTree);

    Set<HeatStructureTree> baseMobtNestedFiles = baseMobtSubTree.getNested();
    Assert.assertNotNull(baseMobtNestedFiles);

    HeatStructureTree nestedVolumeFile = HeatStructureTree
        .getHeatStructureTreeByName(baseMobtNestedFiles, "hot_mobt_volume_attach_nested.yaml");
    Assert.assertNotNull(nestedVolumeFile);
  }
}