[RICPLT-2526] KeepAlive worker and response.
[ric-plt/e2mgr.git] / E2Manager / handlers / httpmsghandlers / delete_all_request_handler_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
18 package httpmsghandlers
19
20 import (
21         "e2mgr/configuration"
22         "e2mgr/e2managererrors"
23         "e2mgr/logger"
24         "e2mgr/mocks"
25         "e2mgr/rmrCgo"
26         "e2mgr/services"
27         "e2mgr/services/rmrsender"
28         "e2mgr/tests"
29         "fmt"
30         "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common"
31         "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
32         "github.com/stretchr/testify/assert"
33         "github.com/stretchr/testify/mock"
34         "reflect"
35         "testing"
36 )
37
38 func setupTest(t *testing.T) (*logger.Logger, *configuration.Configuration, *mocks.RnibReaderMock, *mocks.RnibWriterMock, services.RNibDataService, *mocks.RmrMessengerMock) {
39         log := initLog(t)
40         config := configuration.ParseConfiguration()
41
42         readerMock := &mocks.RnibReaderMock{}
43
44         writerMock := &mocks.RnibWriterMock{}
45
46         rnibDataService := services.NewRnibDataService(log, config, readerMock, writerMock)
47         rmrMessengerMock := &mocks.RmrMessengerMock{}
48         return log, config, readerMock, writerMock, rnibDataService, rmrMessengerMock
49 }
50
51 func TestHandleBeforeTimerGetListNodebIdsFailedFlow(t *testing.T) {
52         log, config, readerMock, _, rnibDataService, rmrMessengerMock := setupTest(t)
53
54         handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
55
56         rnibErr := &common.ResourceNotFoundError{}
57         var nbIdentityList []*entities.NbIdentity
58         readerMock.On("GetListNodebIds").Return(nbIdentityList, rnibErr)
59
60         expected := &e2managererrors.RnibDbError{}
61         _, actual := handler.Handle(nil)
62         if reflect.TypeOf(actual) != reflect.TypeOf(expected) {
63                 t.Errorf("Error actual = %v, and Expected = %v.", actual, expected)
64         }
65 }
66
67 func TestHandleAfterTimerGetListNodebIdsFailedFlow(t *testing.T) {
68         log, config, readerMock, writerMock, rnibDataService, rmrMessengerMock := setupTest(t)
69
70         config.BigRedButtonTimeoutSec = 1
71
72         handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
73
74         rnibErr := &common.ResourceNotFoundError{}
75         //Before timer: Disconnected->ShutDown, ShuttingDown->Ignore, Connected->ShuttingDown
76         nbIdentityList := createIdentityList()
77
78         readerMock.On("GetListNodebIds").Return(nbIdentityList, nil).Return(nbIdentityList, rnibErr)
79
80         nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_DISCONNECTED,}
81         nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
82         nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
83         readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
84         readerMock.On("GetNodeb", "RanName_2").Return(nb2, nil)
85         readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
86
87         updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
88         updatedNb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
89         writerMock.On("SaveNodeb", mock.Anything, updatedNb1).Return(nil)
90         writerMock.On("SaveNodeb", mock.Anything, updatedNb3).Return(nil)
91
92         expected := &e2managererrors.RnibDbError{}
93         _, actual := handler.Handle(nil)
94
95         if reflect.TypeOf(actual) != reflect.TypeOf(expected) {
96                 t.Errorf("Error actual = %v, and Expected = %v.", actual, expected)
97         }
98 }
99
100 func TestHandleSuccessFlow(t *testing.T) {
101         log, config, readerMock, writerMock, rnibDataService, rmrMessengerMock := setupTest(t)
102
103         config.BigRedButtonTimeoutSec = 1
104         handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
105
106         //Before timer: Disconnected->ShutDown, ShuttingDown->Ignore, Connected->ShuttingDown
107         nbIdentityList := createIdentityList()
108         readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
109
110         nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_DISCONNECTED,}
111         nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
112         nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
113         readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
114         readerMock.On("GetNodeb", "RanName_2").Return(nb2, nil)
115         readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
116
117         updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
118         updatedNb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
119         writerMock.On("SaveNodeb", mock.Anything, updatedNb1).Return(nil)
120         writerMock.On("SaveNodeb", mock.Anything, updatedNb3).Return(nil)
121
122         //after timer: ShutDown->Ignore, ShuttingDown->ShutDown
123         readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
124
125         nb1AfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
126         nb2AfterTimer := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
127         nb3AfterTimer := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
128         readerMock.On("GetNodeb", "RanName_1").Return(nb1AfterTimer, nil)
129         readerMock.On("GetNodeb", "RanName_2").Return(nb2AfterTimer, nil)
130         readerMock.On("GetNodeb", "RanName_3").Return(nb3AfterTimer, nil)
131
132         updatedNb2AfterTimer := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
133         updatedNb3AfterTimer := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
134         writerMock.On("SaveNodeb", mock.Anything, updatedNb2AfterTimer).Return(nil)
135         writerMock.On("SaveNodeb", mock.Anything, updatedNb3AfterTimer).Return(nil)
136
137         mbuf := rmrCgo.NewMBuf(tests.MessageType, tests.MaxMsgSize, "RanName", &tests.DummyPayload, &tests.DummyXAction)
138         rmrMessengerMock.On("SendMsg", mock.AnythingOfType(fmt.Sprintf("%T", mbuf)), true).Return(mbuf, nil)
139
140         _, actual := handler.Handle(nil)
141
142         assert.Nil(t, actual)
143 }
144
145 func TestHandleSuccessGetNextStatusFlow(t *testing.T) {
146         log, config, readerMock, writerMock, rnibDataService, rmrMessengerMock := setupTest(t)
147
148         config.BigRedButtonTimeoutSec = 1
149         handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
150
151         nbIdentityList := []*entities.NbIdentity{{InventoryName: "RanName_1"}}
152         readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
153
154         nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
155         readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
156
157         updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
158         writerMock.On("SaveNodeb", mock.Anything, updatedNb1).Return(nil)
159
160         //after timer: ShutDown->Ignore, ShuttingDown->ShutDown
161         readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
162
163         nb1AfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
164         readerMock.On("GetNodeb", "RanName_1").Return(nb1AfterTimer, nil)
165
166         updatedNb1AfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
167         writerMock.On("SaveNodeb", mock.Anything, updatedNb1AfterTimer).Return(nil)
168
169         mbuf := rmrCgo.NewMBuf(tests.MessageType, tests.MaxMsgSize, "RanName", &tests.DummyPayload, &tests.DummyXAction)
170         rmrMessengerMock.On("SendMsg", mock.AnythingOfType(fmt.Sprintf("%T", mbuf)), true).Return(mbuf, nil)
171
172         _, actual := handler.Handle(nil)
173
174         assert.Nil(t, actual)
175 }
176
177 func TestHandleShuttingDownStatusFlow(t *testing.T) {
178         log, config, readerMock, writerMock, rnibDataService, rmrMessengerMock := setupTest(t)
179
180         config.BigRedButtonTimeoutSec = 1
181         handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
182
183         nbIdentityList := []*entities.NbIdentity{{InventoryName: "RanName_1"}}
184         readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
185
186         nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
187         readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
188
189         //after timer: ShutDown->Ignore, ShuttingDown->ShutDown
190         readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
191
192         nb1AfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
193         readerMock.On("GetNodeb", "RanName_1").Return(nb1AfterTimer, nil)
194
195         updatedNb1AfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
196         writerMock.On("SaveNodeb", mock.Anything, updatedNb1AfterTimer).Return(nil)
197
198         mbuf := rmrCgo.NewMBuf(tests.MessageType, tests.MaxMsgSize, "RanName", &tests.DummyPayload, &tests.DummyXAction)
199         rmrMessengerMock.On("SendMsg", mock.AnythingOfType(fmt.Sprintf("%T", mbuf)), true).Return(mbuf, nil)
200
201         _, actual := handler.Handle(nil)
202
203         assert.Nil(t, actual)
204 }
205
206 func TestHandleGetNodebFailedFlow(t *testing.T) {
207         log, config, readerMock, writerMock, rnibDataService, rmrMessengerMock := setupTest(t)
208
209         config.BigRedButtonTimeoutSec = 1
210         handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
211
212         //Before timer: Disconnected->ShutDown(will fail), ShuttingDown->Ignore, Connected->ShuttingDown
213         nbIdentityList := createIdentityList()
214         readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
215
216         errRnib := &common.ResourceNotFoundError{}
217         nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_DISCONNECTED,}
218         nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
219         nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
220         readerMock.On("GetNodeb", "RanName_1").Return(nb1, errRnib)
221         readerMock.On("GetNodeb", "RanName_2").Return(nb2, nil)
222         readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
223
224         updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
225         updatedNb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
226         writerMock.On("SaveNodeb", mock.Anything, updatedNb1).Return(errRnib)
227         writerMock.On("SaveNodeb", mock.Anything, updatedNb3).Return(nil)
228
229         //after timer: ShutDown->Ignore, ShuttingDown->ShutDown
230         readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
231
232         nb1AfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
233         nb2AfterTimer := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
234         nb3AfterTimer := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
235         readerMock.On("GetNodeb", "RanName_1").Return(nb1AfterTimer, errRnib)
236         readerMock.On("GetNodeb", "RanName_2").Return(nb2AfterTimer, nil)
237         readerMock.On("GetNodeb", "RanName_3").Return(nb3AfterTimer, nil)
238
239         updatedNb2AfterTimer := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
240         updatedNb3AfterTimer := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
241         writerMock.On("SaveNodeb", mock.Anything, updatedNb2AfterTimer).Return(nil)
242         writerMock.On("SaveNodeb", mock.Anything, updatedNb3AfterTimer).Return(nil)
243
244         mbuf := rmrCgo.NewMBuf(tests.MessageType, tests.MaxMsgSize, "RanName", &tests.DummyPayload, &tests.DummyXAction)
245         rmrMessengerMock.On("SendMsg", mock.AnythingOfType(fmt.Sprintf("%T", mbuf)), true).Return(mbuf, nil)
246
247         _, actual := handler.Handle(nil)
248
249         assert.Nil(t, actual)
250 }
251
252 func TestHandleSaveFailedFlow(t *testing.T) {
253         log, config, readerMock, writerMock, rnibDataService, rmrMessengerMock := setupTest(t)
254
255         config.BigRedButtonTimeoutSec = 1
256         handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
257
258         //Before timer: Disconnected->ShutDown, ShuttingDown->Ignore, Connected->ShuttingDown(will fail)
259         nbIdentityList := createIdentityList()
260         readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
261
262         nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_DISCONNECTED,}
263         nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
264         nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
265         readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
266         readerMock.On("GetNodeb", "RanName_2").Return(nb2, nil)
267         readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
268
269         errRnib := &common.ResourceNotFoundError{}
270         updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
271         updatedNb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
272         writerMock.On("SaveNodeb", mock.Anything, updatedNb1).Return(nil)
273         writerMock.On("SaveNodeb", mock.Anything, updatedNb3).Return(errRnib)
274
275         //after timer: ShutDown->Ignore, ShuttingDown->ShutDown(will fail)
276         readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
277
278         nb1AfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
279         nb2AfterTimer := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
280         nb3AfterTimer := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
281         readerMock.On("GetNodeb", "RanName_1").Return(nb1AfterTimer, nil)
282         readerMock.On("GetNodeb", "RanName_2").Return(nb2AfterTimer, nil)
283         readerMock.On("GetNodeb", "RanName_3").Return(nb3AfterTimer, nil)
284
285         updatedNb2AfterTimer := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
286         updatedNb3AfterTimer := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
287         writerMock.On("SaveNodeb", mock.Anything, updatedNb2AfterTimer).Return(nil)
288         writerMock.On("SaveNodeb", mock.Anything, updatedNb3AfterTimer).Return(errRnib)
289
290         mbuf := rmrCgo.NewMBuf(tests.MessageType, tests.MaxMsgSize, "RanName", &tests.DummyPayload, &tests.DummyXAction)
291         rmrMessengerMock.On("SendMsg", mock.AnythingOfType(fmt.Sprintf("%T", mbuf)), true).Return(mbuf, nil)
292
293         _, actual := handler.Handle(nil)
294
295         assert.Nil(t, actual)
296 }
297
298 func TestHandleSendRmrFailedFlow(t *testing.T) {
299         log, config, readerMock, writerMock, rnibDataService, rmrMessengerMock := setupTest(t)
300
301         config.BigRedButtonTimeoutSec = 1
302         handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
303
304         //Before timer: Disconnected->ShutDown, ShuttingDown->Ignore, Connected->ShuttingDown(will fail)
305         nbIdentityList := createIdentityList()
306         readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
307
308         nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_DISCONNECTED,}
309         nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
310         nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
311         readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
312         readerMock.On("GetNodeb", "RanName_2").Return(nb2, nil)
313         readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
314
315         updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
316         updatedNb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
317         writerMock.On("SaveNodeb", mock.Anything, updatedNb1).Return(nil)
318         writerMock.On("SaveNodeb", mock.Anything, updatedNb3).Return(nil)
319
320         //after timer: ShutDown->Ignore, ShuttingDown->ShutDown(will fail)
321         readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
322
323         nb1AfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
324         nb2AfterTimer := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
325         nb3AfterTimer := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
326         readerMock.On("GetNodeb", "RanName_1").Return(nb1AfterTimer, nil)
327         readerMock.On("GetNodeb", "RanName_2").Return(nb2AfterTimer, nil)
328         readerMock.On("GetNodeb", "RanName_3").Return(nb3AfterTimer, nil)
329
330         updatedNb2AfterTimer := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
331         updatedNb3AfterTimer := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
332         writerMock.On("SaveNodeb", mock.Anything, updatedNb2AfterTimer).Return(nil)
333         writerMock.On("SaveNodeb", mock.Anything, updatedNb3AfterTimer).Return(nil)
334
335         expected := e2managererrors.NewRmrError()
336         mbuf := rmrCgo.NewMBuf(tests.MessageType, tests.MaxMsgSize, "RanName", &tests.DummyPayload, &tests.DummyXAction)
337         rmrMessengerMock.On("SendMsg", mock.AnythingOfType(fmt.Sprintf("%T", mbuf)), true).Return(mbuf, expected)
338
339         _, actual := handler.Handle(nil)
340
341         if reflect.TypeOf(actual) != reflect.TypeOf(expected) {
342                 t.Errorf("Error actual = %v, and Expected = %v.", actual, expected)
343         }
344 }
345
346 func TestHandleGetListEnbIdsEmptyFlow(t *testing.T) {
347         log, config, readerMock, _, rnibDataService, rmrMessengerMock := setupTest(t)
348
349         handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
350
351         var rnibError error
352         nbIdentityList := []*entities.NbIdentity{}
353
354         readerMock.On("GetListNodebIds").Return(nbIdentityList, rnibError)
355
356         _, actual := handler.Handle(nil)
357         readerMock.AssertNumberOfCalls(t, "GetNodeb", 0)
358         assert.Nil(t, actual)
359 }
360
361 func createIdentityList() []*entities.NbIdentity {
362         nbIdentity1 := entities.NbIdentity{InventoryName: "RanName_1"}
363         nbIdentity2 := entities.NbIdentity{InventoryName: "RanName_2"}
364         nbIdentity3 := entities.NbIdentity{InventoryName: "RanName_3"}
365
366         var nbIdentityList []*entities.NbIdentity
367         nbIdentityList = append(nbIdentityList, &nbIdentity1)
368         nbIdentityList = append(nbIdentityList, &nbIdentity2)
369         nbIdentityList = append(nbIdentityList, &nbIdentity3)
370
371         return nbIdentityList
372 }
373
374 func initLog(t *testing.T) *logger.Logger {
375         log, err := logger.InitLogger(logger.InfoLevel)
376         if err != nil {
377                 t.Errorf("#initLog test - failed to initialize logger, error: %s", err)
378         }
379         return log
380 }
381
382 func getRmrSender(rmrMessengerMock *mocks.RmrMessengerMock, log *logger.Logger) *rmrsender.RmrSender {
383         rmrMessenger := rmrCgo.RmrMessenger(rmrMessengerMock)
384         rmrMessengerMock.On("Init", tests.GetPort(), tests.MaxMsgSize, tests.Flags, log).Return(&rmrMessenger)
385         return rmrsender.NewRmrSender(log, rmrMessenger)
386 }