ed761c7f4d77bec7a0bb1c80a8b98c9fc30174f5
[so.git] / asdc-controller / src / test / java / org / onap / so / asdc / client / YamlTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2018 Huawei 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.onap.so.asdc.client;
22
23
24 import static org.junit.Assert.*;
25
26 import java.io.File;
27 import java.io.FileInputStream;
28 import java.io.InputStream;
29 import java.util.HashSet;
30 import java.util.List;
31 import java.util.Set;
32 import org.apache.commons.io.IOUtils;
33 import org.junit.Test;
34 import org.onap.so.asdc.util.YamlEditor;
35 import org.onap.so.db.catalog.beans.HeatTemplateParam;
36
37
38 public class YamlTest {
39         @Test
40         public void getYamlResourceTypeTestList() throws Exception {
41   
42                         InputStream input = new FileInputStream(new File("src/test/resources/resource-examples/simpleTest.yaml"));
43                         YamlEditor decoder = new YamlEditor (IOUtils.toByteArray(input));
44                         List<String> typeList = decoder.getYamlNestedFileResourceTypeList();
45                             
46                         assertTrue(typeList.size() == 1 && typeList.get(0).equals("file:///my_test.yaml"));
47         }
48
49         @Test
50         public void getParameterListTest() throws Exception {
51   
52                         InputStream input = new FileInputStream(new File("src/test/resources/resource-examples/simpleTest.yaml"));
53                         YamlEditor decoder = new YamlEditor (IOUtils.toByteArray(input));
54                         Set <HeatTemplateParam> paramSet = decoder.getParameterList("123456");
55                             
56                         assertTrue(paramSet.size() == 5);
57
58                         for (HeatTemplateParam param : paramSet) {
59                                 if ("ip_port_snmp_manager".equals(param.getParamName()) || "cor_direct_net_name".equals(param.getParamName()) || "cor_direct_net_RT".equals(param.getParamName())) {
60                                         
61                                         assertTrue(param.isRequired()==false);
62                                 } else {
63                                         
64                                         assertTrue(param.isRequired()==true);
65                                 }
66                                 
67                                 assertTrue("string".equals(param.getParamType()));
68                         }
69         }
70         
71         @Test
72         public void addParameterListWhenEmptyTest() throws Exception {
73   
74                         InputStream input = new FileInputStream(new File("src/test/resources/resource-examples/simpleTestWithoutParam.yaml"));
75                         YamlEditor decoder = new YamlEditor (IOUtils.toByteArray(input));
76                         
77                         Set <HeatTemplateParam> newParamSet = new HashSet<>();
78                         
79                         HeatTemplateParam heatParam1 = new HeatTemplateParam();
80                         heatParam1.setHeatTemplateArtifactUuid("1");
81                         heatParam1.setParamName("testos1");
82                         heatParam1.setParamType("string");
83                         
84                         HeatTemplateParam heatParam2 = new HeatTemplateParam();
85                         heatParam2.setHeatTemplateArtifactUuid("2");
86                         heatParam2.setParamName("testos2");
87                         heatParam2.setParamType("number");
88                         
89                         newParamSet.add(heatParam1);
90                         newParamSet.add(heatParam2);
91                         
92                         decoder.addParameterList(newParamSet);
93                             
94                         Set <HeatTemplateParam> paramSet = decoder.getParameterList("123456");
95                         assertTrue(paramSet.size() == 2);
96                         
97                         assertTrue(decoder.encode().contains("testos1"));
98                         assertTrue(decoder.encode().contains("string"));
99                         assertTrue(decoder.encode().contains("testos2"));
100                         assertTrue(decoder.encode().contains("number"));
101         }
102         
103         @Test
104         public void addParameterListTest() throws Exception {
105   
106                         InputStream input = new FileInputStream(new File("src/test/resources/resource-examples/simpleTest.yaml"));
107                         YamlEditor decoder = new YamlEditor (IOUtils.toByteArray(input));
108                         
109                         Set <HeatTemplateParam> newParamSet = new HashSet<>();
110                         
111                         HeatTemplateParam heatParam1 = new HeatTemplateParam();
112                         heatParam1.setHeatTemplateArtifactUuid("1");
113                         heatParam1.setParamName("testos1");
114                         heatParam1.setParamType("string");
115                         
116                         HeatTemplateParam heatParam2 = new HeatTemplateParam();
117                         heatParam2.setHeatTemplateArtifactUuid("2");
118                         heatParam2.setParamName("testos2");
119                         heatParam2.setParamType("number");
120                         
121                         newParamSet.add(heatParam1);
122                         newParamSet.add(heatParam2);
123                         
124                         decoder.addParameterList(newParamSet);
125                             
126                         Set <HeatTemplateParam> paramSet = decoder.getParameterList("123456");
127                         
128                         assertTrue(paramSet.size() == 7);
129                         
130                         Boolean check1 = Boolean.FALSE;
131                         Boolean check2 = Boolean.FALSE;
132                         
133                         for (HeatTemplateParam param : paramSet) {
134                                 if ("ip_port_snmp_manager".equals(param.getParamName()) || "cor_direct_net_name".equals(param.getParamName()) || "cor_direct_net_RT".equals(param.getParamName())) {
135                                         assertFalse(param.isRequired());
136                                 } else {
137                                         assertTrue(param.isRequired());
138                                 }
139                                 
140                                 if ("testos1".equals(param.getParamName()) && "string".equals(param.getParamType())) {
141                                         check1=Boolean.TRUE;
142                                 }
143
144                                 if ("testos2".equals(param.getParamName()) && "number".equals(param.getParamType())) {
145                                         check2=Boolean.TRUE;
146                                 }
147
148                         }
149                         
150                         assertTrue(check1);
151                         assertTrue(check2);
152         }
153 }