Merge "fix oauth code"
[ccsdk/features.git] / sdnr / wt / mountpoint-registrar / provider / src / test / java / org / onap / ccsdk / features / sdnr / wt / mountpointregistrar / test / consumer / TestStrimziKafkaStndDefinedVESMsgConsumer.java
1 /*
2  * ============LICENSE_START========================================================================
3  * ONAP : ccsdk feature sdnr wt
4  * =================================================================================================
5  * Copyright (C) 2023 highstreet technologies GmbH Intellectual Property. All rights reserved.
6  * =================================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
8  * in compliance with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software distributed under the License
13  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
14  * or implied. See the License for the specific language governing permissions and limitations under
15  * the License.
16  * ============LICENSE_END==========================================================================
17  */
18
19 package org.onap.ccsdk.features.sdnr.wt.mountpointregistrar.test.consumer;
20
21 import com.fasterxml.jackson.core.JsonProcessingException;
22 import java.io.IOException;
23 import org.junit.After;
24 import org.junit.Before;
25 import org.junit.Test;
26 import org.onap.ccsdk.features.sdnr.wt.mountpointregistrar.impl.InvalidMessageException;
27 import org.onap.ccsdk.features.sdnr.wt.mountpointregistrar.test.config.GeneralConfigForTest;
28 import org.onap.ccsdk.features.sdnr.wt.mountpointregistrar.vesdomain.stnddefined.StrimziKafkaStndDefinedFaultVESMsgConsumer;
29
30 public class TestStrimziKafkaStndDefinedVESMsgConsumer {
31
32     private static final String CONFIGURATIONFILE = "test2.properties";
33
34     // @formatter:off
35     private static final String stndDefinedVESMsg_NotifyNewAlarm =
36             "{\n"
37                     + "    \"event\": {\n"
38                     + "        \"commonEventHeader\": {\n"
39                     + "            \"startEpochMicrosec\": 1669022429000000,\n"
40                     + "            \"eventId\": \"stndDefined000000001\",\n"
41                     + "            \"timeZoneOffset\": \"+00:00\",\n"
42                     + "            \"internalHeaderFields\": {\n"
43                     + "                \"collectorTimeStamp\": \"Mon, 11 21 2022 09:20:30 UTC\"\n"
44                     + "            },\n"
45                     + "            \"eventType\": \"5GCell-NodeH_Alarms\",\n"
46                     + "            \"priority\": \"Low\",\n"
47                     + "            \"version\": \"4.1\",\n"
48                     + "            \"nfVendorName\": \"NodeH\",\n"
49                     + "            \"reportingEntityName\": \"NodeH-5GCell-1234\",\n"
50                     + "            \"sequence\": 5,\n"
51                     + "            \"domain\": \"stndDefined\",\n"
52                     + "            \"lastEpochMicrosec\": 1669022429000000,\n"
53                     + "            \"eventName\": \"StndDefined_5GCell-NodeH_Alarms_MyAlarm\",\n"
54                     + "            \"vesEventListenerVersion\": \"7.2.1\",\n"
55                     + "            \"sourceName\": \"NodeH-5GCell-1234\",\n"
56                     + "            \"stndDefinedNamespace\": \"3GPP-FaultSupervision\",\n"
57                     + "            \"nfNamingCode\": \"5GCell\"\n"
58                     + "        },\n"
59                     + "        \"stndDefinedFields\": {\n"
60                     + "            \"stndDefinedFieldsVersion\": \"1.0\",\n"
61                     + "            \"data\": {\n"
62                     + "                \"additionalInformation\": {\n"
63                     + "                    \"equipType\": \"5GCell\",\n"
64                     + "                    \"vendor\": \"NodeH\",\n"
65                     + "                    \"eventTime\": \"2022-11-21T09:20:29Z\",\n"
66                     + "                    \"model\": \"SF1234\"\n"
67                     + "                },\n"
68                     + "                \"backedUpStatus\": false,\n"
69                     + "                \"rootCauseIndicator\": false,\n"
70                     + "                \"notificationType\": \"notifyNewAlarm\",\n"
71                     + "                \"systemDN\": \"DC=com.Node-H,CN=5GCell\",\n"
72                     + "                \"alarmType\": \"COMMUNICATIONS_ALARM\",\n"
73                     + "                \"probableCause\": \"My cause\",\n"
74                     + "                \"perceivedSeverity\": \"@eventSeverity@\",\n"
75                     + "                \"eventTime\": \"2022-11-21T09:20:29Z\",\n"
76                     + "                \"alarmId\": \"MyAlarm\",\n"
77                     + "                \"proposedRepairActions\": \"Repair me\",\n"
78                     + "                \"notificationId\": 0,\n"
79                     + "                \"href\": \"http://10.0.33.23/3GPPManagement/FaultSupervisionMnS/17.1.0\"\n"
80                     + "            },\n"
81                     + "            \"schemaReference\": \"https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-18/OpenAPI/TS28532_FaultMnS.yaml#components/schemas/NotifyNewAlarm\"\n"
82                     + "        }\n"
83                     + "    }\n"
84                     + "}";
85     // @formatter:on
86     // @formatter:off
87     private static final String stndDefinedVESMsg_NotifyClearedAlarm = "{\n"
88             + "    \"event\": {\n"
89             + "        \"commonEventHeader\": {\n"
90             + "            \"startEpochMicrosec\": 1669022429000000,\n"
91             + "            \"eventId\": \"stndDefined000000001\",\n"
92             + "            \"timeZoneOffset\": \"+00:00\",\n"
93             + "            \"internalHeaderFields\": {\n"
94             + "                \"collectorTimeStamp\": \"Mon, 11 21 2022 09:20:30 UTC\"\n"
95             + "            },\n"
96             + "            \"eventType\": \"5GCell-NodeH_Alarms\",\n"
97             + "            \"priority\": \"Low\",\n"
98             + "            \"version\": \"4.1\",\n"
99             + "            \"nfVendorName\": \"NodeH\",\n"
100             + "            \"reportingEntityName\": \"NodeH-5GCell-1234\",\n"
101             + "            \"sequence\": 5,\n"
102             + "            \"domain\": \"stndDefined\",\n"
103             + "            \"lastEpochMicrosec\": 1669022429000000,\n"
104             + "            \"eventName\": \"StndDefined_5GCell-NodeH_Alarms_MyAlarm\",\n"
105             + "            \"vesEventListenerVersion\": \"7.2.1\",\n"
106             + "            \"sourceName\": \"NodeH-5GCell-1234\",\n"
107             + "            \"stndDefinedNamespace\": \"3GPP-FaultSupervision\",\n"
108             + "            \"nfNamingCode\": \"5GCell\"\n"
109             + "        },\n"
110             + "        \"stndDefinedFields\": {\n"
111             + "            \"stndDefinedFieldsVersion\": \"1.0\",\n"
112             + "            \"data\": {\n"
113             + "                \"additionalInformation\": {\n"
114             + "                    \"equipType\": \"5GCell\",\n"
115             + "                    \"vendor\": \"NodeH\",\n"
116             + "                    \"eventTime\": \"2022-11-21T09:20:29Z\",\n"
117             + "                    \"model\": \"SF1234\"\n"
118             + "                },\n"
119             + "                \"backedUpStatus\": false,\n"
120             + "                \"rootCauseIndicator\": false,\n"
121             + "                \"notificationType\": \"notifyClearedAlarm\",\n"
122             + "                \"systemDN\": \"DC=com.Node-H,CN=5GCell\",\n"
123             + "                \"alarmType\": \"COMMUNICATIONS_ALARM\",\n"
124             + "                \"probableCause\": \"My cause\",\n"
125             + "                \"perceivedSeverity\": \"@eventSeverity@\",\n"
126             + "                \"eventTime\": \"2022-11-21T09:20:29Z\",\n"
127             + "                \"alarmId\": \"MyAlarm\",\n"
128             + "                \"proposedRepairActions\": \"Repair me\",\n"
129             + "                \"notificationId\": 0,\n"
130             + "                \"href\": \"http://10.0.33.23/3GPPManagement/FaultSupervisionMnS/17.1.0\"\n"
131             + "            },\n"
132             + "            \"schemaReference\": \"https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-18/OpenAPI/TS28532_FaultMnS.yaml#components/schemas/NotifyClearedAlarm\"\n"
133             + "        }\n"
134             + "    }\n"
135             + "}";
136     // @formatter:on
137
138  // @formatter:off
139     private static final String stndDefinedVESMsg_Invalid = "{\n"
140             + "    \"event\": {\n"
141             + "        \"commonEventHeader\": {\n"
142             + "            \"startEpochMicrosec\": 1669022429000000,\n"
143             + "            \"eventId\": \"stndDefined000000001\",\n"
144             + "            \"timeZoneOffset\": \"+00:00\",\n"
145             + "            \"internalHeaderFields\": {\n"
146             + "                \"collectorTimeStamp\": \"Mon, 11 21 2022 09:20:30 UTC\"\n"
147             + "            },\n"
148             + "            \"eventType\": \"5GCell-NodeH_Alarms\",\n"
149             + "            \"priority\": \"Low\",\n"
150             + "            \"version\": \"4.1\",\n"
151             + "            \"nfVendorName\": \"NodeH\",\n"
152             + "            \"reportingEntityName\": \"NodeH-5GCell-1234\",\n"
153             + "            \"sequence\": 5,\n"
154             + "            \"domain\": \"stndDefined\",\n"
155             + "            \"lastEpochMicrosec\": 1669022429000000,\n"
156             + "            \"eventName\": \"StndDefined_5GCell-NodeH_Alarms_MyAlarm\",\n"
157             + "            \"vesEventListenerVersion\": \"7.2.1\",\n"
158             + "            \"sourceName\": \"NodeH-5GCell-1234\",\n"
159             + "            \"stndDefinedNamespace\": \"3GPP-FaultSupervision\",\n"
160             + "            \"nfNamingCode\": \"5GCell\"\n"
161             + "        },\n"
162             + "        \"stndDefinedFields\": {\n"
163             + "            \"stndDefinedFieldsVersion\": \"1.0\",\n"
164             + "            \"data\": {\n"
165             + "                \"additionalInformation\": {\n"
166             + "                    \"equipType\": \"5GCell\",\n"
167             + "                    \"vendor\": \"NodeH\",\n"
168             + "                    \"eventTime\": \"2022-11-21T09:20:29Z\",\n"
169             + "                    \"model\": \"SF1234\"\n"
170             + "                },\n"
171             + "                \"backedUpStatus\": false,\n"
172             + "                \"rootCauseIndicator\": false,\n"
173             + "                \"notificationType\": \"notifyChangedAlarm\",\n"
174             + "                \"systemDN\": \"DC=com.Node-H,CN=5GCell\",\n"
175             + "                \"alarmType\": \"COMMUNICATIONS_ALARM\",\n"
176             + "                \"probableCause\": \"My cause\",\n"
177             + "                \"perceivedSeverity\": \"@eventSeverity@\",\n"
178             + "                \"eventTime\": \"2022-11-21T09:20:29Z\",\n"
179             + "                \"alarmId\": \"MyAlarm\",\n"
180             + "                \"proposedRepairActions\": \"Repair me\",\n"
181             + "                \"notificationId\": 0,\n"
182             + "                \"href\": \"http://10.0.33.23/3GPPManagement/FaultSupervisionMnS/17.1.0\"\n"
183             + "            },\n"
184             + "            \"schemaReference\": \"https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-18/OpenAPI/TS28532_FaultMnS.yaml#components/schemas/NotifyClearedAlarm\"\n"
185             + "        }\n"
186             + "    }\n"
187             + "}";
188     // @formatter:on
189     private GeneralConfigForTest cfgTest;
190
191     @Before
192     public void before() throws IOException {
193         cfgTest = new GeneralConfigForTest(CONFIGURATIONFILE);
194     }
195
196     @After
197     public void after() {
198         cfgTest.close();
199     }
200
201
202     @Test
203     public void testNotifyNewAlarm() throws IOException {
204         StrimziKafkaStndDefinedFaultVESMsgConsumer stndDefinedFaultMsgConsumer =
205                 new StrimziKafkaStndDefinedFaultVESMsgConsumer(cfgTest.getCfg(), null);
206         try {
207
208             stndDefinedFaultMsgConsumer
209                     .processMsg(stndDefinedVESMsg_NotifyNewAlarm.replace("@eventSeverity@", "CRITICAL"));
210             stndDefinedFaultMsgConsumer
211                     .processMsg(stndDefinedVESMsg_NotifyNewAlarm.replace("@eventSeverity@", "Major"));
212             stndDefinedFaultMsgConsumer
213                     .processMsg(stndDefinedVESMsg_NotifyNewAlarm.replace("@eventSeverity@", "minor"));
214             stndDefinedFaultMsgConsumer
215                     .processMsg(stndDefinedVESMsg_NotifyNewAlarm.replace("@eventSeverity@", "NonAlarmed"));
216             stndDefinedFaultMsgConsumer
217                     .processMsg(stndDefinedVESMsg_NotifyNewAlarm.replace("@eventSeverity@", "warning"));
218             stndDefinedFaultMsgConsumer
219                     .processMsg(stndDefinedVESMsg_NotifyNewAlarm.replace("@eventSeverity@", "Unknown"));
220             //stndDefinedFaultMsgConsumer.processMsg(faultVESMsg_Incomplete);
221         } catch (Exception e) {
222             e.printStackTrace();
223             System.out.println("Exception while processing Fault Message - " + e.getMessage());
224         }
225     }
226
227     @Test
228     public void testNotifyClearedAlarm() throws IOException {
229         StrimziKafkaStndDefinedFaultVESMsgConsumer stndDefinedFaultMsgConsumer =
230                 new StrimziKafkaStndDefinedFaultVESMsgConsumer(cfgTest.getCfg(), null);
231         try {
232
233             stndDefinedFaultMsgConsumer
234                     .processMsg(stndDefinedVESMsg_NotifyClearedAlarm.replace("@eventSeverity@", "cleared"));
235             stndDefinedFaultMsgConsumer
236                     .processMsg(stndDefinedVESMsg_NotifyClearedAlarm.replace("@eventSeverity@", "Indeterminate"));
237             //stndDefinedFaultMsgConsumer.processMsg(faultVESMsg_Incomplete);
238         } catch (Exception e) {
239             e.printStackTrace();
240             System.out.println("Exception while processing Fault Message - " + e.getMessage());
241         }
242     }
243
244     @Test(expected = InvalidMessageException.class)
245     public void testInvalidStndDefinedMessage() throws InvalidMessageException, JsonProcessingException {
246         StrimziKafkaStndDefinedFaultVESMsgConsumer stndDefinedFaultMsgConsumer =
247                 new StrimziKafkaStndDefinedFaultVESMsgConsumer(cfgTest.getCfg(), null);
248         stndDefinedFaultMsgConsumer.processMsg(stndDefinedVESMsg_Invalid.replace("@eventSeverity@", "cleared"));
249     }
250 }