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