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
 
  10  * http://www.apache.org/licenses/LICENSE-2.0
 
  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
 
  16  * ============LICENSE_END==========================================================================
 
  19 package org.onap.ccsdk.features.sdnr.wt.mountpointregistrar.test.consumer;
 
  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;
 
  30 public class TestStrimziKafkaStndDefinedVESMsgConsumer {
 
  32     private static final String CONFIGURATIONFILE = "test2.properties";
 
  35     private static final String stndDefinedVESMsg_NotifyNewAlarm =
 
  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"
 
  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"
 
  59                     + "        \"stndDefinedFields\": {\n"
 
  60                     + "            \"stndDefinedFieldsVersion\": \"1.0\",\n"
 
  62                     + "                \"additionalInformation\": {\n"
 
  63                     + "                    \"equipType\": \"5GCell\",\n"
 
  64                     + "                    \"vendor\": \"NodeH\",\n"
 
  65                     + "                    \"eventTime\": \"2022-11-21T09:20:29Z\",\n"
 
  66                     + "                    \"model\": \"SF1234\"\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"
 
  81                     + "            \"schemaReference\": \"https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-18/OpenAPI/TS28532_FaultMnS.yaml#components/schemas/NotifyNewAlarm\"\n"
 
  87     private static final String stndDefinedVESMsg_NotifyClearedAlarm = "{\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"
 
  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"
 
 110             + "        \"stndDefinedFields\": {\n"
 
 111             + "            \"stndDefinedFieldsVersion\": \"1.0\",\n"
 
 113             + "                \"additionalInformation\": {\n"
 
 114             + "                    \"equipType\": \"5GCell\",\n"
 
 115             + "                    \"vendor\": \"NodeH\",\n"
 
 116             + "                    \"eventTime\": \"2022-11-21T09:20:29Z\",\n"
 
 117             + "                    \"model\": \"SF1234\"\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"
 
 132             + "            \"schemaReference\": \"https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-18/OpenAPI/TS28532_FaultMnS.yaml#components/schemas/NotifyClearedAlarm\"\n"
 
 139     private static final String stndDefinedVESMsg_Invalid = "{\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"
 
 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"
 
 162             + "        \"stndDefinedFields\": {\n"
 
 163             + "            \"stndDefinedFieldsVersion\": \"1.0\",\n"
 
 165             + "                \"additionalInformation\": {\n"
 
 166             + "                    \"equipType\": \"5GCell\",\n"
 
 167             + "                    \"vendor\": \"NodeH\",\n"
 
 168             + "                    \"eventTime\": \"2022-11-21T09:20:29Z\",\n"
 
 169             + "                    \"model\": \"SF1234\"\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"
 
 184             + "            \"schemaReference\": \"https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-18/OpenAPI/TS28532_FaultMnS.yaml#components/schemas/NotifyClearedAlarm\"\n"
 
 189     private GeneralConfigForTest cfgTest;
 
 192     public void before() throws IOException {
 
 193         cfgTest = new GeneralConfigForTest(CONFIGURATIONFILE);
 
 197     public void after() {
 
 203     public void testNotifyNewAlarm() throws IOException {
 
 204         StrimziKafkaStndDefinedFaultVESMsgConsumer stndDefinedFaultMsgConsumer = new StrimziKafkaStndDefinedFaultVESMsgConsumer(cfgTest.getCfg());
 
 207             stndDefinedFaultMsgConsumer.processMsg(stndDefinedVESMsg_NotifyNewAlarm.replace("@eventSeverity@", "CRITICAL"));
 
 208             stndDefinedFaultMsgConsumer.processMsg(stndDefinedVESMsg_NotifyNewAlarm.replace("@eventSeverity@", "Major"));
 
 209             stndDefinedFaultMsgConsumer.processMsg(stndDefinedVESMsg_NotifyNewAlarm.replace("@eventSeverity@", "minor"));
 
 210             stndDefinedFaultMsgConsumer.processMsg(stndDefinedVESMsg_NotifyNewAlarm.replace("@eventSeverity@", "NonAlarmed"));
 
 211             stndDefinedFaultMsgConsumer.processMsg(stndDefinedVESMsg_NotifyNewAlarm.replace("@eventSeverity@", "warning"));
 
 212             stndDefinedFaultMsgConsumer.processMsg(stndDefinedVESMsg_NotifyNewAlarm.replace("@eventSeverity@", "Unknown"));
 
 213             //stndDefinedFaultMsgConsumer.processMsg(faultVESMsg_Incomplete);
 
 214         } catch (Exception e) {
 
 216             System.out.println("Exception while processing Fault Message - " + e.getMessage());
 
 221     public void testNotifyClearedAlarm() throws IOException {
 
 222         StrimziKafkaStndDefinedFaultVESMsgConsumer stndDefinedFaultMsgConsumer = new StrimziKafkaStndDefinedFaultVESMsgConsumer(cfgTest.getCfg());
 
 225             stndDefinedFaultMsgConsumer.processMsg(stndDefinedVESMsg_NotifyClearedAlarm.replace("@eventSeverity@", "cleared"));
 
 226             stndDefinedFaultMsgConsumer.processMsg(stndDefinedVESMsg_NotifyClearedAlarm.replace("@eventSeverity@", "Indeterminate"));
 
 227             //stndDefinedFaultMsgConsumer.processMsg(faultVESMsg_Incomplete);
 
 228         } catch (Exception e) {
 
 230             System.out.println("Exception while processing Fault Message - " + e.getMessage());
 
 234     @Test(expected = InvalidMessageException.class)
 
 235     public void testInvalidStndDefinedMessage() throws InvalidMessageException, JsonProcessingException {
 
 236         StrimziKafkaStndDefinedFaultVESMsgConsumer stndDefinedFaultMsgConsumer = new StrimziKafkaStndDefinedFaultVESMsgConsumer(cfgTest.getCfg());
 
 237         stndDefinedFaultMsgConsumer.processMsg(stndDefinedVESMsg_Invalid.replace("@eventSeverity@", "cleared"));