2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Copyright (C) 2017 Amdocs
8 * ================================================================================
9 * Modifications Copyright (C) 2018-2019 IBM
10 * =============================================================================
11 * Licensed under the Apache License, Version 2.0 (the "License");
12 * you may not use this file except in compliance with the License.
13 * You may obtain a copy of the License at
15 * http://www.apache.org/licenses/LICENSE-2.0
17 * Unless required by applicable law or agreed to in writing, software
18 * distributed under the License is distributed on an "AS IS" BASIS,
19 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20 * See the License for the specific language governing permissions and
21 * limitations under the License.
23 * ============LICENSE_END=========================================================
25 package org.onap.appc.data.services.db;
27 import static org.junit.Assert.assertEquals;
29 import java.io.IOException;
30 import org.apache.commons.io.IOUtils;
31 import org.apache.commons.lang.StringEscapeUtils;
32 import org.junit.Test;
33 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
34 import org.onap.ccsdk.sli.core.sli.SvcLogicException;
35 import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
36 import org.onap.appc.data.services.db.DGGeneralDBService;
38 public class TestDGGeneralDBService {
39 DGGeneralDBService dbService;
40 private static String STRING_ENCODING = "utf-8";
43 public void testGetUploadConfig() throws SvcLogicException {
45 SvcLogicContext ctx = new SvcLogicContext();
46 ctx.setAttribute("vnf-name", "test");
47 ctx.setAttribute("vnf-id", "test");
48 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
49 QueryStatus status = dbService.getUploadConfigInfo(ctx, "test");
50 assertEquals(status, QueryStatus.SUCCESS);
55 public void testGetDeviceProtocolByVnfType() throws SvcLogicException {
56 SvcLogicContext ctx = new SvcLogicContext();
57 ctx.setAttribute("vnf-type", "test");
58 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
59 QueryStatus status = dbService.getDeviceProtocolByVnfType(ctx, "test");
60 assertEquals(status, QueryStatus.SUCCESS);
64 public void testGettConfigFileReferenceByFileTypeNVnfType() throws SvcLogicException {
65 SvcLogicContext ctx = new SvcLogicContext();
66 ctx.setAttribute("vnf-type", "test");
67 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
68 QueryStatus status = dbService.getConfigFileReferenceByFileTypeNVnfType(ctx, "test", "device_configuration");
69 assertEquals(status, QueryStatus.SUCCESS);
74 public void testGetDeviceAuthenticationByVnfType() throws Exception {
75 SvcLogicContext ctx = new SvcLogicContext();
76 ctx.setAttribute("vnf-type", "test");
77 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
78 QueryStatus status = dbService.getDeviceAuthenticationByVnfType(ctx, "test");
79 assertEquals(status, QueryStatus.SUCCESS);
84 public void testGetTemplate() throws Exception {
85 SvcLogicContext ctx = new SvcLogicContext();
86 ctx.setAttribute("vnfc-type", "test");
87 ctx.setAttribute("request-action", "Configure");
88 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
89 QueryStatus status = dbService.getTemplate(ctx, "test", "config_template");
90 assertEquals(status, QueryStatus.SUCCESS);
95 public void testGetTemplateByVnfTypeNAction() throws Exception {
96 SvcLogicContext ctx = new SvcLogicContext();
97 ctx.setAttribute("vnf-type", "test");
98 ctx.setAttribute("request-action", "ConfigScaleOut");
99 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
100 QueryStatus status = dbService.getTemplateByVnfTypeNAction(ctx, "test", "config_template");
101 assertEquals(status, QueryStatus.SUCCESS);
106 public void testGetTemplateByTemplateName() throws Exception {
107 SvcLogicContext ctx = new SvcLogicContext();
108 ctx.setAttribute("request-action", "Configure");
109 ctx.setAttribute("vnf-type", "test");
110 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
111 QueryStatus status = dbService.getTemplateByTemplateName(ctx, "test", "template.json");
112 assertEquals(status, QueryStatus.SUCCESS);
117 public void testGetTemplateByVnfType() throws SvcLogicException {
119 SvcLogicContext ctx = new SvcLogicContext();
120 ctx.setAttribute("vnf-type", "test");
121 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
122 QueryStatus status = dbService.getTemplateByVnfType(ctx, "test", "config_template");
123 assertEquals(status, QueryStatus.SUCCESS);
128 public void testGetConfigureActionDGByVnfTypeNAction() throws SvcLogicException {
130 SvcLogicContext ctx = new SvcLogicContext();
131 ctx.setAttribute("vnf-type", "test");
132 ctx.setAttribute("request-action", "ConfigModify");
133 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
134 QueryStatus status = dbService.getConfigureActionDGByVnfTypeNAction(ctx, "test");
135 assertEquals(status, QueryStatus.SUCCESS);
140 public void testGetConfigureActionDGByVnfType() throws SvcLogicException {
141 SvcLogicContext ctx = new SvcLogicContext();
142 ctx.setAttribute("vnf-type", "test");
143 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
144 QueryStatus status = dbService.getConfigureActionDGByVnfType(ctx, "test");
145 assertEquals(status, QueryStatus.SUCCESS);
150 public void testGetMaxConfigFileId() throws SvcLogicException {
152 SvcLogicContext ctx = new SvcLogicContext();
153 ctx.setAttribute("vnf-id", "test");
154 ctx.setAttribute("vm-name", "test");
155 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
156 QueryStatus status = dbService.getMaxConfigFileId(ctx, "test", "device_configuration");
157 assertEquals(status, QueryStatus.SUCCESS);
162 public void testGetConfigFilesByVnfVmNCategory() throws SvcLogicException {
164 SvcLogicContext ctx = new SvcLogicContext();
165 ctx.setAttribute("vnf-id", "test");
166 ctx.setAttribute("vm-name", "test");
167 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
168 QueryStatus status = dbService.getConfigFilesByVnfVmNCategory(ctx, "test", "device_configuration", "test",
170 assertEquals(status, QueryStatus.SUCCESS);
175 public void getVnfcReferenceByVnfcTypeNAction() throws SvcLogicException {
177 SvcLogicContext ctx = new SvcLogicContext();
178 ctx.setAttribute("vnf-type", "testVnf");
179 ctx.setAttribute("vnfc-type", "testVnfc");
180 ctx.setAttribute("request-action", "Configure");
181 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
182 QueryStatus status = dbService.getVnfcReferenceByVnfcTypeNAction(ctx, "test");
183 assertEquals(QueryStatus.SUCCESS, status);
187 public void testSaveConfigFiles() throws SvcLogicException {
189 SvcLogicContext ctx = new SvcLogicContext();
190 ctx.setAttribute("data-source", "test");
191 ctx.setAttribute("service-instance-id", "test");
192 ctx.setAttribute("request-action", "test");
193 ctx.setAttribute("vnf-type", "test");
194 ctx.setAttribute("vnfc-type", "test");
195 ctx.setAttribute("vnf-id", "test");
196 ctx.setAttribute("vnf-name", "test");
197 ctx.setAttribute("vm-name", "test");
198 ctx.setAttribute("file-category", "test");
199 ctx.setAttribute("file-content", "test");
201 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
202 QueryStatus status = dbService.saveConfigFiles(ctx, "test");
203 assertEquals(QueryStatus.SUCCESS, status);
208 public void testSavePrepareRelationship() throws SvcLogicException {
210 SvcLogicContext ctx = new SvcLogicContext();
211 ctx.setAttribute("service-instance-id", "test");
212 ctx.setAttribute("request-id", "test");
215 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
216 QueryStatus status = dbService.savePrepareRelationship(ctx, "test","test", "test");
217 assertEquals(QueryStatus.SUCCESS,status);
222 public void testGetDownloadConfigTemplateByVnf() throws SvcLogicException {
224 SvcLogicContext ctx = new SvcLogicContext();
225 ctx.setAttribute("vnf-type", "test");
226 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
227 QueryStatus status = dbService.getDownloadConfigTemplateByVnf(ctx, "test");
228 assertEquals(QueryStatus.SUCCESS,status);
232 public void testSaveConfigTxLog() throws SvcLogicException, IOException {
234 SvcLogicContext ctx = new SvcLogicContext();
235 String message = IOUtils.toString(
236 TestDGGeneralDBService.class.getClassLoader().getResourceAsStream("query/message3.txt"),
238 ctx.setAttribute("request-id", "1234");
239 String escapedMessage = StringEscapeUtils.escapeSql(message);
240 ctx.setAttribute("log-message", escapedMessage);
241 ctx.setAttribute("log-message-type", "request");
242 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
243 QueryStatus status = dbService.saveConfigTransactionLog(ctx, "test");
244 assertEquals(status, QueryStatus.SUCCESS);
248 public void testGetVnfcReferenceByVnfTypeNActionWithTemplateModelId() throws Exception {
249 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
250 SvcLogicContext ctx = new SvcLogicContext();
251 String prefix="test";
252 String templateModelId = "template001";
253 dbService.getVnfcReferenceByVnfTypeNActionWithTemplateModelId(ctx, prefix, templateModelId);
257 public void testGetTemplateWithTemplateModelId() throws Exception {
258 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
259 SvcLogicContext ctx = new SvcLogicContext();
260 String prefix="test";
261 String templateModelId = "template001";
262 String fileCategory="testCategory";
263 dbService.getTemplateWithTemplateModelId(ctx, prefix, fileCategory, templateModelId);
267 public void testgetTemplateByVnfTypeNActionWithTemplateModelId() throws Exception {
268 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
269 SvcLogicContext ctx = new SvcLogicContext();
270 String prefix="test";
271 String templateModelId = "template001";
272 String fileCategory="testCategory";
273 dbService.getTemplateByVnfTypeNActionWithTemplateModelId(ctx, prefix, fileCategory, templateModelId);
277 public void testGetConfigFileReferenceByVnfType() throws Exception {
278 SvcLogicContext ctx = new SvcLogicContext();
279 ctx.setAttribute("vnf-type", "test");
280 ctx.setAttribute("request-action", "Configure");
281 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
282 QueryStatus status = dbService.getConfigFileReferenceByVnfType(ctx, "test");
283 assertEquals(status, QueryStatus.SUCCESS);
288 public void testGetTemplateByArtifactType() throws Exception {
289 SvcLogicContext ctx = new SvcLogicContext();
290 ctx.setAttribute("vnf-type", "test");
291 ctx.setAttribute("request-action", "Configure");
292 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
293 QueryStatus status = dbService.getTemplateByArtifactType(ctx, "test","XML","APPC-CONFIG");
294 assertEquals(QueryStatus.SUCCESS, status);
299 public void testCleanContextPropertyByPrefix()
301 SvcLogicContext ctx = new SvcLogicContext();
302 ctx.setAttribute("vnf-type", "test");
303 ctx.setAttribute("request-action", "Configure");
304 ctx.setAttribute(".vnfc-type", "Configure");
305 MockDGGeneralDBService dbService = MockDGGeneralDBService.initialise();
306 dbService.cleanContextPropertyByPrefix(ctx, "test");
307 assertEquals(2,ctx.getAttributeKeySet().size());