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=========================================================
21 package org.openecomp.sdc.be.components.impl;
23 import static org.junit.Assert.assertEquals;
25 import com.google.common.collect.ImmutableSet;
26 import java.io.IOException;
27 import org.junit.Test;
28 import org.onap.sdc.gab.model.GABQuery;
29 import org.onap.sdc.gab.model.GABQuery.GABQueryType;
31 public class GenericArtifactBrowserBusinessLogicTest {
33 private static String content = "event: {presence: required, action: [ any, any, alarm003,RECO-rebuildVnf ],\n"
35 + " commonEventHeader: {presence: required, structure: {\n"
36 + " domain: {presence: required, value: fault},\n"
37 + " eventName: {presence: required, value: Fault\\_vMrf\\_alarm003},\n"
38 + " eventId: {presence: required},\n"
39 + " nfNamingCode: {value: mrfx},\n"
40 + " priority: {presence: required, value: Medium},\n"
41 + " reportingEntityId: {presence: required},\n"
42 + " reportingEntityName: {presence: required},\n"
43 + " sequence: {presence: required},\n"
44 + " sourceId: {presence: required},\n"
45 + " sourceName: {presence: required},\n"
46 + " startEpochMicrosec: {presence: required},\n"
47 + " lastEpochMicrosec: {presence: required},\n"
48 + " version: {presence: required, value: 3.0}\n"
50 + " faultFields: {presence: required, structure: {\n"
51 + " alarmCondition: {presence: required, value: alarm003},\n"
52 + " eventSeverity: {presence: required, value: MAJOR},\n"
53 + " eventSourceType: {presence: required, value: virtualNetworkFunction},\n"
54 + " faultFieldsVersion: {presence: required, value: 2.0},\n"
55 + " specificProblem: {presence: required, value: \"Configuration file was\n"
56 + " corrupt or not present\"},\n"
57 + " vfStatus: {presence: required, value: \"Requesting Termination\"}\n"
61 + "# registration for clearing Fault\\_vMrf\\_alarm003Cleared\n"
62 + "# Constants: the values of domain, eventName, priority,\n"
63 + "# , version, alarmCondition, eventSeverity, eventSourceType,\n"
64 + "# faultFieldsVersion, specificProblem,\n"
65 + "# Variables (to be supplied at runtime) include: eventId,lastEpochMicrosec,\n"
66 + "# reportingEntityId, reportingEntityName, sequence, sourceId,\n"
67 + "# sourceName, startEpochMicrosec, vfStatus\n"
68 + "event: {presence: required, action: [ any, any, alarm003, Clear ], structure: {\n"
69 + " commonEventHeader: {presence: required, structure: {\n"
70 + " domain: {presence: required, value: fault},\n"
71 + " eventName: {presence: required, value: Fault\\_vMrf\\_alarm003Cleared},\n"
72 + " eventId: {presence: required},\n"
73 + " nfNamingCode: {value: mrfx},\n"
74 + " priority: {presence: required, value: Medium},\n"
75 + " reportingEntityId: {presence: required},\n"
76 + " reportingEntityName: {presence: required},\n"
77 + " sequence: {presence: required},\n"
78 + " sourceId: {presence: required},\n"
79 + " sourceName: {presence: required},\n"
80 + " startEpochMicrosec: {presence: required},\n"
81 + " lastEpochMicrosec: {presence: required},\n"
82 + " version: {presence: required, value: 3.0}\n"
84 + " faultFields: {presence: required, structure: {\n"
85 + " alarmCondition: {presence: required, value: alarm003},\n"
86 + " eventSeverity: {presence: required, value: NORMAL},\n"
87 + " eventSourceType: {presence: required, value: virtualNetworkFunction},\n"
88 + " faultFieldsVersion: {presence: required, value: 2.0},\n"
89 + " specificProblem: {presence: required, value: \"Valid configuration file found\"},\n"
90 + " vfStatus: {presence: required, value: \"Requesting Termination\"}\n"
94 private static String expectedResult = "{\n"
97 + " \"event.presence\": \"required\",\n"
98 + " \"event.action[0]\": \"any\"\n"
101 + " \"event.presence\": \"required\",\n"
102 + " \"event.action[0]\": \"any\"\n"
108 public void testShouldCorrectlyParseResponse() throws IOException {
109 GenericArtifactBrowserBusinessLogic genericArtifactBrowserBusinessLogic = new GenericArtifactBrowserBusinessLogic();
110 String result = genericArtifactBrowserBusinessLogic.searchFor(
111 new GABQuery(ImmutableSet.of("event.presence", "event.action[0]"),
112 content, GABQueryType.CONTENT));
113 assertEquals(result, expectedResult);