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.
22 "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common"
23 "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
24 "github.com/golang/protobuf/proto"
25 "github.com/stretchr/testify/assert"
30 var namespace = "namespace"
32 func TestInit(t *testing.T) {
35 assert.NotNil(t, readerPool)
36 assert.NotNil(t, readerPool.New)
37 assert.NotNil(t, readerPool.Destroy)
38 available, created := readerPool.Stats()
39 assert.Equal(t, 0, available, "number of available objects in the readerPool should be 0")
40 assert.Equal(t, 0, created, "number of created objects in the readerPool should be 0")
43 func TestInitPool(t *testing.T) {
45 sdlInstanceMock := new(MockSdlInstance)
46 initPool(1, func() interface{} {
47 sdlI := common.ISdlInstance(sdlInstanceMock)
48 return &rNibReaderInstance{sdl: &sdlI, namespace: namespace}
50 func(obj interface{}) {
53 assert.NotNil(t, readerPool)
54 assert.NotNil(t, readerPool.New)
55 assert.NotNil(t, readerPool.Destroy)
56 available, created := readerPool.Stats()
57 assert.Equal(t, 0, available, "number of available objects in the readerPool should be 0")
58 assert.Equal(t, 0, created, "number of created objects in the readerPool should be 0")
61 func initSdlInstanceMock(namespace string, poolSize int) *MockSdlInstance {
62 sdlInstanceMock := new(MockSdlInstance)
63 initPool(poolSize, func() interface{} {
64 sdlI := common.ISdlInstance(sdlInstanceMock)
65 return &rNibReaderInstance{sdl: &sdlI, namespace: namespace}
67 func(obj interface{}) {
70 return sdlInstanceMock
73 func TestGetNodeB(t *testing.T) {
76 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
78 nb := entities.NodebInfo{}
79 nb.ConnectionStatus = 1
83 cell := entities.ServedCellInfo{Tac: "tac"}
84 enb.ServedCells = []*entities.ServedCellInfo{&cell}
85 nb.Configuration = &entities.NodebInfo_Enb{Enb: &enb}
87 data, err := proto.Marshal(&nb)
89 t.Errorf("#rNibReader_test.TestGetNb - Failed to marshal ENB instance. Error: %v", err)
91 redisKey, rNibErr := common.ValidateAndBuildNodeBNameKey(name)
93 t.Errorf("#rNibReader_test.TestGetNodeB - failed to validate key parameter")
95 ret := map[string]interface{}{redisKey: string(data)}
96 sdlInstanceMock.On("Get", []string{redisKey}).Return(ret, e)
97 getNb, er := w.GetNodeb(name)
99 assert.Equal(t, getNb.Ip, nb.Ip)
100 assert.Equal(t, getNb.Port, nb.Port)
101 assert.Equal(t, getNb.ConnectionStatus, nb.ConnectionStatus)
102 assert.Len(t, getNb.GetEnb().GetServedCells(), 1)
103 assert.Equal(t, getNb.GetEnb().GetServedCells()[0].Tac, nb.GetEnb().GetServedCells()[0].Tac)
106 func TestGetNodeBNotFoundFailure(t *testing.T) {
109 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
112 var ret map[string]interface{}
113 redisKey, rNibErr := common.ValidateAndBuildNodeBNameKey(name)
115 t.Errorf("#rNibReader_test.TestGetNodeBNotFoundFailure - failed to validate key parameter")
117 sdlInstanceMock.On("Get", []string{redisKey}).Return(ret, e)
118 getNb, er := w.GetNodeb(name)
121 assert.Equal(t, 1, er.GetCode())
122 assert.EqualValues(t, "1 RESOURCE_NOT_FOUND - #rNibReader.getNodeb - responding node not found. Key: RAN:name", er.Error())
125 func TestGetNodeBUnmarshalFailure(t *testing.T) {
128 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
131 ret := make(map[string]interface{}, 1)
132 redisKey, rNibErr := common.ValidateAndBuildNodeBNameKey(name)
134 t.Errorf("#rNibReader_test.TestGetNodeBUnmarshalFailure - failed to validate key parameter")
136 ret[redisKey] = "data"
137 sdlInstanceMock.On("Get", []string{redisKey}).Return(ret, e)
138 getNb, er := w.GetNodeb(name)
141 assert.Equal(t, 2, er.GetCode())
142 assert.EqualValues(t, "2 INTERNAL_ERROR - proto: can't skip unknown wire type 4", er.Error())
145 func TestGetNodeBSdlgoFailure(t *testing.T) {
147 errMsg := "expected Sdlgo error"
148 errMsgExpected := "2 INTERNAL_ERROR - expected Sdlgo error"
150 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
152 e := errors.New(errMsg)
153 var ret map[string]interface{}
154 redisKey, rNibErr := common.ValidateAndBuildNodeBNameKey(name)
156 t.Errorf("#rNibReader_test.TestGetNodeBSdlgoFailure - failed to validate key parameter")
158 sdlInstanceMock.On("Get", []string{redisKey}).Return(ret, e)
159 getNb, er := w.GetNodeb(name)
162 assert.Equal(t, 2, er.GetCode())
163 assert.EqualValues(t, errMsgExpected, er.Error())
166 func TestGetNodeBCellsListEnb(t *testing.T) {
169 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
171 nb := entities.NodebInfo{}
172 nb.ConnectionStatus = 1
175 enb := entities.Enb{}
176 cell := entities.ServedCellInfo{Tac: "tac"}
177 enb.ServedCells = []*entities.ServedCellInfo{&cell}
178 nb.Configuration = &entities.NodebInfo_Enb{Enb: &enb}
180 data, err := proto.Marshal(&nb)
182 t.Errorf("#rNibReader_test.GetNodeBCellsList - Failed to marshal ENB instance. Error: %v", err)
184 redisKey, rNibErr := common.ValidateAndBuildNodeBNameKey(name)
186 t.Errorf("#rNibReader_test.TestGetNodeBCellsListEnb - failed to validate key parameter")
188 ret := map[string]interface{}{redisKey: string(data)}
189 sdlInstanceMock.On("Get", []string{redisKey}).Return(ret, e)
190 cells, er := w.GetCellList(name)
192 assert.NotNil(t, cells)
193 assert.Len(t, cells.GetServedCellInfos().GetServedCells(), 1)
194 retCell := cells.GetServedCellInfos().GetServedCells()[0]
195 assert.Equal(t, retCell.Tac, "tac")
198 func TestGetNodeBCellsListGnb(t *testing.T) {
201 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
203 nb := entities.NodebInfo{}
204 nb.ConnectionStatus = 1
207 nb.NodeType = entities.Node_GNB
208 gnb := entities.Gnb{}
209 cell := entities.ServedNRCell{ServedNrCellInformation: &entities.ServedNRCellInformation{NrPci: 10}}
210 gnb.ServedNrCells = []*entities.ServedNRCell{&cell}
211 nb.Configuration = &entities.NodebInfo_Gnb{Gnb: &gnb}
213 data, err := proto.Marshal(&nb)
215 t.Errorf("#rNibReader_test.GetNodeBCellsList - Failed to marshal GNB instance. Error: %v", err)
217 redisKey, rNibErr := common.ValidateAndBuildNodeBNameKey(name)
219 t.Errorf("#rNibReader_test.TestGetNodeBCellsListGnb - failed to validate key parameter")
221 ret := map[string]interface{}{redisKey: string(data)}
222 sdlInstanceMock.On("Get", []string{redisKey}).Return(ret, e)
223 cells, er := w.GetCellList(name)
225 assert.NotNil(t, cells)
226 assert.Len(t, cells.GetServedNrCells().GetServedCells(), 1)
227 retCell := cells.GetServedNrCells().GetServedCells()[0]
228 assert.Equal(t, retCell.GetServedNrCellInformation().GetNrPci(), uint32(10))
231 func TestGetNodeBCellsListNodeUnmarshalFailure(t *testing.T) {
234 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
237 ret := make(map[string]interface{}, 1)
238 redisKey, rNibErr := common.ValidateAndBuildNodeBNameKey(name)
240 t.Errorf("#rNibReader_test.TestGetNodeBCellsListNodeUnmarshalFailure - failed to validate key parameter")
242 ret[redisKey] = "data"
243 sdlInstanceMock.On("Get", []string{redisKey}).Return(ret, e)
244 cells, er := w.GetCellList(name)
247 assert.Equal(t, 2, er.GetCode())
248 assert.EqualValues(t, "2 INTERNAL_ERROR - proto: can't skip unknown wire type 4", er.Error())
251 func TestGetNodeBCellsListNodeNotFoundFailure(t *testing.T) {
254 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
257 var ret map[string]interface{}
258 redisKey, rNibErr := common.ValidateAndBuildNodeBNameKey(name)
260 t.Errorf("#rNibReader_test.TestGetNodeBCellsListNodeNotFoundFailure - failed to validate key parameter")
262 sdlInstanceMock.On("Get", []string{redisKey}).Return(ret, e)
263 cells, er := w.GetCellList(name)
266 assert.Equal(t, 1, er.GetCode())
267 assert.EqualValues(t, "1 RESOURCE_NOT_FOUND - #rNibReader.getNodeb - responding node not found. Key: RAN:name", er.Error())
270 func TestGetNodeBCellsListNotFoundFailureEnb(t *testing.T) {
273 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
275 nb := entities.NodebInfo{}
276 nb.ConnectionStatus = 1
279 enb := entities.Enb{}
280 nb.Configuration = &entities.NodebInfo_Enb{Enb: &enb}
282 data, err := proto.Marshal(&nb)
284 t.Errorf("#rNibReader_test.TestGetNbCellsListNotFoundFailure - Failed to marshal ENB instance. Error: %v", err)
286 redisKey, rNibErr := common.ValidateAndBuildNodeBNameKey(name)
288 t.Errorf("#rNibReader_test.TestGetNodeBCellsListNotFoundFailureEnb - failed to validate key parameter")
290 ret := map[string]interface{}{redisKey: string(data)}
291 sdlInstanceMock.On("Get", []string{redisKey}).Return(ret, e)
292 _, er := w.GetCellList(name)
294 assert.EqualValues(t, "1 RESOURCE_NOT_FOUND - #rNibReader.GetCellList - served cells not found. Responding node RAN name: name.", er.Error())
297 func TestGetNodeBCellsListNotFoundFailureGnb(t *testing.T) {
300 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
302 nb := entities.NodebInfo{}
303 nb.ConnectionStatus = 1
306 gnb := entities.Gnb{}
307 nb.Configuration = &entities.NodebInfo_Gnb{Gnb: &gnb}
309 data, err := proto.Marshal(&nb)
311 t.Errorf("#rNibReader_test.TestGetNodeBCellsListNotFoundFailureGnb - Failed to marshal ENB instance. Error: %v", err)
313 redisKey, rNibErr := common.ValidateAndBuildNodeBNameKey(name)
315 t.Errorf("#rNibReader_test.TestGetNodeBCellsListNotFoundFailureGnb - failed to validate key parameter")
317 ret := map[string]interface{}{redisKey: string(data)}
318 sdlInstanceMock.On("Get", []string{redisKey}).Return(ret, e)
319 _, er := w.GetCellList(name)
321 assert.EqualValues(t, "1 RESOURCE_NOT_FOUND - #rNibReader.GetCellList - served cells not found. Responding node RAN name: name.", er.Error())
324 func TestCloseOnClosedPoolFailure(t *testing.T) {
326 instanceMock := initSdlInstanceMock(namespace, 1)
327 w1 := GetRNibReader()
329 available, created := readerPool.Stats()
330 assert.Equal(t, 1, available, "number of available objects in the readerPool should be 1")
331 assert.Equal(t, 1, created, "number of created objects in the readerPool should be 1")
333 instanceMock.On("Close").Return(e)
335 assert.Panics(t, func() { Close() })
338 func TestCloseFailure(t *testing.T) {
340 instanceMock := initSdlInstanceMock(namespace, 2)
341 w1 := GetRNibReader()
343 available, created := readerPool.Stats()
344 assert.Equal(t, 1, available, "number of available objects in the readerPool should be 1")
345 assert.Equal(t, 1, created, "number of created objects in the readerPool should be 1")
346 e := errors.New("expected error")
347 instanceMock.On("Close").Return(e)
349 available, created = readerPool.Stats()
350 assert.Equal(t, 0, available, "number of available objects in the readerPool should be 0")
351 assert.Equal(t, 0, created, "number of created objects in the readerPool should be 0")
354 func TestGetListGnbIdsUnmarshalFailure(t *testing.T) {
356 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
359 sdlInstanceMock.On("GetMembers", entities.Node_GNB.String()).Return([]string{"data"}, e)
360 ids, er := w.GetListGnbIds()
363 assert.Equal(t, 2, er.GetCode())
364 assert.Equal(t, "2 INTERNAL_ERROR - proto: can't skip unknown wire type 4", er.Error())
367 func TestGetListGnbIdsSdlgoFailure(t *testing.T) {
368 errMsg := "expected Sdlgo error"
369 errMsgExpected := "2 INTERNAL_ERROR - expected Sdlgo error"
371 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
373 e := errors.New(errMsg)
375 sdlInstanceMock.On("GetMembers", entities.Node_GNB.String()).Return(data, e)
376 ids, er := w.GetListGnbIds()
379 assert.Equal(t, 2, er.GetCode())
380 assert.EqualValues(t, errMsgExpected, er.Error())
383 func TestGetListNodesIdsGnbSdlgoFailure(t *testing.T) {
386 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
392 nbIdentity := &entities.NbIdentity{InventoryName: name, GlobalNbId: &entities.GlobalNbId{PlmnId: plmnId, NbId: nbId}}
394 data, err := proto.Marshal(nbIdentity)
396 t.Errorf("#rNibReader_test.TestGetListNodesIdsGnbSdlgoFailure - Failed to marshal nodeb identity entity. Error: %v", err)
398 sdlInstanceMock.On("GetMembers", entities.Node_ENB.String()).Return([]string{string(data)}, nilError)
400 errMsg := "expected Sdlgo error"
401 errMsgExpected := "2 INTERNAL_ERROR - expected Sdlgo error"
402 expectedError := errors.New(errMsg)
404 sdlInstanceMock.On("GetMembers", entities.Node_GNB.String()).Return(nilData, expectedError)
406 ids, er := w.GetListNodebIds()
409 assert.Equal(t, 2, er.GetCode())
410 assert.EqualValues(t, errMsgExpected, er.Error())
413 func TestGetListNodesIdsEnbSdlgoFailure(t *testing.T) {
416 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
422 nbIdentity := &entities.NbIdentity{InventoryName: name, GlobalNbId: &entities.GlobalNbId{PlmnId: plmnId, NbId: nbId}}
424 data, err := proto.Marshal(nbIdentity)
426 t.Errorf("#rNibReader_test.TestGetListNodesIdsEnbSdlgoFailure - Failed to marshal nodeb identity entity. Error: %v", err)
428 sdlInstanceMock.On("GetMembers", entities.Node_GNB.String()).Return([]string{string(data)}, nilError)
430 errMsg := "expected Sdlgo error"
431 errMsgExpected := "2 INTERNAL_ERROR - expected Sdlgo error"
432 expectedError := errors.New(errMsg)
434 sdlInstanceMock.On("GetMembers", entities.Node_ENB.String()).Return(nilData, expectedError)
436 ids, er := w.GetListNodebIds()
439 assert.Equal(t, 2, er.GetCode())
440 assert.EqualValues(t, errMsgExpected, er.Error())
443 func TestGetListNodesIdsSuccess(t *testing.T) {
446 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
453 nbIdentity := &entities.NbIdentity{InventoryName: name, GlobalNbId: &entities.GlobalNbId{PlmnId: plmnId, NbId: nbId}}
454 data, err := proto.Marshal(nbIdentity)
456 t.Errorf("#rNibReader_test.TestGetListNodesIdsSuccess - Failed to marshal nodeb identity entity. Error: %v", err)
462 nbIdentity1 := &entities.NbIdentity{InventoryName: name1, GlobalNbId: &entities.GlobalNbId{PlmnId: plmnId1, NbId: nbId1}}
463 data1, err := proto.Marshal(nbIdentity1)
465 t.Errorf("#rNibReader_test.TestGetListNodesIdsSuccess - Failed to marshal nodeb identity entity. Error: %v", err)
469 nbIdentity2 := &entities.NbIdentity{InventoryName: name2}
470 data2, err := proto.Marshal(nbIdentity2)
472 t.Errorf("#rNibReader_test.TestGetListNodesIdsSuccess - Failed to marshal nodeb identity entity. Error: %v", err)
475 sdlInstanceMock.On("GetMembers", entities.Node_GNB.String()).Return([]string{string(data)}, nilError)
476 sdlInstanceMock.On("GetMembers", entities.Node_ENB.String()).Return([]string{string(data1)}, nilError)
477 sdlInstanceMock.On("GetMembers", entities.Node_UNKNOWN.String()).Return([]string{string(data2)}, nilError)
479 ids, er := w.GetListNodebIds()
481 assert.NotNil(t, ids)
482 assert.Len(t, ids, 3)
485 func TestGetListEnbIdsUnmarshalFailure(t *testing.T) {
487 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
490 sdlInstanceMock.On("GetMembers", entities.Node_ENB.String()).Return([]string{"data"}, e)
491 ids, er := w.GetListEnbIds()
494 assert.Equal(t, 2, er.GetCode())
495 assert.Equal(t, "2 INTERNAL_ERROR - proto: can't skip unknown wire type 4", er.Error())
498 func TestGetListEnbIdsOneId(t *testing.T) {
503 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
505 nbIdentity := &entities.NbIdentity{InventoryName: name, GlobalNbId: &entities.GlobalNbId{PlmnId: plmnId, NbId: nbId}}
507 data, err := proto.Marshal(nbIdentity)
509 t.Errorf("#rNibReader_test.TestGetListEnbIds - Failed to marshal nodeb identity entity. Error: %v", err)
511 sdlInstanceMock.On("GetMembers", entities.Node_ENB.String()).Return([]string{string(data)}, e)
512 ids, er := w.GetListEnbIds()
514 assert.Len(t, *ids, 1)
515 assert.Equal(t, (*ids)[0].GetInventoryName(), name)
516 assert.Equal(t, (*ids)[0].GetGlobalNbId().GetPlmnId(), nbIdentity.GetGlobalNbId().GetPlmnId())
517 assert.Equal(t, (*ids)[0].GetGlobalNbId().GetNbId(), nbIdentity.GetGlobalNbId().GetNbId())
520 func TestGetListEnbIdsNoIds(t *testing.T) {
522 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
525 sdlInstanceMock.On("GetMembers", entities.Node_ENB.String()).Return([]string{}, e)
526 ids, er := w.GetListEnbIds()
528 assert.Len(t, *ids, 0)
531 func TestGetListEnbIds(t *testing.T) {
537 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
539 idsData := make([]string, listSize)
540 idsEntities := make([]*entities.NbIdentity, listSize)
541 for i := 0; i < listSize; i++ {
542 nbIdentity := &entities.NbIdentity{InventoryName: name, GlobalNbId: &entities.GlobalNbId{PlmnId: string(plmnId + i), NbId: string(nbId + i)}}
543 data, err := proto.Marshal(nbIdentity)
545 t.Errorf("#rNibReader_test.TestGetListEnbIds - Failed to marshal nodeb identity entity. Error: %v", err)
547 idsData[i] = string(data)
548 idsEntities[i] = nbIdentity
551 sdlInstanceMock.On("GetMembers", entities.Node_ENB.String()).Return(idsData, e)
552 ids, er := w.GetListEnbIds()
554 assert.Len(t, *ids, listSize)
555 for i, id := range *ids {
556 assert.Equal(t, id.GetInventoryName(), name)
557 assert.Equal(t, id.GetGlobalNbId().GetPlmnId(), idsEntities[i].GetGlobalNbId().GetPlmnId())
558 assert.Equal(t, id.GetGlobalNbId().GetNbId(), idsEntities[i].GetGlobalNbId().GetNbId())
562 func TestGetListGnbIdsOneId(t *testing.T) {
567 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
569 nbIdentity := &entities.NbIdentity{InventoryName: name, GlobalNbId: &entities.GlobalNbId{PlmnId: plmnId, NbId: nbId}}
571 data, err := proto.Marshal(nbIdentity)
573 t.Errorf("#rNibReader_test.TestGetListGnbIds - Failed to marshal nodeb identity entity. Error: %v", err)
575 sdlInstanceMock.On("GetMembers", entities.Node_GNB.String()).Return([]string{string(data)}, e)
576 ids, er := w.GetListGnbIds()
578 assert.Len(t, *ids, 1)
579 assert.Equal(t, (*ids)[0].GetInventoryName(), name)
580 assert.Equal(t, (*ids)[0].GetGlobalNbId().GetPlmnId(), nbIdentity.GetGlobalNbId().GetPlmnId())
581 assert.Equal(t, (*ids)[0].GetGlobalNbId().GetNbId(), nbIdentity.GetGlobalNbId().GetNbId())
584 func TestGetListGnbIdsNoIds(t *testing.T) {
586 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
589 sdlInstanceMock.On("GetMembers", entities.Node_GNB.String()).Return([]string{}, e)
590 ids, er := w.GetListGnbIds()
592 assert.Len(t, *ids, 0)
595 func TestGetListGnbIds(t *testing.T) {
601 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
603 idsData := make([]string, listSize)
604 idsEntities := make([]*entities.NbIdentity, listSize)
605 for i := 0; i < listSize; i++ {
606 nbIdentity := &entities.NbIdentity{InventoryName: name, GlobalNbId: &entities.GlobalNbId{PlmnId: string(plmnId + i), NbId: string(nbId + i)}}
607 data, err := proto.Marshal(nbIdentity)
609 t.Errorf("#rNibReader_test.TestGetListGnbIds - Failed to marshal nodeb identity entity. Error: %v", err)
611 idsData[i] = string(data)
612 idsEntities[i] = nbIdentity
615 sdlInstanceMock.On("GetMembers", entities.Node_GNB.String()).Return(idsData, e)
616 ids, er := w.GetListGnbIds()
618 assert.Len(t, *ids, listSize)
619 for i, id := range *ids {
620 assert.Equal(t, id.GetInventoryName(), name)
621 assert.Equal(t, id.GetGlobalNbId().GetPlmnId(), idsEntities[i].GetGlobalNbId().GetPlmnId())
622 assert.Equal(t, id.GetGlobalNbId().GetNbId(), idsEntities[i].GetGlobalNbId().GetNbId())
626 func TestGetListEnbIdsSdlgoFailure(t *testing.T) {
627 errMsg := "expected Sdlgo error"
628 errMsgExpected := "2 INTERNAL_ERROR - expected Sdlgo error"
630 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
632 e := errors.New(errMsg)
634 sdlInstanceMock.On("GetMembers", entities.Node_ENB.String()).Return(data, e)
635 ids, er := w.GetListEnbIds()
638 assert.Equal(t, 2, er.GetCode())
639 assert.EqualValues(t, errMsgExpected, er.Error())
642 func TestGetCountGnbListOneId(t *testing.T) {
644 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
647 sdlInstanceMock.On("GroupSize", entities.Node_GNB.String()).Return(1, e)
648 count, er := w.GetCountGnbList()
650 assert.Equal(t, count, 1)
653 func TestGetCountGnbList(t *testing.T) {
655 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
658 sdlInstanceMock.On("GroupSize", entities.Node_GNB.String()).Return(3, e)
659 count, er := w.GetCountGnbList()
661 assert.Equal(t, count, 3)
664 func TestGetCountGnbListSdlgoFailure(t *testing.T) {
665 errMsg := "expected Sdlgo error"
666 errMsgExpected := "2 INTERNAL_ERROR - expected Sdlgo error"
668 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
670 e := errors.New(errMsg)
672 sdlInstanceMock.On("GroupSize", entities.Node_GNB.String()).Return(count, e)
673 count, er := w.GetCountGnbList()
675 assert.Equal(t, 0, count)
676 assert.Equal(t, 2, er.GetCode())
677 assert.EqualValues(t, errMsgExpected, er.Error())
680 func TestGetCell(t *testing.T) {
684 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
686 cellEntity := entities.Cell{Type: entities.Cell_LTE_CELL, Cell: &entities.Cell_ServedCellInfo{ServedCellInfo: &entities.ServedCellInfo{Pci: pci}}}
687 cellData, err := proto.Marshal(&cellEntity)
689 t.Errorf("#rNibReader_test.TestGetCell - Failed to marshal Cell entity. Error: %v", err)
692 key, rNibErr := common.ValidateAndBuildCellNamePciKey(name, pci)
694 t.Errorf("#rNibReader_test.TestGetCell - failed to validate key parameter")
696 ret := map[string]interface{}{key: string(cellData)}
697 sdlInstanceMock.On("Get", []string{key}).Return(ret, e)
698 cell, er := w.GetCell(name, pci)
700 assert.NotNil(t, cell)
701 assert.Equal(t, cell.Type, entities.Cell_LTE_CELL)
702 assert.NotNil(t, cell.GetServedCellInfo())
703 assert.Equal(t, cell.GetServedCellInfo().GetPci(), pci)
706 func TestGetCellNotFoundFailure(t *testing.T) {
710 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
713 var ret map[string]interface{}
714 key, rNibErr := common.ValidateAndBuildCellNamePciKey(name, pci)
716 t.Errorf("#rNibReader_test.TestGetCellNotFoundFailure - failed to validate key parameter")
718 sdlInstanceMock.On("Get", []string{key}).Return(ret, e)
719 cell, er := w.GetCell(name, pci)
722 assert.Equal(t, 1, er.GetCode())
723 assert.EqualValues(t, "1 RESOURCE_NOT_FOUND - #rNibReader.getCellByKey - cell not found, key: PCI:name:00", er.Error())
726 func TestGetCellUnmarshalFailure(t *testing.T) {
730 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
733 ret := make(map[string]interface{}, 1)
734 key, rNibErr := common.ValidateAndBuildCellNamePciKey(name, pci)
736 t.Errorf("#rNibReader_test.TestGetCellUnmarshalFailure - failed to validate key parameter")
739 sdlInstanceMock.On("Get", []string{key}).Return(ret, e)
740 cell, er := w.GetCell(name, pci)
743 assert.Equal(t, 2, er.GetCode())
744 assert.EqualValues(t, "2 INTERNAL_ERROR - proto: can't skip unknown wire type 4", er.Error())
747 func TestGetCellSdlgoFailure(t *testing.T) {
750 errMsg := "expected Sdlgo error"
751 errMsgExpected := "2 INTERNAL_ERROR - expected Sdlgo error"
753 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
755 e := errors.New(errMsg)
756 var ret map[string]interface{}
757 key, rNibErr := common.ValidateAndBuildCellNamePciKey(name, pci)
759 t.Errorf("#rNibReader_test.TestGetCellSdlgoFailure - failed to validate key parameter")
761 sdlInstanceMock.On("Get", []string{key}).Return(ret, e)
762 cell, er := w.GetCell(name, pci)
765 assert.Equal(t, 2, er.GetCode())
766 assert.EqualValues(t, errMsgExpected, er.Error())
769 func TestGetNodebById(t *testing.T) {
771 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
773 nb := entities.NodebInfo{NodeType: entities.Node_ENB}
774 nb.ConnectionStatus = 1
777 enb := entities.Enb{}
778 cell := entities.ServedCellInfo{Tac: "tac"}
779 enb.ServedCells = []*entities.ServedCellInfo{&cell}
780 nb.Configuration = &entities.NodebInfo_Enb{Enb: &enb}
782 data, err := proto.Marshal(&nb)
784 t.Errorf("#rNibReader_test.TestGetNodebById - Failed to marshal ENB instance. Error: %v", err)
789 key, rNibErr := common.ValidateAndBuildNodeBIdKey(entities.Node_ENB.String(), plmnId, nbId)
791 t.Errorf("Failed to validate nodeb identity, plmnId: %s, nbId: %s", plmnId, nbId)
793 ret := map[string]interface{}{key: string(data)}
794 sdlInstanceMock.On("Get", []string{key}).Return(ret, e)
795 globalNbId := &entities.GlobalNbId{PlmnId: plmnId, NbId: nbId}
796 getNb, er := w.GetNodebByGlobalNbId(entities.Node_ENB, globalNbId)
798 assert.Equal(t, getNb.Ip, nb.Ip)
799 assert.Equal(t, getNb.Port, nb.Port)
800 assert.Equal(t, getNb.ConnectionStatus, nb.ConnectionStatus)
801 assert.Len(t, getNb.GetEnb().GetServedCells(), 1)
802 assert.Equal(t, getNb.GetEnb().GetServedCells()[0].Tac, nb.GetEnb().GetServedCells()[0].Tac)
805 func TestGetNodebByIdNotFoundFailureEnb(t *testing.T) {
809 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
812 key, rNibErr := common.ValidateAndBuildNodeBIdKey(entities.Node_ENB.String(), plmnId, nbId)
814 t.Errorf("Failed to validate nodeb identity, plmnId: %s, nbId: %s", plmnId, nbId)
816 var ret map[string]interface{}
817 sdlInstanceMock.On("Get", []string{key}).Return(ret, e)
818 globalNbId := &entities.GlobalNbId{PlmnId: plmnId, NbId: nbId}
819 getNb, er := w.GetNodebByGlobalNbId(entities.Node_ENB, globalNbId)
822 assert.Equal(t, 1, er.GetCode())
823 assert.EqualValues(t, "1 RESOURCE_NOT_FOUND - #rNibReader.getNodeb - responding node not found. Key: ENB:02f829:4a952a0a", er.Error())
826 func TestGetNodebByIdNotFoundFailureGnb(t *testing.T) {
830 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
833 key, rNibErr := common.ValidateAndBuildNodeBIdKey(entities.Node_GNB.String(), plmnId, nbId)
835 t.Errorf("Failed to validate nodeb identity, plmnId: %s, nbId: %s", plmnId, nbId)
837 var ret map[string]interface{}
838 sdlInstanceMock.On("Get", []string{key}).Return(ret, e)
839 globalNbId := &entities.GlobalNbId{PlmnId: plmnId, NbId: nbId}
840 getNb, er := w.GetNodebByGlobalNbId(entities.Node_GNB, globalNbId)
843 assert.Equal(t, 1, er.GetCode())
844 assert.EqualValues(t, "1 RESOURCE_NOT_FOUND - #rNibReader.getNodeb - responding node not found. Key: GNB:02f829:4a952a0a", er.Error())
847 func TestGetNodeByIdUnmarshalFailure(t *testing.T) {
851 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
853 key, rNibErr := common.ValidateAndBuildNodeBIdKey(entities.Node_ENB.String(), plmnId, nbId)
855 t.Errorf("Failed to validate nodeb identity, plmnId: %s, nbId: %s", plmnId, nbId)
858 ret := make(map[string]interface{}, 1)
860 sdlInstanceMock.On("Get", []string{key}).Return(ret, e)
861 globalNbId := &entities.GlobalNbId{PlmnId: plmnId, NbId: nbId}
862 getNb, er := w.GetNodebByGlobalNbId(entities.Node_ENB, globalNbId)
865 assert.Equal(t, 2, er.GetCode())
866 assert.EqualValues(t, "2 INTERNAL_ERROR - proto: can't skip unknown wire type 4", er.Error())
869 func TestGetNodeByIdSdlgoFailure(t *testing.T) {
872 errMsg := "expected Sdlgo error"
873 errMsgExpected := "2 INTERNAL_ERROR - expected Sdlgo error"
875 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
877 key, rNibErr := common.ValidateAndBuildNodeBIdKey(entities.Node_GNB.String(), plmnId, nbId)
879 t.Errorf("Failed to validate nodeb identity, plmnId: %s, nbId: %s", plmnId, nbId)
881 e := errors.New(errMsg)
882 var ret map[string]interface{}
883 sdlInstanceMock.On("Get", []string{key}).Return(ret, e)
884 globalNbId := &entities.GlobalNbId{PlmnId: plmnId, NbId: nbId}
885 getNb, er := w.GetNodebByGlobalNbId(entities.Node_GNB, globalNbId)
888 assert.Equal(t, 2, er.GetCode())
889 assert.EqualValues(t, errMsgExpected, er.Error())
892 func TestGetCellById(t *testing.T) {
896 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
898 cellEntity := entities.Cell{Type: entities.Cell_LTE_CELL, Cell: &entities.Cell_ServedCellInfo{ServedCellInfo: &entities.ServedCellInfo{Pci: pci}}}
899 cellData, err := proto.Marshal(&cellEntity)
901 t.Errorf("#rNibReader_test.TestGetCellById - Failed to marshal Cell entity. Error: %v", err)
904 key, rNibErr := common.ValidateAndBuildCellIdKey(cellId)
906 t.Errorf("#rNibReader_test.TestGetCellById - failed to validate key parameter")
908 ret := map[string]interface{}{key: string(cellData)}
909 sdlInstanceMock.On("Get", []string{key}).Return(ret, e)
910 cell, er := w.GetCellById(entities.Cell_LTE_CELL, cellId)
912 assert.NotNil(t, cell)
913 assert.Equal(t, cell.Type, entities.Cell_LTE_CELL)
914 assert.NotNil(t, cell.GetServedCellInfo())
915 assert.Equal(t, cell.GetServedCellInfo().GetPci(), pci)
918 func TestGetCellByIdNotFoundFailureEnb(t *testing.T) {
921 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
924 var ret map[string]interface{}
925 key, rNibErr := common.ValidateAndBuildCellIdKey(cellId)
927 t.Errorf("#rNibReader_test.TestGetCellByIdNotFoundFailure - failed to validate key parameter")
929 sdlInstanceMock.On("Get", []string{key}).Return(ret, e)
930 cell, er := w.GetCellById(entities.Cell_LTE_CELL, cellId)
933 assert.Equal(t, 1, er.GetCode())
934 assert.EqualValues(t, "1 RESOURCE_NOT_FOUND - #rNibReader.getCellByKey - cell not found, key: CELL:bbbb", er.Error())
937 func TestGetCellByIdNotFoundFailureGnb(t *testing.T) {
940 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
943 var ret map[string]interface{}
944 key, rNibErr := common.ValidateAndBuildNrCellIdKey(cellId)
946 t.Errorf("#rNibReader_test.TestGetCellByIdNotFoundFailure - failed to validate key parameter")
948 sdlInstanceMock.On("Get", []string{key}).Return(ret, e)
949 cell, er := w.GetCellById(entities.Cell_NR_CELL, cellId)
952 assert.Equal(t, 1, er.GetCode())
953 assert.EqualValues(t, "1 RESOURCE_NOT_FOUND - #rNibReader.getCellByKey - cell not found, key: NRCELL:bbbb", er.Error())
956 func TestGetCellByIdTypeValidationFailure(t *testing.T) {
959 initSdlInstanceMock(namespace, 1)
961 cell, er := w.GetCellById(5, cellId)
964 assert.Equal(t, 3, er.GetCode())
965 assert.EqualValues(t, "3 VALIDATION_ERROR - #rNibReader.GetCellById - invalid cell type: 5", er.Error())
968 func TestGetCellByIdValidationFailureGnb(t *testing.T) {
971 initSdlInstanceMock(namespace, 1)
973 cell, er := w.GetCellById(entities.Cell_NR_CELL, cellId)
976 assert.Equal(t, 3, er.GetCode())
977 assert.EqualValues(t, "3 VALIDATION_ERROR - #utils.ValidateAndBuildNrCellIdKey - an empty cell id received", er.Error())
980 func TestGetCellByIdValidationFailureEnb(t *testing.T) {
983 initSdlInstanceMock(namespace, 1)
985 cell, er := w.GetCellById(entities.Cell_LTE_CELL, cellId)
988 assert.Equal(t, 3, er.GetCode())
989 assert.EqualValues(t, "3 VALIDATION_ERROR - #utils.ValidateAndBuildCellIdKey - an empty cell id received", er.Error())
992 func TestGetRanLoadInformation(t *testing.T) {
995 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
997 loadInfo := generateRanLoadInformation()
999 data, err := proto.Marshal(loadInfo)
1001 t.Errorf("#rNibReader_test.TestGetRanLoadInformation - Failed to marshal RanLoadInformation entity. Error: %v", err)
1003 redisKey, rNibErr := common.ValidateAndBuildRanLoadInformationKey(name)
1005 t.Errorf("#rNibReader_test.TestGetRanLoadInformationNotFoundFailure - failed to validate key parameter")
1007 ret := map[string]interface{}{redisKey: string(data)}
1008 sdlInstanceMock.On("Get", []string{redisKey}).Return(ret, e)
1009 getLoadInfo, er := w.GetRanLoadInformation(name)
1011 assert.NotNil(t, getLoadInfo)
1012 expected, err := json.Marshal(loadInfo)
1014 t.Errorf("#rNibReader_test.TestGetRanLoadInformation - Failed to marshal RanLoadInformation entity. Error: %v", err)
1016 actual, err := json.Marshal(getLoadInfo)
1018 t.Errorf("#rNibReader_test.TestGetRanLoadInformation - Failed to marshal RanLoadInformation entity. Error: %v", err)
1020 assert.EqualValues(t, expected, actual)
1023 func TestGetRanLoadInformationNotFoundFailure(t *testing.T) {
1026 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
1027 w := GetRNibReader()
1029 var ret map[string]interface{}
1030 redisKey, rNibErr := common.ValidateAndBuildRanLoadInformationKey(name)
1032 t.Errorf("#rNibReader_test.TestGetRanLoadInformationNotFoundFailure - failed to validate key parameter")
1034 sdlInstanceMock.On("Get", []string{redisKey}).Return(ret, e)
1035 getNb, er := w.GetRanLoadInformation(name)
1036 assert.NotNil(t, er)
1037 assert.Nil(t, getNb)
1038 assert.Equal(t, 1, er.GetCode())
1039 assert.EqualValues(t, "1 RESOURCE_NOT_FOUND - #rNibReader.getByKeyAndUnmarshal - entity of type *entities.RanLoadInformation not found. Key: LOAD:name", er.Error())
1042 func TestGetRanLoadInformationUnmarshalFailure(t *testing.T) {
1045 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
1046 w := GetRNibReader()
1048 ret := make(map[string]interface{}, 1)
1049 redisKey, rNibErr := common.ValidateAndBuildRanLoadInformationKey(name)
1051 t.Errorf("#rNibReader_test.TestGetRanLoadInformationUnmarshalFailure - failed to validate key parameter")
1053 ret[redisKey] = "data"
1054 sdlInstanceMock.On("Get", []string{redisKey}).Return(ret, e)
1055 getNb, er := w.GetRanLoadInformation(name)
1056 assert.NotNil(t, er)
1057 assert.Nil(t, getNb)
1058 assert.Equal(t, 2, er.GetCode())
1059 assert.EqualValues(t, "2 INTERNAL_ERROR - proto: can't skip unknown wire type 4", er.Error())
1062 func TestGetRanLoadInformationSdlgoFailure(t *testing.T) {
1064 errMsg := "expected Sdlgo error"
1065 errMsgExpected := "2 INTERNAL_ERROR - expected Sdlgo error"
1067 sdlInstanceMock := initSdlInstanceMock(namespace, 1)
1068 w := GetRNibReader()
1069 e := errors.New(errMsg)
1070 var ret map[string]interface{}
1071 redisKey, rNibErr := common.ValidateAndBuildRanLoadInformationKey(name)
1073 t.Errorf("#rNibReader_test.TestGetRanLoadInformationSdlgoFailure - failed to validate key parameter")
1075 sdlInstanceMock.On("Get", []string{redisKey}).Return(ret, e)
1076 getNb, er := w.GetRanLoadInformation(name)
1077 assert.NotNil(t, er)
1078 assert.Nil(t, getNb)
1079 assert.Equal(t, 2, er.GetCode())
1080 assert.EqualValues(t, errMsgExpected, er.Error())
1083 func generateCellLoadInformation() *entities.CellLoadInformation {
1084 cellLoadInformation := entities.CellLoadInformation{}
1086 cellLoadInformation.CellId = "123"
1088 ulInterferenceOverloadIndication := entities.UlInterferenceOverloadIndication_HIGH_INTERFERENCE
1089 cellLoadInformation.UlInterferenceOverloadIndications = []entities.UlInterferenceOverloadIndication{ulInterferenceOverloadIndication}
1091 ulHighInterferenceInformation := entities.UlHighInterferenceInformation{
1093 UlHighInterferenceIndication:"xxx",
1096 cellLoadInformation.UlHighInterferenceInfos = []*entities.UlHighInterferenceInformation{&ulHighInterferenceInformation }
1098 cellLoadInformation.RelativeNarrowbandTxPower = &entities.RelativeNarrowbandTxPower{
1100 RntpThreshold:entities.RntpThreshold_NEG_4,
1101 NumberOfCellSpecificAntennaPorts: entities.NumberOfCellSpecificAntennaPorts_V1_ANT_PRT,
1103 PdcchInterferenceImpact:2,
1104 EnhancedRntp: &entities.EnhancedRntp{
1105 EnhancedRntpBitmap:"xxx",
1106 RntpHighPowerThreshold:entities.RntpThreshold_NEG_2,
1107 EnhancedRntpStartTime: &entities.StartTime{StartSfn:500,StartSubframeNumber:5},
1111 cellLoadInformation.AbsInformation = &entities.AbsInformation{
1112 Mode: entities.AbsInformationMode_ABS_INFO_FDD,
1113 AbsPatternInfo:"xxx",
1114 NumberOfCellSpecificAntennaPorts:entities.NumberOfCellSpecificAntennaPorts_V2_ANT_PRT,
1115 MeasurementSubset:"xxx",
1118 cellLoadInformation.InvokeIndication = entities.InvokeIndication_ABS_INFORMATION
1120 cellLoadInformation.ExtendedUlInterferenceOverloadInfo = &entities.ExtendedUlInterferenceOverloadInfo{
1121 AssociatedSubframes:"xxx",
1122 ExtendedUlInterferenceOverloadIndications:cellLoadInformation.UlInterferenceOverloadIndications,
1125 compInformationItem := &entities.CompInformationItem{
1126 CompHypothesisSets: []*entities.CompHypothesisSet{&entities.CompHypothesisSet{CellId: "789", CompHypothesis:"xxx"}},
1130 cellLoadInformation.CompInformation = &entities.CompInformation{
1131 CompInformationItems:[]*entities.CompInformationItem{compInformationItem},
1132 CompInformationStartTime:&entities.StartTime{StartSfn:123,StartSubframeNumber:456},
1135 cellLoadInformation.DynamicDlTransmissionInformation = &entities.DynamicDlTransmissionInformation{
1136 State: entities.NaicsState_NAICS_ACTIVE,
1137 TransmissionModes:"xxx",
1139 PAList:[]entities.PA{entities.PA_DB_NEG_3},
1142 return &cellLoadInformation
1145 func generateRanLoadInformation() *entities.RanLoadInformation {
1146 ranLoadInformation := entities.RanLoadInformation{}
1148 ranLoadInformation.LoadTimestamp = uint64(time.Now().UnixNano())
1150 cellLoadInformation := generateCellLoadInformation()
1151 ranLoadInformation.CellLoadInfos = []*entities.CellLoadInformation{cellLoadInformation}
1153 return &ranLoadInformation
1158 //func TestGetEnbInteg(t *testing.T){
1159 // name := "nameEnb1"
1160 // Init("namespace", 1)
1161 // w := GetRNibReader()
1162 // nb, err := w.GetNodeb(name)
1166 // fmt.Printf("#TestGetEnbInteg - responding node type: %v\n", nb)
1170 //func TestGetEnbCellsInteg(t *testing.T){
1171 // name := "nameEnb1"
1172 // Init("namespace", 1)
1173 // w := GetRNibReader()
1174 // cells, err := w.GetCellList(name)
1177 // } else if cells != nil{
1178 // for _, cell := range cells.GetServedCellInfos().ServedCells{
1179 // fmt.Printf("responding node type Cell: %v\n", *cell)
1184 //func TestGetGnbInteg(t *testing.T){
1185 // name := "nameGnb1"
1186 // Init("namespace", 1)
1187 // w := GetRNibReader()
1188 // nb, err := w.GetNodeb(name)
1192 // fmt.Printf("#TestGetGnbInteg - responding node type: %v\n", nb)
1196 //func TestGetGnbCellsInteg(t *testing.T){
1197 // name := "nameGnb1"
1198 // Init("namespace", 1)
1199 // w := GetRNibReader()
1200 // cells, err := w.GetCellList(name)
1203 // } else if cells != nil{
1204 // for _, cell := range cells.GetServedNrCells().ServedCells{
1205 // fmt.Printf("responding node type NR Cell: %v\n", *cell)
1210 //func TestGetListEnbIdsInteg(t *testing.T) {
1211 // Init("namespace", 1)
1212 // w := GetRNibReader()
1213 // ids, err := w.GetListEnbIds()
1217 // for _, id := range *ids{
1218 // fmt.Printf("#TestGetListEnbIdsInteg - ENB ID: %s\n", id)
1223 //func TestGetListGnbIdsInteg(t *testing.T) {
1224 // Init("namespace", 1)
1225 // w := GetRNibReader()
1226 // ids, err := w.GetListGnbIds()
1230 // for _, id := range *ids{
1231 // fmt.Printf("#TestGetListGnbIdsInteg - GNB ID: %s\n", id)
1236 //func TestGetCountGnbListInteg(t *testing.T) {
1237 // Init("namespace", 1)
1238 // w := GetRNibReader()
1239 // count, err := w.GetCountGnbList()
1243 // fmt.Printf("#TestGetCountGnbListInteg - count Gnb list: %d\n", count)
1247 //func TestGetGnbCellInteg(t *testing.T){
1248 // name := "nameGnb7"
1250 // Init("namespace", 1)
1251 // w := GetRNibReader()
1252 // cell, err := w.GetCell(name, uint32(pci))
1255 // } else if cell != nil{
1256 // fmt.Printf("responding node type NR Cell: %v\n", cell.GetServedNrCell())
1260 //func TestGetEnbCellInteg(t *testing.T) {
1261 // name := "nameEnb1"
1263 // Init("namespace", 1)
1264 // w := GetRNibReader()
1265 // cell, err := w.GetCell(name, uint32(pci))
1268 // } else if cell != nil {
1269 // fmt.Printf("responding node type LTE Cell: %v\n", cell.GetServedCellInfo())
1273 //func TestGetEnbCellByIdInteg(t *testing.T){
1274 // Init("namespace", 1)
1275 // w := GetRNibReader()
1276 // cell, err := w.GetCellById(entities.Cell_NR_CELL, "45d")
1279 // } else if cell != nil{
1280 // fmt.Printf("responding node type NR Cell: %v\n", cell.GetServedNrCell())
1284 //func TestGetListNbIdsInteg(t *testing.T) {
1285 // Init("e2Manager", 1)
1286 // w := GetRNibReader()
1287 // ids, err := w.GetListNodebIds()
1291 // for _, id := range ids{
1292 // fmt.Printf("#TestGetListGnbIdsInteg - NB ID: %s\n", id)
1297 //func TestGetRanLoadInformationInteg(t *testing.T){
1298 // Init("e2Manager", 1)
1299 // w := GetRNibReader()
1300 // ranLoadInformation, err := w.GetRanLoadInformation("ran_integ")
1302 // t.Errorf("#rNibReader_test.TestGetRanLoadInformationInteg - Failed to save RanLoadInformation entity. Error: %v", err)
1304 // assert.NotNil(t, ranLoadInformation)
1305 // fmt.Printf("#rNibReader_test.TestGetRanLoadInformationInteg - GNB ID: %s\n", ranLoadInformation)