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 // This source code is part of the near-RT RIC (RAN Intelligent Controller)
18 // platform project (RICP).
21 package httpmsghandlers
25 "e2mgr/e2managererrors"
31 "e2mgr/services/rmrsender"
34 "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common"
35 "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
36 "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader"
37 "github.com/stretchr/testify/assert"
38 "github.com/stretchr/testify/mock"
43 func setupTest(t *testing.T) (*logger.Logger, *configuration.Configuration, *mocks.RnibReaderMock, *mocks.RnibWriterMock, services.RNibDataService, *mocks.RmrMessengerMock) {
45 config := configuration.ParseConfiguration()
47 readerMock := &mocks.RnibReaderMock{}
48 readerProvider := func() reader.RNibReader {
51 writerMock := &mocks.RnibWriterMock{}
52 writerProvider := func() rNibWriter.RNibWriter {
55 rnibDataService := services.NewRnibDataService(log, config, readerProvider, writerProvider)
56 rmrMessengerMock := &mocks.RmrMessengerMock{}
57 return log, config, readerMock, writerMock, rnibDataService, rmrMessengerMock
60 func TestHandleBeforeTimerGetListNodebIdsFailedFlow(t *testing.T) {
61 log, config, readerMock, _, rnibDataService, rmrMessengerMock := setupTest(t)
63 handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
65 rnibErr := &common.ResourceNotFoundError{}
66 var nbIdentityList []*entities.NbIdentity
67 readerMock.On("GetListNodebIds").Return(nbIdentityList, rnibErr)
69 expected := &e2managererrors.RnibDbError{}
70 _, actual := handler.Handle(nil)
71 if reflect.TypeOf(actual) != reflect.TypeOf(expected) {
72 t.Errorf("Error actual = %v, and Expected = %v.", actual, expected)
76 func TestHandleAfterTimerGetListNodebIdsFailedFlow(t *testing.T) {
77 log, config, readerMock, writerMock, rnibDataService, rmrMessengerMock := setupTest(t)
79 config.BigRedButtonTimeoutSec = 1
81 handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
83 rnibErr := &common.ResourceNotFoundError{}
84 //Before timer: Disconnected->ShutDown, ShuttingDown->Ignore, Connected->ShuttingDown
85 nbIdentityList := createIdentityList()
87 readerMock.On("GetListNodebIds").Return(nbIdentityList, nil).Return(nbIdentityList, rnibErr)
89 nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_DISCONNECTED,}
90 nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
91 nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
92 readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
93 readerMock.On("GetNodeb", "RanName_2").Return(nb2, nil)
94 readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
96 updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
97 updatedNb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
98 writerMock.On("SaveNodeb", mock.Anything, updatedNb1).Return(nil)
99 writerMock.On("SaveNodeb", mock.Anything, updatedNb3).Return(nil)
101 expected := &e2managererrors.RnibDbError{}
102 _, actual := handler.Handle(nil)
104 if reflect.TypeOf(actual) != reflect.TypeOf(expected) {
105 t.Errorf("Error actual = %v, and Expected = %v.", actual, expected)
109 func TestHandleSuccessFlow(t *testing.T) {
110 log, config, readerMock, writerMock, rnibDataService, rmrMessengerMock := setupTest(t)
112 config.BigRedButtonTimeoutSec = 1
113 handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
115 //Before timer: Disconnected->ShutDown, ShuttingDown->Ignore, Connected->ShuttingDown
116 nbIdentityList := createIdentityList()
117 readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
119 nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_DISCONNECTED,}
120 nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
121 nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
122 readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
123 readerMock.On("GetNodeb", "RanName_2").Return(nb2, nil)
124 readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
126 updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
127 updatedNb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
128 writerMock.On("SaveNodeb", mock.Anything, updatedNb1).Return(nil)
129 writerMock.On("SaveNodeb", mock.Anything, updatedNb3).Return(nil)
131 //after timer: ShutDown->Ignore, ShuttingDown->ShutDown
132 readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
134 nb1AfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
135 nb2AfterTimer := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
136 nb3AfterTimer := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
137 readerMock.On("GetNodeb", "RanName_1").Return(nb1AfterTimer, nil)
138 readerMock.On("GetNodeb", "RanName_2").Return(nb2AfterTimer, nil)
139 readerMock.On("GetNodeb", "RanName_3").Return(nb3AfterTimer, nil)
141 updatedNb2AfterTimer := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
142 updatedNb3AfterTimer := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
143 writerMock.On("SaveNodeb", mock.Anything, updatedNb2AfterTimer).Return(nil)
144 writerMock.On("SaveNodeb", mock.Anything, updatedNb3AfterTimer).Return(nil)
146 mbuf := rmrCgo.NewMBuf(tests.MessageType, tests.MaxMsgSize, "RanName", &tests.DummyPayload, &tests.DummyXAction)
147 rmrMessengerMock.On("SendMsg", mock.AnythingOfType(fmt.Sprintf("%T", mbuf))).Return(mbuf, nil)
149 _, actual := handler.Handle(nil)
151 assert.Nil(t, actual)
154 func TestHandleSuccessGetNextStatusFlow(t *testing.T) {
155 log, config, readerMock, writerMock, rnibDataService, rmrMessengerMock := setupTest(t)
157 config.BigRedButtonTimeoutSec = 1
158 handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
160 nbIdentityList := []*entities.NbIdentity{{InventoryName: "RanName_1"}}
161 readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
163 nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
164 readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
166 updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
167 writerMock.On("SaveNodeb", mock.Anything, updatedNb1).Return(nil)
169 //after timer: ShutDown->Ignore, ShuttingDown->ShutDown
170 readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
172 nb1AfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
173 readerMock.On("GetNodeb", "RanName_1").Return(nb1AfterTimer, nil)
175 updatedNb1AfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
176 writerMock.On("SaveNodeb", mock.Anything, updatedNb1AfterTimer).Return(nil)
178 mbuf := rmrCgo.NewMBuf(tests.MessageType, tests.MaxMsgSize, "RanName", &tests.DummyPayload, &tests.DummyXAction)
179 rmrMessengerMock.On("SendMsg", mock.AnythingOfType(fmt.Sprintf("%T", mbuf))).Return(mbuf, nil)
181 _, actual := handler.Handle(nil)
183 assert.Nil(t, actual)
186 func TestHandleShuttingDownStatusFlow(t *testing.T) {
187 log, config, readerMock, writerMock, rnibDataService, rmrMessengerMock := setupTest(t)
189 config.BigRedButtonTimeoutSec = 1
190 handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
192 nbIdentityList := []*entities.NbIdentity{{InventoryName: "RanName_1"}}
193 readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
195 nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
196 readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
198 //after timer: ShutDown->Ignore, ShuttingDown->ShutDown
199 readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
201 nb1AfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
202 readerMock.On("GetNodeb", "RanName_1").Return(nb1AfterTimer, nil)
204 updatedNb1AfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
205 writerMock.On("SaveNodeb", mock.Anything, updatedNb1AfterTimer).Return(nil)
207 mbuf := rmrCgo.NewMBuf(tests.MessageType, tests.MaxMsgSize, "RanName", &tests.DummyPayload, &tests.DummyXAction)
208 rmrMessengerMock.On("SendMsg", mock.AnythingOfType(fmt.Sprintf("%T", mbuf))).Return(mbuf, nil)
210 _, actual := handler.Handle(nil)
212 assert.Nil(t, actual)
215 func TestHandleGetNodebFailedFlow(t *testing.T) {
216 log, config, readerMock, writerMock, rnibDataService, rmrMessengerMock := setupTest(t)
218 config.BigRedButtonTimeoutSec = 1
219 handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
221 //Before timer: Disconnected->ShutDown(will fail), ShuttingDown->Ignore, Connected->ShuttingDown
222 nbIdentityList := createIdentityList()
223 readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
225 errRnib := &common.ResourceNotFoundError{}
226 nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_DISCONNECTED,}
227 nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
228 nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
229 readerMock.On("GetNodeb", "RanName_1").Return(nb1, errRnib)
230 readerMock.On("GetNodeb", "RanName_2").Return(nb2, nil)
231 readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
233 updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
234 updatedNb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
235 writerMock.On("SaveNodeb", mock.Anything, updatedNb1).Return(errRnib)
236 writerMock.On("SaveNodeb", mock.Anything, updatedNb3).Return(nil)
238 //after timer: ShutDown->Ignore, ShuttingDown->ShutDown
239 readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
241 nb1AfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
242 nb2AfterTimer := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
243 nb3AfterTimer := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
244 readerMock.On("GetNodeb", "RanName_1").Return(nb1AfterTimer, errRnib)
245 readerMock.On("GetNodeb", "RanName_2").Return(nb2AfterTimer, nil)
246 readerMock.On("GetNodeb", "RanName_3").Return(nb3AfterTimer, nil)
248 updatedNb2AfterTimer := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
249 updatedNb3AfterTimer := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
250 writerMock.On("SaveNodeb", mock.Anything, updatedNb2AfterTimer).Return(nil)
251 writerMock.On("SaveNodeb", mock.Anything, updatedNb3AfterTimer).Return(nil)
253 mbuf := rmrCgo.NewMBuf(tests.MessageType, tests.MaxMsgSize, "RanName", &tests.DummyPayload, &tests.DummyXAction)
254 rmrMessengerMock.On("SendMsg", mock.AnythingOfType(fmt.Sprintf("%T", mbuf))).Return(mbuf, nil)
256 _, actual := handler.Handle(nil)
258 assert.Nil(t, actual)
261 func TestHandleSaveFailedFlow(t *testing.T) {
262 log, config, readerMock, writerMock, rnibDataService, rmrMessengerMock := setupTest(t)
264 config.BigRedButtonTimeoutSec = 1
265 handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
267 //Before timer: Disconnected->ShutDown, ShuttingDown->Ignore, Connected->ShuttingDown(will fail)
268 nbIdentityList := createIdentityList()
269 readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
271 nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_DISCONNECTED,}
272 nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
273 nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
274 readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
275 readerMock.On("GetNodeb", "RanName_2").Return(nb2, nil)
276 readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
278 errRnib := &common.ResourceNotFoundError{}
279 updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
280 updatedNb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
281 writerMock.On("SaveNodeb", mock.Anything, updatedNb1).Return(nil)
282 writerMock.On("SaveNodeb", mock.Anything, updatedNb3).Return(errRnib)
284 //after timer: ShutDown->Ignore, ShuttingDown->ShutDown(will fail)
285 readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
287 nb1AfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
288 nb2AfterTimer := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
289 nb3AfterTimer := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
290 readerMock.On("GetNodeb", "RanName_1").Return(nb1AfterTimer, nil)
291 readerMock.On("GetNodeb", "RanName_2").Return(nb2AfterTimer, nil)
292 readerMock.On("GetNodeb", "RanName_3").Return(nb3AfterTimer, nil)
294 updatedNb2AfterTimer := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
295 updatedNb3AfterTimer := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
296 writerMock.On("SaveNodeb", mock.Anything, updatedNb2AfterTimer).Return(nil)
297 writerMock.On("SaveNodeb", mock.Anything, updatedNb3AfterTimer).Return(errRnib)
299 mbuf := rmrCgo.NewMBuf(tests.MessageType, tests.MaxMsgSize, "RanName", &tests.DummyPayload, &tests.DummyXAction)
300 rmrMessengerMock.On("SendMsg", mock.AnythingOfType(fmt.Sprintf("%T", mbuf))).Return(mbuf, nil)
302 _, actual := handler.Handle(nil)
304 assert.Nil(t, actual)
307 func TestHandleSendRmrFailedFlow(t *testing.T) {
308 log, config, readerMock, writerMock, rnibDataService, rmrMessengerMock := setupTest(t)
310 config.BigRedButtonTimeoutSec = 1
311 handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
313 //Before timer: Disconnected->ShutDown, ShuttingDown->Ignore, Connected->ShuttingDown(will fail)
314 nbIdentityList := createIdentityList()
315 readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
317 nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_DISCONNECTED,}
318 nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
319 nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED,}
320 readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
321 readerMock.On("GetNodeb", "RanName_2").Return(nb2, nil)
322 readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
324 updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
325 updatedNb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
326 writerMock.On("SaveNodeb", mock.Anything, updatedNb1).Return(nil)
327 writerMock.On("SaveNodeb", mock.Anything, updatedNb3).Return(nil)
329 //after timer: ShutDown->Ignore, ShuttingDown->ShutDown(will fail)
330 readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
332 nb1AfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
333 nb2AfterTimer := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
334 nb3AfterTimer := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
335 readerMock.On("GetNodeb", "RanName_1").Return(nb1AfterTimer, nil)
336 readerMock.On("GetNodeb", "RanName_2").Return(nb2AfterTimer, nil)
337 readerMock.On("GetNodeb", "RanName_3").Return(nb3AfterTimer, nil)
339 updatedNb2AfterTimer := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
340 updatedNb3AfterTimer := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
341 writerMock.On("SaveNodeb", mock.Anything, updatedNb2AfterTimer).Return(nil)
342 writerMock.On("SaveNodeb", mock.Anything, updatedNb3AfterTimer).Return(nil)
344 expected := e2managererrors.NewRmrError()
345 mbuf := rmrCgo.NewMBuf(tests.MessageType, tests.MaxMsgSize, "RanName", &tests.DummyPayload, &tests.DummyXAction)
346 rmrMessengerMock.On("SendMsg", mock.AnythingOfType(fmt.Sprintf("%T", mbuf))).Return(mbuf, expected)
348 _, actual := handler.Handle(nil)
350 if reflect.TypeOf(actual) != reflect.TypeOf(expected) {
351 t.Errorf("Error actual = %v, and Expected = %v.", actual, expected)
355 func TestHandleGetListEnbIdsEmptyFlow(t *testing.T) {
356 log, config, readerMock, _, rnibDataService, rmrMessengerMock := setupTest(t)
358 handler := NewDeleteAllRequestHandler(log, getRmrSender(rmrMessengerMock, log), config, rnibDataService)
361 nbIdentityList := []*entities.NbIdentity{}
363 readerMock.On("GetListNodebIds").Return(nbIdentityList, rnibError)
365 _, actual := handler.Handle(nil)
366 readerMock.AssertNumberOfCalls(t, "GetNodeb", 0)
367 assert.Nil(t, actual)
370 func createIdentityList() []*entities.NbIdentity {
371 nbIdentity1 := entities.NbIdentity{InventoryName: "RanName_1"}
372 nbIdentity2 := entities.NbIdentity{InventoryName: "RanName_2"}
373 nbIdentity3 := entities.NbIdentity{InventoryName: "RanName_3"}
375 var nbIdentityList []*entities.NbIdentity
376 nbIdentityList = append(nbIdentityList, &nbIdentity1)
377 nbIdentityList = append(nbIdentityList, &nbIdentity2)
378 nbIdentityList = append(nbIdentityList, &nbIdentity3)
380 return nbIdentityList
383 func initLog(t *testing.T) *logger.Logger {
384 log, err := logger.InitLogger(logger.InfoLevel)
386 t.Errorf("#initLog test - failed to initialize logger, error: %s", err)
391 func getRmrSender(rmrMessengerMock *mocks.RmrMessengerMock, log *logger.Logger) *rmrsender.RmrSender {
392 rmrMessenger := rmrCgo.RmrMessenger(rmrMessengerMock)
393 rmrMessengerMock.On("Init", tests.GetPort(), tests.MaxMsgSize, tests.Flags, log).Return(&rmrMessenger)
394 return rmrsender.NewRmrSender(log, &rmrMessenger)