blob: b1c175cbfbd1bee09c2359c2ac36aef047224088 [file] [log] [blame]
Mohamed Abukaraf0c5702020-03-11 10:29:40 +02001/*
2 * Copyright (c) 2020 AT&T Intellectual Property.
3 * Copyright (c) 2020 Nokia.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 * This source code is part of the near-RT RIC (RAN Intelligent Controller)
18 * platform project (RICP).
19 */
20
21package main
22
23import (
24 "bytes"
25 "encoding/json"
Mohamed Abukaraf0c5702020-03-11 10:29:40 +020026 "net/http"
27 "net/http/httptest"
28 "testing"
29
Juha Hyttinen281d0602021-12-23 10:14:40 +020030 "gerrit.o-ran-sc.org/r/ric-plt/alarm-go.git/alarm"
Mohamed Abukara5c82992021-06-06 13:45:30 +000031 "github.com/stretchr/testify/assert"
Mohamed Abukaraf0c5702020-03-11 10:29:40 +020032)
33
34// Test cases
35func TestGetActiveAlarmsRESTInterface(t *testing.T) {
36 req, err := http.NewRequest("GET", "/ric/v1/alarms", nil)
37 if err != nil {
38 t.Fatal(err)
39 }
40
41 rr := httptest.NewRecorder()
Abukar Mohamed121e8b62020-09-18 11:41:33 +000042 handler := http.HandlerFunc(alarmManager.GetActiveAlarms)
Mohamed Abukaraf0c5702020-03-11 10:29:40 +020043 handler.ServeHTTP(rr, req)
44
45 assert.Equal(t, true, rr != nil)
46 assert.Equal(t, rr.Code, http.StatusOK)
47}
48
49func TestRaiseAlarmRESTInterface(t *testing.T) {
manoj1cb3ca382021-09-14 05:57:26 -040050 a := alarmer.NewAlarm(alarm.E2_CONNECTION_PROBLEM, alarm.SeverityMajor, "Some App data", "eth 0 1")
Mohamed Abukaraf0c5702020-03-11 10:29:40 +020051 b, err := json.Marshal(&a)
52 if err != nil {
53 t.Errorf("Unexpected error %v", err)
54 }
55
56 req, err := http.NewRequest("POST", "/ric/v1/alarms", bytes.NewBuffer(b))
57 if err != nil {
58 t.Fatal(err)
59 }
60
61 rr := httptest.NewRecorder()
Abukar Mohamed121e8b62020-09-18 11:41:33 +000062 handler := http.HandlerFunc(alarmManager.RaiseAlarm)
Mohamed Abukaraf0c5702020-03-11 10:29:40 +020063 handler.ServeHTTP(rr, req)
64
65 assert.True(t, rr != nil)
66 assert.Equal(t, rr.Code, http.StatusOK)
67}
68
69func TestClearAlarmRESTInterface(t *testing.T) {
manoj1cb3ca382021-09-14 05:57:26 -040070 a := alarmer.NewAlarm(alarm.E2_CONNECTION_PROBLEM, alarm.SeverityMajor, "Some App data", "eth 0 1")
Mohamed Abukaraf0c5702020-03-11 10:29:40 +020071 b, err := json.Marshal(&a)
72 if err != nil {
73 t.Errorf("Unexpected error %v", err)
74 }
75
76 req, err := http.NewRequest("POST", "/ric/v1/alarms", bytes.NewBuffer(b))
77 if err != nil {
78 t.Fatal(err)
79 }
80
81 rr := httptest.NewRecorder()
Abukar Mohamed121e8b62020-09-18 11:41:33 +000082 handler := http.HandlerFunc(alarmManager.ClearAlarm)
Mohamed Abukaraf0c5702020-03-11 10:29:40 +020083 handler.ServeHTTP(rr, req)
84
85 assert.Equal(t, true, rr != nil)
86 assert.Equal(t, rr.Code, http.StatusOK)
87}
Mohamed Abukara5c82992021-06-06 13:45:30 +000088
89func TestSymptomDataHandler(t *testing.T) {
90 req, err := http.NewRequest("POST", "/ric/v1/symptomdata", nil)
91 if err != nil {
92 t.Fatal(err)
93 }
94
95 rr := httptest.NewRecorder()
96 handler := http.HandlerFunc(alarmManager.SymptomDataHandler)
97 handler.ServeHTTP(rr, req)
98
99 assert.Equal(t, true, rr != nil)
100 assert.Equal(t, rr.Code, http.StatusOK)
101}