2 // Copyright 2019 AT&T Intellectual Property
3 // Copyright 2019 Nokia
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
17 package httpmsghandlers_test
20 "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common"
21 "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
22 "github.com/pkg/errors"
23 "github.com/stretchr/testify/assert"
24 "github.com/stretchr/testify/mock"
27 "rsm/handlers/httpmsghandlers"
37 func initTest(t *testing.T) (*httpmsghandlers.ResourceStatusRequestHandler, *mocks.RnibReaderMock, *mocks.RsmReaderMock, *mocks.RsmWriterMock, *mocks.ResourceStatusServiceMock) {
38 log, err := logger.InitLogger(logger.DebugLevel)
40 t.Errorf("#... - failed to initialize logger, error: %s", err)
43 config, err := configuration.ParseConfiguration()
45 t.Errorf("#... - failed to parse configuration error: %s", err)
48 resourceStatusServiceMock := &mocks.ResourceStatusServiceMock{}
49 rnibReaderMock := &mocks.RnibReaderMock{}
50 rsmReaderMock := &mocks.RsmReaderMock{}
51 rsmWriterMock := &mocks.RsmWriterMock{}
53 rnibDataService := services.NewRnibDataService(log, config, rnibReaderMock, rsmReaderMock, rsmWriterMock)
54 handler := httpmsghandlers.NewResourceStatusRequestHandler(log, rnibDataService, resourceStatusServiceMock)
56 return handler, rnibReaderMock, rsmReaderMock, rsmWriterMock, resourceStatusServiceMock
59 func TestResourceStatusRequestHandlerGetConfigError(t *testing.T) {
61 handler, _, rsmReaderMock, _, _ := initTest(t)
63 err := common.NewInternalError(errors.New("Error"))
64 rsmReaderMock.On("GetRsmGeneralConfiguration").Return(tests.GetRsmGeneralConfiguration(true), err)
66 resourceStatusRequest := models.ResourceStatusRequest{EnableResourceStatus:true}
67 actualErr := handler.Handle(resourceStatusRequest)
69 rsmReaderMock.AssertNumberOfCalls(t, "SaveRsmGeneralConfiguration", 0)
71 assert.Equal(t, actualErr, rsmerrors.NewRnibDbError())
74 func TestResourceStatusRequestHandlerSaveConfigError(t *testing.T) {
76 handler, readerMock, rsmReaderMock, rsmWriterMock, _ := initTest(t)
78 err := common.NewInternalError(errors.New("Error"))
79 config := tests.GetRsmGeneralConfiguration(true)
80 rsmReaderMock.On("GetRsmGeneralConfiguration").Return(config, nil)
81 rsmWriterMock.On("SaveRsmGeneralConfiguration", config).Return(err)
83 resourceStatusRequest := models.ResourceStatusRequest{EnableResourceStatus:true}
84 actualErr := handler.Handle(resourceStatusRequest)
86 readerMock.AssertNumberOfCalls(t, "GetListEnbIds", 0)
88 assert.Equal(t, actualErr, rsmerrors.NewRnibDbError())
91 func TestResourceStatusRequestHandleGetListEnbIdsError(t *testing.T) {
93 handler, readerMock, rsmReaderMock, rsmWriterMock, _ := initTest(t)
95 err := common.NewInternalError(errors.New("Error"))
96 config := tests.GetRsmGeneralConfiguration(true)
97 rsmReaderMock.On("GetRsmGeneralConfiguration").Return(config, nil)
98 rsmWriterMock.On("SaveRsmGeneralConfiguration", config).Return(nil)
100 var nbIdentityList []*entities.NbIdentity
101 readerMock.On("GetListEnbIds").Return(nbIdentityList, err)
103 resourceStatusRequest := models.ResourceStatusRequest{EnableResourceStatus:true}
104 actualErr := handler.Handle(resourceStatusRequest)
106 readerMock.AssertNumberOfCalls(t, "GetNodeb", 0)
108 assert.Equal(t, actualErr, rsmerrors.NewRnibDbError())
111 func TestResourceStatusRequestHandlerTrueStartSuccess(t *testing.T) {
113 handler, readerMock, rsmReaderMock, rsmWriterMock, resourceStatusServiceMock := initTest(t)
115 config := tests.GetRsmGeneralConfiguration(true)
116 rsmReaderMock.On("GetRsmGeneralConfiguration").Return(config, nil)
117 rsmWriterMock.On("SaveRsmGeneralConfiguration", config).Return(nil)
119 nbIdentityList := CreateIdentityList()
120 readerMock.On("GetListEnbIds").Return(nbIdentityList, nil)
122 nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
123 nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
124 nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
125 readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
126 readerMock.On("GetNodeb", "RanName_2").Return(nb2, nil)
127 readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
129 rrInfo1 := &models.RsmRanInfo{RanName:"RanName_1", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:0, Action:enums.Start, ActionStatus:false}
130 rrInfo2 := &models.RsmRanInfo{RanName:"RanName_2", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:0, Action:enums.Start, ActionStatus:true}
131 rrInfo3 := &models.RsmRanInfo{RanName:"RanName_3", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:0, Action:enums.Stop, ActionStatus:false}
132 rsmReaderMock.On("GetRsmRanInfo", "RanName_1").Return(rrInfo1, nil)
133 rsmReaderMock.On("GetRsmRanInfo", "RanName_2").Return(rrInfo2, nil)
134 rsmReaderMock.On("GetRsmRanInfo", "RanName_3").Return(rrInfo3, nil)
136 rsmWriterMock.On("SaveRsmRanInfo", rrInfo3).Return(nil)
138 resourceStatusServiceMock.On("BuildAndSendInitiateRequest", nb1, config, enums.Enb1MeasurementId).Return(nil)
139 resourceStatusServiceMock.On("BuildAndSendInitiateRequest", nb3, config, enums.Enb1MeasurementId).Return(nil)
142 resourceStatusRequest := models.ResourceStatusRequest{EnableResourceStatus:true}
143 actualErr := handler.Handle(resourceStatusRequest)
145 readerMock.AssertNumberOfCalls(t, "GetNodeb", 3)
146 rsmWriterMock.AssertNumberOfCalls(t, "SaveRsmRanInfo", 1)
147 resourceStatusServiceMock.AssertNumberOfCalls(t, "BuildAndSendInitiateRequest", 2)
149 assert.Equal(t, actualErr, nil)
152 func TestResourceStatusRequestHandlerTrueNumberOfFails1(t *testing.T) {
154 handler, readerMock, rsmReaderMock, rsmWriterMock, resourceStatusServiceMock := initTest(t)
156 config := tests.GetRsmGeneralConfiguration(true)
157 rsmReaderMock.On("GetRsmGeneralConfiguration").Return(config, nil)
158 rsmWriterMock.On("SaveRsmGeneralConfiguration", config).Return(nil)
160 nbIdentityList := CreateIdentityList()
161 readerMock.On("GetListEnbIds").Return(nbIdentityList, nil)
163 nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
164 nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_DISCONNECTED,}
165 nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
166 readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
167 readerMock.On("GetNodeb", "RanName_2").Return(nb2, nil)
168 readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
170 err := common.NewInternalError(errors.New("Error"))
171 rrInfo1 := &models.RsmRanInfo{RanName:"RanName_1", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:0, Action:enums.Start, ActionStatus:false}
172 rrInfo3 := &models.RsmRanInfo{RanName:"RanName_3", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:0, Action:enums.Stop, ActionStatus:false}
173 rsmReaderMock.On("GetRsmRanInfo", "RanName_1").Return(rrInfo1, err)
174 rsmReaderMock.On("GetRsmRanInfo", "RanName_3").Return(rrInfo3, nil)
176 rsmWriterMock.On("SaveRsmRanInfo", rrInfo3).Return(nil)
178 resourceStatusServiceMock.On("BuildAndSendInitiateRequest", nb3, mock.AnythingOfType("*models.RsmGeneralConfiguration"), enums.Enb1MeasurementId).Return(nil)
181 resourceStatusRequest := models.ResourceStatusRequest{EnableResourceStatus:true}
182 actualErr := handler.Handle(resourceStatusRequest)
184 readerMock.AssertNumberOfCalls(t, "GetNodeb", 3)
185 rsmWriterMock.AssertNumberOfCalls(t, "SaveRsmRanInfo", 1)
186 resourceStatusServiceMock.AssertNumberOfCalls(t, "BuildAndSendInitiateRequest", 1)
188 rsmError := rsmerrors.NewRsmError(1)
189 assert.Equal(t, actualErr, rsmError)
190 assert.Equal(t, actualErr.Error(), rsmError.Error())
193 func TestResourceStatusRequestHandlerTrueNumberOfFails3(t *testing.T) {
195 handler, readerMock, rsmReaderMock, rsmWriterMock, resourceStatusServiceMock := initTest(t)
197 config := tests.GetRsmGeneralConfiguration(true)
198 rsmReaderMock.On("GetRsmGeneralConfiguration").Return(config, nil)
199 rsmWriterMock.On("SaveRsmGeneralConfiguration", config).Return(nil)
201 nbIdentityList := CreateIdentityList()
202 readerMock.On("GetListEnbIds").Return(nbIdentityList, nil)
204 err := common.NewInternalError(errors.New("Error"))
205 nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
206 nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
207 nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
208 readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
209 readerMock.On("GetNodeb", "RanName_2").Return(nb2, err)
210 readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
212 rrInfo1 := &models.RsmRanInfo{RanName:"RanName_1", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:0, Action:enums.Start, ActionStatus:false}
213 rrInfo3 := &models.RsmRanInfo{RanName:"RanName_3", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:0, Action:enums.Stop, ActionStatus:false}
214 rsmReaderMock.On("GetRsmRanInfo", "RanName_1").Return(rrInfo1, nil)
215 rsmReaderMock.On("GetRsmRanInfo", "RanName_3").Return(rrInfo3, nil)
217 rsmWriterMock.On("SaveRsmRanInfo", rrInfo3).Return(err)
219 resourceStatusServiceMock.On("BuildAndSendInitiateRequest", nb1, mock.AnythingOfType("*models.RsmGeneralConfiguration"), enums.Enb1MeasurementId).Return(errors.New("Error"))
222 resourceStatusRequest := models.ResourceStatusRequest{EnableResourceStatus:true}
223 actualErr := handler.Handle(resourceStatusRequest)
225 readerMock.AssertNumberOfCalls(t, "GetNodeb", 3)
226 rsmWriterMock.AssertNumberOfCalls(t, "SaveRsmRanInfo", 1)
227 resourceStatusServiceMock.AssertNumberOfCalls(t, "BuildAndSendInitiateRequest", 1)
229 rsmError := rsmerrors.NewRsmError(3)
230 assert.Equal(t, actualErr, rsmError)
231 assert.Equal(t, actualErr.Error(), rsmError.Error())
234 func TestResourceStatusRequestHandlerFalseStopSuccess(t *testing.T) {
236 handler, readerMock, rsmReaderMock, rsmWriterMock, resourceStatusServiceMock := initTest(t)
238 config := tests.GetRsmGeneralConfiguration(true)
239 rsmReaderMock.On("GetRsmGeneralConfiguration").Return(config, nil)
240 rsmWriterMock.On("SaveRsmGeneralConfiguration", config).Return(nil)
242 nbIdentityList := CreateIdentityList()
243 readerMock.On("GetListEnbIds").Return(nbIdentityList, nil)
245 nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
246 nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
247 nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
248 readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
249 readerMock.On("GetNodeb", "RanName_2").Return(nb2, nil)
250 readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
252 rrInfo1 := &models.RsmRanInfo{RanName:"RanName_1", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:2, Action:enums.Stop, ActionStatus:false}
253 rrInfo2 := &models.RsmRanInfo{RanName:"RanName_2", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:2, Action:enums.Stop, ActionStatus:true}
254 rrInfo3 := &models.RsmRanInfo{RanName:"RanName_3", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:2, Action:enums.Start, ActionStatus:false}
255 rsmReaderMock.On("GetRsmRanInfo", "RanName_1").Return(rrInfo1, nil)
256 rsmReaderMock.On("GetRsmRanInfo", "RanName_2").Return(rrInfo2, nil)
257 rsmReaderMock.On("GetRsmRanInfo", "RanName_3").Return(rrInfo3, nil)
259 rsmWriterMock.On("SaveRsmRanInfo", rrInfo3).Return(nil)
261 resourceStatusServiceMock.On("BuildAndSendStopRequest", nb1, config, rrInfo1.Enb1MeasurementId, rrInfo1.Enb2MeasurementId).Return(nil)
262 resourceStatusServiceMock.On("BuildAndSendStopRequest", nb3, config, rrInfo3.Enb1MeasurementId, rrInfo3.Enb2MeasurementId).Return(nil)
265 resourceStatusRequest := models.ResourceStatusRequest{EnableResourceStatus:false}
266 actualErr := handler.Handle(resourceStatusRequest)
268 readerMock.AssertNumberOfCalls(t, "GetNodeb", 3)
269 rsmWriterMock.AssertNumberOfCalls(t, "SaveRsmRanInfo", 1)
270 resourceStatusServiceMock.AssertNumberOfCalls(t, "BuildAndSendStopRequest", 2)
272 assert.Equal(t, actualErr, nil)
275 func TestResourceStatusRequestHandlerFalseNumberOfFails1(t *testing.T) {
277 handler, readerMock, rsmReaderMock, rsmWriterMock, resourceStatusServiceMock := initTest(t)
279 config := tests.GetRsmGeneralConfiguration(true)
280 rsmReaderMock.On("GetRsmGeneralConfiguration").Return(config, nil)
281 rsmWriterMock.On("SaveRsmGeneralConfiguration", config).Return(nil)
283 nbIdentityList := CreateIdentityList()
284 readerMock.On("GetListEnbIds").Return(nbIdentityList, nil)
286 nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
287 nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_DISCONNECTED,}
288 nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
289 readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
290 readerMock.On("GetNodeb", "RanName_2").Return(nb2, nil)
291 readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
293 err := common.NewInternalError(errors.New("Error"))
294 rrInfo1 := &models.RsmRanInfo{RanName:"RanName_1", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:2, Action:enums.Stop, ActionStatus:false}
295 rrInfo3 := &models.RsmRanInfo{RanName:"RanName_3", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:2, Action:enums.Start, ActionStatus:false}
296 rsmReaderMock.On("GetRsmRanInfo", "RanName_1").Return(rrInfo1, err)
297 rsmReaderMock.On("GetRsmRanInfo", "RanName_3").Return(rrInfo3, nil)
299 rsmWriterMock.On("SaveRsmRanInfo", rrInfo3).Return(nil)
301 resourceStatusServiceMock.On("BuildAndSendStopRequest", nb3, config, rrInfo3.Enb1MeasurementId, rrInfo3.Enb2MeasurementId).Return(nil)
304 resourceStatusRequest := models.ResourceStatusRequest{EnableResourceStatus:false}
305 actualErr := handler.Handle(resourceStatusRequest)
307 readerMock.AssertNumberOfCalls(t, "GetNodeb", 3)
308 rsmWriterMock.AssertNumberOfCalls(t, "SaveRsmRanInfo", 1)
309 resourceStatusServiceMock.AssertNumberOfCalls(t, "BuildAndSendStopRequest", 1)
311 rsmError := rsmerrors.NewRsmError(1)
312 assert.Equal(t, actualErr, rsmError)
313 assert.Equal(t, actualErr.Error(), rsmError.Error())
316 func TestResourceStatusRequestHandlerFalseNumberOfFails3(t *testing.T) {
318 handler, readerMock, rsmReaderMock, rsmWriterMock, resourceStatusServiceMock := initTest(t)
320 config := tests.GetRsmGeneralConfiguration(true)
321 rsmReaderMock.On("GetRsmGeneralConfiguration").Return(config, nil)
322 rsmWriterMock.On("SaveRsmGeneralConfiguration", config).Return(nil)
324 nbIdentityList := CreateIdentityList()
325 readerMock.On("GetListEnbIds").Return(nbIdentityList, nil)
327 err := common.NewInternalError(errors.New("Error"))
328 nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
329 nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
330 nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
331 readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
332 readerMock.On("GetNodeb", "RanName_2").Return(nb2, err)
333 readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
335 rrInfo1 := &models.RsmRanInfo{RanName:"RanName_1", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:2, Action:enums.Stop, ActionStatus:false}
336 rrInfo3 := &models.RsmRanInfo{RanName:"RanName_3", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:2, Action:enums.Start, ActionStatus:false}
337 rsmReaderMock.On("GetRsmRanInfo", "RanName_1").Return(rrInfo1, nil)
338 rsmReaderMock.On("GetRsmRanInfo", "RanName_3").Return(rrInfo3, nil)
340 rsmWriterMock.On("SaveRsmRanInfo", rrInfo3).Return(err)
342 resourceStatusServiceMock.On("BuildAndSendStopRequest", nb1, config, rrInfo1.Enb1MeasurementId, rrInfo1.Enb2MeasurementId).Return(errors.New("Error"))
344 resourceStatusRequest := models.ResourceStatusRequest{EnableResourceStatus:false}
345 actualErr := handler.Handle(resourceStatusRequest)
347 readerMock.AssertNumberOfCalls(t, "GetNodeb", 3)
348 rsmWriterMock.AssertNumberOfCalls(t, "SaveRsmRanInfo", 1)
349 resourceStatusServiceMock.AssertNumberOfCalls(t, "BuildAndSendStopRequest", 1)
351 rsmError := rsmerrors.NewRsmError(3)
352 assert.Equal(t, actualErr, rsmError)
353 assert.Equal(t, actualErr.Error(), rsmError.Error())
356 func TestResourceStatusRequestHandlerFalseNoEnb2MeasurementId(t *testing.T) {
358 handler, readerMock, rsmReaderMock, rsmWriterMock, resourceStatusServiceMock := initTest(t)
360 config := tests.GetRsmGeneralConfiguration(true)
361 rsmReaderMock.On("GetRsmGeneralConfiguration").Return(config, nil)
362 rsmWriterMock.On("SaveRsmGeneralConfiguration", config).Return(nil)
364 nbIdentityList := CreateIdentityList()
365 readerMock.On("GetListEnbIds").Return(nbIdentityList, nil)
367 nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
368 nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
369 nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
370 readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
371 readerMock.On("GetNodeb", "RanName_2").Return(nb2, nil)
372 readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
374 rrInfo1 := &models.RsmRanInfo{RanName:"RanName_1", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:2, Action:enums.Stop, ActionStatus:false}
375 rrInfo2 := &models.RsmRanInfo{RanName:"RanName_2", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:2, Action:enums.Stop, ActionStatus:true}
376 rrInfo3 := &models.RsmRanInfo{RanName:"RanName_3", Enb1MeasurementId:enums.Enb1MeasurementId, Enb2MeasurementId:0, Action:enums.Start, ActionStatus:false}
377 rsmReaderMock.On("GetRsmRanInfo", "RanName_1").Return(rrInfo1, nil)
378 rsmReaderMock.On("GetRsmRanInfo", "RanName_2").Return(rrInfo2, nil)
379 rsmReaderMock.On("GetRsmRanInfo", "RanName_3").Return(rrInfo3, nil)
381 resourceStatusServiceMock.On("BuildAndSendStopRequest", nb1, config, rrInfo1.Enb1MeasurementId, rrInfo1.Enb2MeasurementId).Return(nil)
383 resourceStatusRequest := models.ResourceStatusRequest{EnableResourceStatus:false}
384 actualErr := handler.Handle(resourceStatusRequest)
386 readerMock.AssertNumberOfCalls(t, "GetNodeb", 3)
387 rsmWriterMock.AssertNumberOfCalls(t, "SaveRsmRanInfo", 0)
388 resourceStatusServiceMock.AssertNumberOfCalls(t, "BuildAndSendStopRequest", 1)
390 rsmError := rsmerrors.NewRsmError(1)
391 assert.Equal(t, actualErr, rsmError)
392 assert.Equal(t, actualErr.Error(), rsmError.Error())
395 func CreateIdentityList() []*entities.NbIdentity {
396 nbIdentity1 := entities.NbIdentity{InventoryName: "RanName_1"}
397 nbIdentity2 := entities.NbIdentity{InventoryName: "RanName_2"}
398 nbIdentity3 := entities.NbIdentity{InventoryName: "RanName_3"}
400 var nbIdentityList []*entities.NbIdentity
401 nbIdentityList = append(nbIdentityList, &nbIdentity1)
402 nbIdentityList = append(nbIdentityList, &nbIdentity2)
403 nbIdentityList = append(nbIdentityList, &nbIdentity3)
405 return nbIdentityList