75bee1fb2f80651367c129be3d819b0f60c6ab62
[nonrtric.git] / test / usecases / oruclosedlooprecovery / goversion / internal / ves / decoder_test.go
1 // -
2 //   ========================LICENSE_START=================================
3 //   O-RAN-SC
4 //   %%
5 //   Copyright (C) 2021: Nordix Foundation
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
10 //
11 //        http://www.apache.org/licenses/LICENSE-2.0
12 //
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 //
20
21 package ves
22
23 import (
24         "reflect"
25         "testing"
26 )
27
28 func TestGetFaultMessages(t *testing.T) {
29         type args struct {
30                 messageStrings *[]string
31         }
32         tests := []struct {
33                 name string
34                 args args
35                 want []FaultMessage
36         }{
37                 {
38                         name: "",
39                         args: args{
40                                 messageStrings: &[]string{"{\"event\":{\"commonEventHeader\":{\"domain\":\"heartbeat\"}}}",
41                                         `{"event":{"commonEventHeader":{"domain":"fault","sourceName":"ERICSSON-O-RU-11220"},"faultFields":{"eventSeverity":"CRITICAL","alarmCondition":"28"}}}`},
42                         },
43                         want: []FaultMessage{{
44                                 Event: Event{
45                                         CommonEventHeader: CommonEventHeader{
46                                                 Domain:     "fault",
47                                                 SourceName: "ERICSSON-O-RU-11220",
48                                         },
49                                         FaultFields: FaultFields{
50                                                 AlarmCondition: "28",
51                                                 EventSeverity:  "CRITICAL",
52                                         },
53                                 },
54                         }},
55                 },
56         }
57         for _, tt := range tests {
58                 t.Run(tt.name, func(t *testing.T) {
59                         if got := GetFaultMessages(tt.args.messageStrings); !reflect.DeepEqual(got, tt.want) {
60                                 t.Errorf("GetFaultMessages() = %v, want %v", got, tt.want)
61                         }
62                 })
63         }
64 }