Adding new comments for Oran in all files with licenses
[ric-plt/resource-status-manager.git] / RSM / controllers / controller_test.go
1 //
2 // Copyright 2019 AT&T Intellectual Property
3 // Copyright 2019 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
21 package controllers
22
23 /*
24 import (
25         "encoding/json"
26         "fmt"
27         "github.com/stretchr/testify/assert"
28         "io"
29         "io/ioutil"
30         "net/http"
31         "net/http/httptest"
32         "rsm/configuration"
33         "rsm/mocks"
34         "rsm/models"
35         "rsm/providers/httpmsghandlerprovider"
36         "rsm/rsmerrors"
37         "rsm/tests/testhelper"
38         "testing"
39 )
40
41 func setupControllerTest(t *testing.T) (*Controller, *mocks.RnibReaderMock, *mocks.RmrMessengerMock) {
42         config := configuration.ParseConfiguration()
43
44         rmrMessengerMock := &mocks.RmrMessengerMock{}
45         readerMock := &mocks.RnibReaderMock{}
46         rnibDataService, rmrSender, log := testhelper.InitTestCase(t)
47         handlerProvider := httpmsghandlerprovider.NewRequestHandlerProvider(log, rmrSender, config, rnibDataService)
48         controller := NewController(log, handlerProvider)
49         return controller, readerMock, rmrMessengerMock
50 }
51
52 func TestHeaderValidationFailed(t *testing.T) {
53         controller, _, _ := setupControllerTest(t)
54
55         writer := httptest.NewRecorder()
56         header := &http.Header{}
57         controller.handleRequest(writer, header, "", nil, true)
58         var errorResponse = parseJsonRequest(t, writer.Body)
59         err := rsmerrors.NewHeaderValidationError()
60
61         assert.Equal(t, http.StatusUnsupportedMediaType, writer.Result().StatusCode)
62         assert.Equal(t, errorResponse.Code, err.Code)
63         assert.Equal(t, errorResponse.Message, err.Message)
64 }
65 */
66 /*func TestHandleInternalError(t *testing.T) {
67         controller, _, _ := setupControllerTest(t)
68
69         writer := httptest.NewRecorder()
70         err := rsmerrors.NewInternalError()
71
72         controller.handleErrorResponse(err, writer)
73         var errorResponse = parseJsonRequest(t, writer.Body)
74
75         assert.Equal(t, http.StatusInternalServerError, writer.Result().StatusCode)
76         assert.Equal(t, errorResponse.Code, err.Code)
77         assert.Equal(t, errorResponse.Message, err.Message)
78 }*/
79
80 /*func TestValidateHeadersSuccess(t *testing.T) {
81         controller, _, _ := setupControllerTest(t)
82
83         header := http.Header{}
84         header.Set("Content-Type", "application/json")
85         result := controller.validateRequestHeader(&header)
86
87         assert.Nil(t, result)
88 }
89 */
90 /*func parseJsonRequest(t *testing.T, r io.Reader) models.ErrorResponse {
91
92         var errorResponse models.ErrorResponse
93         body, err := ioutil.ReadAll(r)
94         if err != nil {
95                 t.Errorf("Error cannot deserialize json request")
96         }
97         json.Unmarshal(body, &errorResponse)
98
99         return errorResponse
100 }*/
101 /*
102 func TestHandleErrorResponse(t *testing.T) {
103         controller, _, _ := setupControllerTest(t)
104
105         writer := httptest.NewRecorder()
106         controller.handleErrorResponse(rsmerrors.NewRnibDbError(), writer)
107         assert.Equal(t, http.StatusInternalServerError, writer.Result().StatusCode)
108
109         writer = httptest.NewRecorder()
110         controller.handleErrorResponse(rsmerrors.NewHeaderValidationError(), writer)
111         assert.Equal(t, http.StatusUnsupportedMediaType, writer.Result().StatusCode)
112
113         writer = httptest.NewRecorder()
114         controller.handleErrorResponse(rsmerrors.NewWrongStateError("", ""), writer)
115         assert.Equal(t, http.StatusBadRequest, writer.Result().StatusCode)
116
117         writer = httptest.NewRecorder()
118         controller.handleErrorResponse(rsmerrors.NewRequestValidationError(), writer)
119         assert.Equal(t, http.StatusBadRequest, writer.Result().StatusCode)
120
121         writer = httptest.NewRecorder()
122         controller.handleErrorResponse(rsmerrors.NewRmrError(), writer)
123         assert.Equal(t, http.StatusInternalServerError, writer.Result().StatusCode)
124
125         writer = httptest.NewRecorder()
126         controller.handleErrorResponse(rsmerrors.NewResourceNotFoundError(), writer)
127         assert.Equal(t, http.StatusNotFound, writer.Result().StatusCode)
128
129         writer = httptest.NewRecorder()
130         controller.handleErrorResponse(rsmerrors.NewInvalidJsonError(), writer)
131         assert.Equal(t, http.StatusBadRequest, writer.Result().StatusCode)
132
133         writer = httptest.NewRecorder()
134         controller.handleErrorResponse(fmt.Errorf("ErrorError"), writer)
135         assert.Equal(t, http.StatusInternalServerError, writer.Result().StatusCode)
136 }
137 */