2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2020 AT&T Intellectual Property. All rights
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END============================================
20 * ===================================================================
24 package org.onap.clamp.clds.tosca.update;
26 import java.io.IOException;
27 import java.util.ArrayList;
28 import java.util.Arrays;
29 import junit.framework.TestCase;
30 import org.onap.clamp.clds.util.ResourceFileUtil;
32 public class TemplateManagementTest extends TestCase {
35 * Test the launch translation wit operational policies.
37 * @throws IOException In case of failure
38 * @throws UnknownComponentException In case of failure
40 public void testLaunchTranslationTca() throws IOException, UnknownComponentException {
41 TemplateManagement templateManagement =
42 new TemplateManagement(
43 ResourceFileUtil.getResourceAsString("http-cache/example/policy/api/v1/policytypes/onap"
44 + ".policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0?"
45 + "connectionTimeToLive=5000/.file"), ResourceFileUtil.getResourceAsString(
46 "clds/tosca_update/defaultToscaTypes.yaml"),
47 ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.properties"));
48 assertNull(templateManagement.getParseToJson());
49 String componentName = "onap.policies.monitoring.cdap.tca.hi.lo.app";
50 templateManagement.launchTranslation(componentName);
51 assertNotNull(templateManagement.getParseToJson());
55 * Test the launch translation wit operational policies.
57 * @throws IOException In case of failure
58 * @throws UnknownComponentException In case of failure
60 public void testLaunchTranslationFrequencyLimiter() throws IOException, UnknownComponentException {
61 TemplateManagement templateManagement =
62 new TemplateManagement(
63 ResourceFileUtil.getResourceAsString("http-cache/example/policy/api/v1/policytypes/onap"
64 + ".policies.controlloop.guard.common.FrequencyLimiter/versions/1.0.0?"
65 + "connectionTimeToLive=5000/.file"), ResourceFileUtil.getResourceAsString(
66 "clds/tosca_update/defaultToscaTypes.yaml"),
67 ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.properties"));
68 assertNull(templateManagement.getParseToJson());
69 String componentName = "onap.policies.controlloop.guard.common.FrequencyLimiter";
70 templateManagement.launchTranslation(componentName);
71 assertNotNull(templateManagement.getParseToJson());
75 * Test the launch translation wit operational policies.
77 * @throws IOException In case of failure
78 * @throws UnknownComponentException In case of failure
80 public void testLaunchTranslationApex() throws IOException, UnknownComponentException {
81 TemplateManagement templateManagement =
82 new TemplateManagement(
83 ResourceFileUtil.getResourceAsString("http-cache/example/policy/api/v1/policytypes/onap"
84 + ".policies.controlloop.operational.common.Apex/versions/1.0.0?"
85 + "connectionTimeToLive=5000/.file"), ResourceFileUtil.getResourceAsString(
86 "clds/tosca_update/defaultToscaTypes.yaml"),
87 ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.properties"));
88 assertNull(templateManagement.getParseToJson());
89 String componentName = "onap.policies.controlloop.operational.common.Apex";
90 templateManagement.launchTranslation(componentName);
91 assertNotNull(templateManagement.getParseToJson());
95 * Test the launch translation wit operational policies.
97 * @throws IOException In case of failure
98 * @throws UnknownComponentException In case of failure
100 public void testLaunchTranslationDrools() throws IOException, UnknownComponentException {
101 TemplateManagement templateManagement =
102 new TemplateManagement(
103 ResourceFileUtil.getResourceAsString("http-cache/example/policy/api/v1/policytypes/onap"
104 + ".policies.controlloop.operational.common.Drools/versions/1.0.0?"
105 + "connectionTimeToLive=5000/.file"), ResourceFileUtil.getResourceAsString(
106 "clds/tosca_update/defaultToscaTypes.yaml"),
107 ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.properties"));
108 assertNull(templateManagement.getParseToJson());
109 String componentName = "onap.policies.controlloop.operational.common.Drools";
110 templateManagement.launchTranslation(componentName);
111 assertNotNull(templateManagement.getParseToJson());
115 * Test the launch translation.
117 * @throws IOException In case of failure
118 * @throws UnknownComponentException In case of failure
120 public void testLaunchTranslation() throws IOException, UnknownComponentException {
121 TemplateManagement templateManagement =
122 new TemplateManagement(
123 ResourceFileUtil.getResourceAsString("tosca/new-converter/sampleOperationalPolicies.yaml"),
124 ResourceFileUtil.getResourceAsString("clds/tosca_update/defaultToscaTypes.yaml"),
125 ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.properties"));
126 assertNull(templateManagement.getParseToJson());
127 String componentName = "onap.policies.controlloop.operational.common.Drools";
128 templateManagement.launchTranslation(componentName);
129 assertNotNull(templateManagement.getParseToJson());
135 * @throws IOException In case of failure
137 public void testAddTemplate() throws IOException {
138 TemplateManagement templateManagement =
139 new TemplateManagement(
140 ResourceFileUtil.getResourceAsString("tosca/new-converter/sampleOperationalPolicies.yaml"),
141 ResourceFileUtil.getResourceAsString("clds/tosca_update/defaultToscaTypes.yaml"),
142 ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.properties"));
143 int count = templateManagement.getTemplates().size();
144 ArrayList<String> templateFields =
145 new ArrayList<>(Arrays.asList("type", "description", "required", "metadata", "constraints"));
146 templateManagement.addTemplate("test", templateFields);
147 assertNotSame(count, templateManagement.getTemplates().size());
151 * test Remove template.
153 * @throws IOException In case of failure
155 public void testRemoveTemplate() throws IOException {
156 TemplateManagement templateManagement =
157 new TemplateManagement(
158 ResourceFileUtil.getResourceAsString("tosca/new-converter/sampleOperationalPolicies.yaml"),
159 ResourceFileUtil.getResourceAsString("clds/tosca_update/defaultToscaTypes.yaml"),
160 ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.properties"));
161 int count = templateManagement.getTemplates().size();
162 templateManagement.removeTemplate("string");
163 assertNotSame(count, templateManagement.getTemplates().size());
167 * Test update template.
169 * @throws IOException In case of failure
171 public void testUpdateTemplate() throws IOException {
172 TemplateManagement templateManagement =
173 new TemplateManagement(
174 ResourceFileUtil.getResourceAsString("tosca/new-converter/sampleOperationalPolicies.yaml"),
175 ResourceFileUtil.getResourceAsString("clds/tosca_update/defaultToscaTypes.yaml"),
176 ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.properties"));
177 int count = templateManagement.getTemplates().get("integer").getFields().size();
178 templateManagement.updateTemplate("integer", "type", false);
179 assertNotSame(count, templateManagement.getTemplates().get("integer").getFields().size());
185 * @throws IOException In case of failure
187 public void testHasTemplate() throws IOException {
188 TemplateManagement templateManagement =
189 new TemplateManagement(
190 ResourceFileUtil.getResourceAsString("tosca/new-converter/sampleOperationalPolicies.yaml"),
191 ResourceFileUtil.getResourceAsString("clds/tosca_update/defaultToscaTypes.yaml"),
192 ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.properties"));
194 ArrayList<String> templateFieldsString =
195 new ArrayList<>(Arrays.asList("type", "description", "required", "metadata", "constraints"));
196 Template templateTest = new Template("String", templateFieldsString);
197 has = templateManagement.hasTemplate(templateTest);
198 assertEquals(false, has);