2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.onap.so.asdc.client;
24 import static org.junit.Assert.*;
27 import java.io.FileInputStream;
28 import java.io.InputStream;
29 import java.util.HashSet;
30 import java.util.List;
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;
38 public class YamlTest {
40 public void getYamlResourceTypeTestList() throws Exception {
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();
46 assertTrue(typeList.size() == 1 && typeList.get(0).equals("file:///my_test.yaml"));
50 public void getParameterListTest() throws Exception {
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");
56 assertTrue(paramSet.size() == 5);
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())) {
61 assertTrue(param.isRequired()==false);
64 assertTrue(param.isRequired()==true);
67 assertTrue("string".equals(param.getParamType()));
72 public void addParameterListWhenEmptyTest() throws Exception {
74 InputStream input = new FileInputStream(new File("src/test/resources/resource-examples/simpleTestWithoutParam.yaml"));
75 YamlEditor decoder = new YamlEditor (IOUtils.toByteArray(input));
77 Set <HeatTemplateParam> newParamSet = new HashSet<>();
79 HeatTemplateParam heatParam1 = new HeatTemplateParam();
80 heatParam1.setHeatTemplateArtifactUuid("1");
81 heatParam1.setParamName("testos1");
82 heatParam1.setParamType("string");
84 HeatTemplateParam heatParam2 = new HeatTemplateParam();
85 heatParam2.setHeatTemplateArtifactUuid("2");
86 heatParam2.setParamName("testos2");
87 heatParam2.setParamType("number");
89 newParamSet.add(heatParam1);
90 newParamSet.add(heatParam2);
92 decoder.addParameterList(newParamSet);
94 Set <HeatTemplateParam> paramSet = decoder.getParameterList("123456");
95 assertTrue(paramSet.size() == 2);
97 assertTrue(decoder.encode().contains("testos1"));
98 assertTrue(decoder.encode().contains("string"));
99 assertTrue(decoder.encode().contains("testos2"));
100 assertTrue(decoder.encode().contains("number"));
104 public void addParameterListTest() throws Exception {
106 InputStream input = new FileInputStream(new File("src/test/resources/resource-examples/simpleTest.yaml"));
107 YamlEditor decoder = new YamlEditor (IOUtils.toByteArray(input));
109 Set <HeatTemplateParam> newParamSet = new HashSet<>();
111 HeatTemplateParam heatParam1 = new HeatTemplateParam();
112 heatParam1.setHeatTemplateArtifactUuid("1");
113 heatParam1.setParamName("testos1");
114 heatParam1.setParamType("string");
116 HeatTemplateParam heatParam2 = new HeatTemplateParam();
117 heatParam2.setHeatTemplateArtifactUuid("2");
118 heatParam2.setParamName("testos2");
119 heatParam2.setParamType("number");
121 newParamSet.add(heatParam1);
122 newParamSet.add(heatParam2);
124 decoder.addParameterList(newParamSet);
126 Set <HeatTemplateParam> paramSet = decoder.getParameterList("123456");
128 assertTrue(paramSet.size() == 7);
130 Boolean check1 = Boolean.FALSE;
131 Boolean check2 = Boolean.FALSE;
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());
137 assertTrue(param.isRequired());
140 if ("testos1".equals(param.getParamName()) && "string".equals(param.getParamType())) {
144 if ("testos2".equals(param.getParamName()) && "number".equals(param.getParamType())) {