2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2019 Nokia 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=========================================================
19 * Modifications copyright (c) 2019 Nokia
20 * ================================================================================
23 package org.openecomp.sdc.be.components.impl;
25 import com.google.common.collect.ImmutableSet;
26 import org.junit.Test;
27 import org.onap.sdc.gab.model.GABQuery;
28 import org.onap.sdc.gab.model.GABQuery.GABQueryType;
30 import java.io.IOException;
32 import static org.junit.Assert.assertEquals;
34 public class GenericArtifactBrowserBusinessLogicTest extends BaseBusinessLogicMock {
36 private static String content = "event: {presence: required, action: [ any, any, alarm003,RECO-rebuildVnf ],\n"
38 + " commonEventHeader: {presence: required, structure: {\n"
39 + " domain: {presence: required, value: fault},\n"
40 + " eventName: {presence: required, value: Fault\\_vMrf\\_alarm003},\n"
41 + " eventId: {presence: required},\n"
42 + " nfNamingCode: {value: mrfx},\n"
43 + " priority: {presence: required, value: Medium},\n"
44 + " reportingEntityId: {presence: required},\n"
45 + " reportingEntityName: {presence: required},\n"
46 + " sequence: {presence: required},\n"
47 + " sourceId: {presence: required},\n"
48 + " sourceName: {presence: required},\n"
49 + " startEpochMicrosec: {presence: required},\n"
50 + " lastEpochMicrosec: {presence: required},\n"
51 + " version: {presence: required, value: 3.0}\n"
53 + " faultFields: {presence: required, structure: {\n"
54 + " alarmCondition: {presence: required, value: alarm003},\n"
55 + " eventSeverity: {presence: required, value: MAJOR},\n"
56 + " eventSourceType: {presence: required, value: virtualNetworkFunction},\n"
57 + " faultFieldsVersion: {presence: required, value: 2.0},\n"
58 + " specificProblem: {presence: required, value: \"Configuration file was\n"
59 + " corrupt or not present\"},\n"
60 + " vfStatus: {presence: required, value: \"Requesting Termination\"}\n"
64 + "# registration for clearing Fault\\_vMrf\\_alarm003Cleared\n"
65 + "# Constants: the values of domain, eventName, priority,\n"
66 + "# , version, alarmCondition, eventSeverity, eventSourceType,\n"
67 + "# faultFieldsVersion, specificProblem,\n"
68 + "# Variables (to be supplied at runtime) include: eventId,lastEpochMicrosec,\n"
69 + "# reportingEntityId, reportingEntityName, sequence, sourceId,\n"
70 + "# sourceName, startEpochMicrosec, vfStatus\n"
71 + "event: {presence: required, action: [ any, any, alarm003, Clear ], structure: {\n"
72 + " commonEventHeader: {presence: required, structure: {\n"
73 + " domain: {presence: required, value: fault},\n"
74 + " eventName: {presence: required, value: Fault\\_vMrf\\_alarm003Cleared},\n"
75 + " eventId: {presence: required},\n"
76 + " nfNamingCode: {value: mrfx},\n"
77 + " priority: {presence: required, value: Medium},\n"
78 + " reportingEntityId: {presence: required},\n"
79 + " reportingEntityName: {presence: required},\n"
80 + " sequence: {presence: required},\n"
81 + " sourceId: {presence: required},\n"
82 + " sourceName: {presence: required},\n"
83 + " startEpochMicrosec: {presence: required},\n"
84 + " lastEpochMicrosec: {presence: required},\n"
85 + " version: {presence: required, value: 3.0}\n"
87 + " faultFields: {presence: required, structure: {\n"
88 + " alarmCondition: {presence: required, value: alarm003},\n"
89 + " eventSeverity: {presence: required, value: NORMAL},\n"
90 + " eventSourceType: {presence: required, value: virtualNetworkFunction},\n"
91 + " faultFieldsVersion: {presence: required, value: 2.0},\n"
92 + " specificProblem: {presence: required, value: \"Valid configuration file found\"},\n"
93 + " vfStatus: {presence: required, value: \"Requesting Termination\"}\n"
97 private static String expectedResult = "{\n"
100 + " \"event.presence\": \"required\",\n"
101 + " \"event.action[0]\": \"any\"\n"
104 + " \"event.presence\": \"required\",\n"
105 + " \"event.action[0]\": \"any\"\n"
111 public void testShouldCorrectlyParseResponse() throws IOException {
112 GenericArtifactBrowserBusinessLogic genericArtifactBrowserBusinessLogic = new GenericArtifactBrowserBusinessLogic(
113 elementDao, groupOperation, groupInstanceOperation, groupTypeOperation,
114 interfaceOperation, interfaceLifecycleTypeOperation, artifactToscaOperation);
115 String result = genericArtifactBrowserBusinessLogic.searchFor(
116 new GABQuery(ImmutableSet.of("event.presence", "event.action[0]"),
117 content, GABQueryType.CONTENT));
118 assertEquals(result, expectedResult);