X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fservices%2Frnib_data_service_test.go;h=e78097a6a4cdc46131c7cb43f61475542480621d;hb=0249b5fc410b6c6814906b185dfdf25b27621148;hp=ab67a32041ad9c02d734ba63415195fbbf5aa6f8;hpb=372a275602ae05da22130a4601709291c7fbbaa6;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/services/rnib_data_service_test.go b/E2Manager/services/rnib_data_service_test.go index ab67a32..e78097a 100644 --- a/E2Manager/services/rnib_data_service_test.go +++ b/E2Manager/services/rnib_data_service_test.go @@ -17,7 +17,6 @@ // This source code is part of the near-RT RIC (RAN Intelligent Controller) // platform project (RICP). - package services import ( @@ -38,19 +37,18 @@ func setupRnibDataServiceTest(t *testing.T) (*rNibDataService, *mocks.RnibReader } func setupRnibDataServiceTestWithMaxAttempts(t *testing.T, maxAttempts int) (*rNibDataService, *mocks.RnibReaderMock, *mocks.RnibWriterMock) { - logger, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#... - failed to initialize logger, error: %s", err) } - config := &configuration.Configuration{RnibRetryIntervalMs: 10, MaxRnibConnectionAttempts: maxAttempts} + config := &configuration.Configuration{RnibRetryIntervalMs: 10, MaxRnibConnectionAttempts: maxAttempts, RnibWriter: configuration.RnibWriterConfig{RanManipulationMessageChannel: "RAN_MANIPULATION", StateChangeMessageChannel: "RAN_CONNECTION_STATUS_CHANGE"}} readerMock := &mocks.RnibReaderMock{} - writerMock := &mocks.RnibWriterMock{} - rnibDataService := NewRnibDataService(logger, config, readerMock, writerMock) assert.NotNil(t, rnibDataService) @@ -61,10 +59,9 @@ func TestSuccessfulSaveNodeb(t *testing.T) { rnibDataService, _, writerMock := setupRnibDataServiceTest(t) nodebInfo := &entities.NodebInfo{} - nbIdentity := &entities.NbIdentity{} - writerMock.On("SaveNodeb", nbIdentity, nodebInfo).Return(nil) + writerMock.On("SaveNodeb", nodebInfo).Return(nil) - rnibDataService.SaveNodeb(nbIdentity, nodebInfo) + rnibDataService.SaveNodeb(nodebInfo) writerMock.AssertNumberOfCalls(t, "SaveNodeb", 1) } @@ -72,11 +69,10 @@ func TestConnFailureSaveNodeb(t *testing.T) { rnibDataService, _, writerMock := setupRnibDataServiceTest(t) nodebInfo := &entities.NodebInfo{} - nbIdentity := &entities.NbIdentity{} mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} - writerMock.On("SaveNodeb", nbIdentity, nodebInfo).Return(mockErr) + writerMock.On("SaveNodeb", nodebInfo).Return(mockErr) - rnibDataService.SaveNodeb(nbIdentity, nodebInfo) + rnibDataService.SaveNodeb(nodebInfo) writerMock.AssertNumberOfCalls(t, "SaveNodeb", 3) } @@ -84,11 +80,10 @@ func TestNonConnFailureSaveNodeb(t *testing.T) { rnibDataService, _, writerMock := setupRnibDataServiceTest(t) nodebInfo := &entities.NodebInfo{} - nbIdentity := &entities.NbIdentity{} mockErr := &common.InternalError{Err: fmt.Errorf("non connection failure")} - writerMock.On("SaveNodeb", nbIdentity, nodebInfo).Return(mockErr) + writerMock.On("SaveNodeb", nodebInfo).Return(mockErr) - rnibDataService.SaveNodeb(nbIdentity, nodebInfo) + rnibDataService.SaveNodeb(nodebInfo) writerMock.AssertNumberOfCalls(t, "SaveNodeb", 1) } @@ -113,6 +108,27 @@ func TestConnFailureUpdateNodebInfo(t *testing.T) { writerMock.AssertNumberOfCalls(t, "UpdateNodebInfo", 3) } +func TestSuccessfulUpdateNodebInfoAndPublish(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + nodebInfo := &entities.NodebInfo{} + writerMock.On("UpdateNodebInfoAndPublish", nodebInfo).Return(nil) + + rnibDataService.UpdateNodebInfoAndPublish(nodebInfo) + writerMock.AssertNumberOfCalls(t, "UpdateNodebInfoAndPublish", 1) +} + +func TestConnFailureUpdateNodebInfoAndPublish(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + nodebInfo := &entities.NodebInfo{} + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + writerMock.On("UpdateNodebInfoAndPublish", nodebInfo).Return(mockErr) + + rnibDataService.UpdateNodebInfoAndPublish(nodebInfo) + writerMock.AssertNumberOfCalls(t, "UpdateNodebInfoAndPublish", 3) +} + func TestSuccessfulSaveRanLoadInformation(t *testing.T) { rnibDataService, _, writerMock := setupRnibDataServiceTest(t) @@ -159,7 +175,7 @@ func TestConnFailureGetNodeb(t *testing.T) { res, err := rnibDataService.GetNodeb(invName) readerMock.AssertNumberOfCalls(t, "GetNodeb", 3) - assert.True(t, strings.Contains(err.Error(), "connection error", )) + assert.True(t, strings.Contains(err.Error(), "connection error")) assert.Equal(t, nodeb, res) } @@ -184,7 +200,7 @@ func TestConnFailureGetNodebIdList(t *testing.T) { res, err := rnibDataService.GetListNodebIds() readerMock.AssertNumberOfCalls(t, "GetListNodebIds", 3) - assert.True(t, strings.Contains(err.Error(), "connection error", )) + assert.True(t, strings.Contains(err.Error(), "connection error")) assert.Equal(t, nodeIds, res) } @@ -200,12 +216,12 @@ func TestConnFailureTwiceGetNodebIdList(t *testing.T) { res, err := rnibDataService.GetListNodebIds() readerMock.AssertNumberOfCalls(t, "GetListNodebIds", 3) - assert.True(t, strings.Contains(err.Error(), "connection error", )) + assert.True(t, strings.Contains(err.Error(), "connection error")) assert.Equal(t, nodeIds, res) res2, err := rnibDataService.GetNodeb(invName) readerMock.AssertNumberOfCalls(t, "GetNodeb", 3) - assert.True(t, strings.Contains(err.Error(), "connection error", )) + assert.True(t, strings.Contains(err.Error(), "connection error")) assert.Equal(t, nodeb, res2) } @@ -218,10 +234,279 @@ func TestConnFailureWithAnotherConfig(t *testing.T) { res, err := rnibDataService.GetListNodebIds() readerMock.AssertNumberOfCalls(t, "GetListNodebIds", 5) - assert.True(t, strings.Contains(err.Error(), "connection error", )) + assert.True(t, strings.Contains(err.Error(), "connection error")) assert.Equal(t, nodeIds, res) } +func TestGetGeneralConfigurationConnFailure(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + var config *entities.GeneralConfiguration = nil + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + readerMock.On("GetGeneralConfiguration").Return(config, mockErr) + + res, err := rnibDataService.GetGeneralConfiguration() + readerMock.AssertNumberOfCalls(t, "GetGeneralConfiguration", 3) + assert.Nil(t, res) + assert.NotNil(t, err) +} + +func TestGetGeneralConfigurationOkNoError(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + config := &entities.GeneralConfiguration{} + readerMock.On("GetGeneralConfiguration").Return(config, nil) + + res, err := rnibDataService.GetGeneralConfiguration() + readerMock.AssertNumberOfCalls(t, "GetGeneralConfiguration", 1) + assert.Equal(t, config, res) + assert.Nil(t, err) +} + +func TestGetGeneralConfigurationOtherError(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + var config *entities.GeneralConfiguration = nil + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + readerMock.On("GetGeneralConfiguration").Return(config, mockErr) + + res, err := rnibDataService.GetGeneralConfiguration() + readerMock.AssertNumberOfCalls(t, "GetGeneralConfiguration", 1) + assert.Nil(t, res) + assert.NotNil(t, err) +} + +func TestSaveGeneralConfigurationConnFailure(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + config := &entities.GeneralConfiguration{} + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + writerMock.On("SaveGeneralConfiguration", config).Return(mockErr) + + err := rnibDataService.SaveGeneralConfiguration(config) + writerMock.AssertNumberOfCalls(t, "SaveGeneralConfiguration", 3) + assert.NotNil(t, err) +} + +func TestSaveGeneralConfigurationOkNoError(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + config := &entities.GeneralConfiguration{} + writerMock.On("SaveGeneralConfiguration", config).Return(nil) + + err := rnibDataService.SaveGeneralConfiguration(config) + writerMock.AssertNumberOfCalls(t, "SaveGeneralConfiguration", 1) + assert.Nil(t, err) +} + +func TestSaveGeneralConfigurationOtherError(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + config := &entities.GeneralConfiguration{} + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + writerMock.On("SaveGeneralConfiguration", config).Return(mockErr) + + err := rnibDataService.SaveGeneralConfiguration(config) + writerMock.AssertNumberOfCalls(t, "SaveGeneralConfiguration", 1) + assert.NotNil(t, err) +} + +func TestRemoveServedCellsConnFailure(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + var ranName string = "abcd" + cellIds := []*entities.ServedCellInfo{} + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + writerMock.On("RemoveServedCells", ranName, cellIds).Return(mockErr) + + err := rnibDataService.RemoveServedCells(ranName, cellIds) + writerMock.AssertNumberOfCalls(t, "RemoveServedCells", 3) + assert.NotNil(t, err) +} + +func TestRemoveServedCellsOkNoError(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + var ranName string = "abcd" + cellIds := []*entities.ServedCellInfo{} + writerMock.On("RemoveServedCells", ranName, cellIds).Return(nil) + + err := rnibDataService.RemoveServedCells(ranName, cellIds) + writerMock.AssertNumberOfCalls(t, "RemoveServedCells", 1) + assert.Nil(t, err) +} + +func TestRemoveServedCellsOtherError(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + var ranName string = "abcd" + cellIds := []*entities.ServedCellInfo{} + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + writerMock.On("RemoveServedCells", ranName, cellIds).Return(mockErr) + + err := rnibDataService.RemoveServedCells(ranName, cellIds) + writerMock.AssertNumberOfCalls(t, "RemoveServedCells", 1) + assert.NotNil(t, err) +} + +func TestUpdateEnbConnFailure(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + nodebInfo := &entities.NodebInfo{} + cellIds := []*entities.ServedCellInfo{} + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + writerMock.On("UpdateEnb", nodebInfo, cellIds).Return(mockErr) + + err := rnibDataService.UpdateEnb(nodebInfo, cellIds) + writerMock.AssertNumberOfCalls(t, "UpdateEnb", 3) + assert.NotNil(t, err) +} + +func TestUpdateEnbOkNoError(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + nodebInfo := &entities.NodebInfo{} + cellIds := []*entities.ServedCellInfo{} + writerMock.On("UpdateEnb", nodebInfo, cellIds).Return(nil) + + err := rnibDataService.UpdateEnb(nodebInfo, cellIds) + writerMock.AssertNumberOfCalls(t, "UpdateEnb", 1) + assert.Nil(t, err) +} + +func TestUpdateEnbOtherError(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + nodebInfo := &entities.NodebInfo{} + cellIds := []*entities.ServedCellInfo{} + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + writerMock.On("UpdateEnb", nodebInfo, cellIds).Return(mockErr) + + err := rnibDataService.UpdateEnb(nodebInfo, cellIds) + writerMock.AssertNumberOfCalls(t, "UpdateEnb", 1) + assert.NotNil(t, err) +} + +func TestAddEnbConnFailure(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + nodebInfo := &entities.NodebInfo{} + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + writerMock.On("AddEnb", nodebInfo).Return(mockErr) + + err := rnibDataService.AddEnb(nodebInfo) + writerMock.AssertNumberOfCalls(t, "AddEnb", 3) + assert.NotNil(t, err) +} + +func TestAddEnbOkNoError(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + nodebInfo := &entities.NodebInfo{} + writerMock.On("AddEnb", nodebInfo).Return(nil) + + err := rnibDataService.AddEnb(nodebInfo) + writerMock.AssertNumberOfCalls(t, "AddEnb", 1) + assert.Nil(t, err) +} + +func TestAddEnbOtherError(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + nodebInfo := &entities.NodebInfo{} + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + writerMock.On("AddEnb", nodebInfo).Return(mockErr) + + err := rnibDataService.AddEnb(nodebInfo) + writerMock.AssertNumberOfCalls(t, "AddEnb", 1) + assert.NotNil(t, err) +} + +func TestUpdateNbIdentityConnFailure(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + gnbType := entities.Node_GNB + oldNodeId := &entities.NbIdentity{} + newNodeId := &entities.NbIdentity{} + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + writerMock.On("UpdateNbIdentities", gnbType, []*entities.NbIdentity{oldNodeId}, + []*entities.NbIdentity{newNodeId}).Return(mockErr) + + err := rnibDataService.UpdateNbIdentity(gnbType, oldNodeId, newNodeId) + writerMock.AssertNumberOfCalls(t, "UpdateNbIdentities", 3) + assert.NotNil(t, err) +} + +func TestUpdateNbIdentityOkNoError(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + gnbType := entities.Node_GNB + oldNodeId := &entities.NbIdentity{} + newNodeId := &entities.NbIdentity{} + writerMock.On("UpdateNbIdentities", gnbType, []*entities.NbIdentity{oldNodeId}, + []*entities.NbIdentity{newNodeId}).Return(nil) + + err := rnibDataService.UpdateNbIdentity(gnbType, oldNodeId, newNodeId) + writerMock.AssertNumberOfCalls(t, "UpdateNbIdentities", 1) + assert.Nil(t, err) +} + +func TestUpdateNbIdentityOtherError(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + gnbType := entities.Node_GNB + oldNodeId := &entities.NbIdentity{} + newNodeId := &entities.NbIdentity{} + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + writerMock.On("UpdateNbIdentities", gnbType, []*entities.NbIdentity{oldNodeId}, + []*entities.NbIdentity{newNodeId}).Return(mockErr) + + err := rnibDataService.UpdateNbIdentity(gnbType, oldNodeId, newNodeId) + writerMock.AssertNumberOfCalls(t, "UpdateNbIdentities", 1) + assert.NotNil(t, err) +} + +func TestUpdateNbIdentitiesConnFailure(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + gnbType := entities.Node_GNB + oldNodeIds := []*entities.NbIdentity{} + newNodeIds := []*entities.NbIdentity{} + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + writerMock.On("UpdateNbIdentities", gnbType, oldNodeIds, newNodeIds).Return(mockErr) + + err := rnibDataService.UpdateNbIdentities(gnbType, oldNodeIds, newNodeIds) + writerMock.AssertNumberOfCalls(t, "UpdateNbIdentities", 3) + assert.NotNil(t, err) +} + +func TestUpdateNbIdentitiesOkNoError(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + gnbType := entities.Node_GNB + oldNodeIds := []*entities.NbIdentity{} + newNodeIds := []*entities.NbIdentity{} + writerMock.On("UpdateNbIdentities", gnbType, oldNodeIds, newNodeIds).Return(nil) + + err := rnibDataService.UpdateNbIdentities(gnbType, oldNodeIds, newNodeIds) + writerMock.AssertNumberOfCalls(t, "UpdateNbIdentities", 1) + assert.Nil(t, err) +} + +func TestUpdateNbIdentitiesOtherError(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + gnbType := entities.Node_GNB + oldNodeIds := []*entities.NbIdentity{} + newNodeIds := []*entities.NbIdentity{} + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + writerMock.On("UpdateNbIdentities", gnbType, oldNodeIds, newNodeIds).Return(mockErr) + + err := rnibDataService.UpdateNbIdentities(gnbType, oldNodeIds, newNodeIds) + writerMock.AssertNumberOfCalls(t, "UpdateNbIdentities", 1) + assert.NotNil(t, err) +} + func TestPingRnibConnFailure(t *testing.T) { rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) @@ -257,20 +542,28 @@ func TestPingRnibOkOtherError(t *testing.T) { assert.True(t, res) } -//func TestConnFailureThenSuccessGetNodebIdList(t *testing.T) { -// rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) -// -// var nilNodeIds []*entities.NbIdentity = nil -// nodeIds := []*entities.NbIdentity{} -// mockErr := &common.InternalError{Err: &net.OpError{Err:fmt.Errorf("connection error")}} -// //readerMock.On("GetListNodebIds").Return(nilNodeIds, mockErr) -// //readerMock.On("GetListNodebIds").Return(nodeIds, nil) -// -// res, err := rnibDataService.GetListNodebIds() -// readerMock.AssertNumberOfCalls(t, "GetListNodebIds", 2) -// assert.True(t, strings.Contains(err.Error(),"connection failure", )) -// assert.Equal(t, nodeIds, res) -//} +func TestSuccessfulUpdateNodebInfoOnConnectionStatusInversion(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + event := "event" + + nodebInfo := &entities.NodebInfo{} + writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", nodebInfo, event).Return(nil) + + rnibDataService.UpdateNodebInfoOnConnectionStatusInversion(nodebInfo, event) + writerMock.AssertNumberOfCalls(t, "UpdateNodebInfoOnConnectionStatusInversion", 1) +} + +func TestConnFailureUpdateNodebInfoOnConnectionStatusInversion(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + event := "event" + + nodebInfo := &entities.NodebInfo{} + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", nodebInfo, event).Return(mockErr) + + rnibDataService.UpdateNodebInfoOnConnectionStatusInversion(nodebInfo, event) + writerMock.AssertNumberOfCalls(t, "UpdateNodebInfoOnConnectionStatusInversion", 3) +} func TestGetE2TInstanceConnFailure(t *testing.T) { rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) @@ -299,7 +592,7 @@ func TestGetE2TInstanceOkNoError(t *testing.T) { assert.Equal(t, e2tInstance, res) } -func TestGetE2TInstanceOkOtherError(t *testing.T) { +func TestGetE2TInstanceOtherError(t *testing.T) { rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) address := "10.10.5.20:3200" @@ -312,3 +605,548 @@ func TestGetE2TInstanceOkOtherError(t *testing.T) { assert.Nil(t, res) assert.NotNil(t, err) } + +func TestGetE2TInstanceNoLogsConnFailure(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + address := "10.10.5.20:3200" + var e2tInstance *entities.E2TInstance = nil + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + readerMock.On("GetE2TInstance", address).Return(e2tInstance, mockErr) + + res, err := rnibDataService.GetE2TInstanceNoLogs(address) + readerMock.AssertNumberOfCalls(t, "GetE2TInstance", 3) + assert.Nil(t, res) + assert.NotNil(t, err) +} + +func TestGetE2TInstanceNoLogsOkNoError(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + address := "10.10.5.20:3200" + e2tInstance := &entities.E2TInstance{} + readerMock.On("GetE2TInstance", address).Return(e2tInstance, nil) + + res, err := rnibDataService.GetE2TInstanceNoLogs(address) + readerMock.AssertNumberOfCalls(t, "GetE2TInstance", 1) + assert.Nil(t, err) + assert.Equal(t, e2tInstance, res) +} + +func TestGetE2TInstanceNoLogsOtherError(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + address := "10.10.5.20:3200" + var e2tInstance *entities.E2TInstance = nil + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + readerMock.On("GetE2TInstance", address).Return(e2tInstance, mockErr) + + res, err := rnibDataService.GetE2TInstanceNoLogs(address) + readerMock.AssertNumberOfCalls(t, "GetE2TInstance", 1) + assert.Nil(t, res) + assert.NotNil(t, err) +} + +func TestGetE2TInstancesConnFailure(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + addresses := []string{"10.10.5.20:3200", "10.10.5.21:3200"} + var e2tInstances []*entities.E2TInstance = nil + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + readerMock.On("GetE2TInstances", addresses).Return(e2tInstances, mockErr) + + res, err := rnibDataService.GetE2TInstances(addresses) + readerMock.AssertNumberOfCalls(t, "GetE2TInstances", 3) + assert.Nil(t, res) + assert.NotNil(t, err) +} + +func TestGetE2TInstancesOkNoError(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + addresses := []string{"10.10.5.20:3200", "10.10.5.21:3200"} + e2tInstance := []*entities.E2TInstance{} + readerMock.On("GetE2TInstances", addresses).Return(e2tInstance, nil) + + res, err := rnibDataService.GetE2TInstances(addresses) + readerMock.AssertNumberOfCalls(t, "GetE2TInstances", 1) + assert.Nil(t, err) + assert.Equal(t, e2tInstance, res) +} + +func TestGetE2TInstancesOtherError(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + addresses := []string{"10.10.5.20:3200", "10.10.5.21:3200"} + var e2tInstances []*entities.E2TInstance = nil + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + readerMock.On("GetE2TInstances", addresses).Return(e2tInstances, mockErr) + + res, err := rnibDataService.GetE2TInstances(addresses) + readerMock.AssertNumberOfCalls(t, "GetE2TInstances", 1) + assert.Nil(t, res) + assert.NotNil(t, err) +} + +func TestGetE2TInstancesNoLogsConnFailure(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + addresses := []string{"10.10.5.20:3200", "10.10.5.21:3200"} + var e2tInstances []*entities.E2TInstance = nil + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + readerMock.On("GetE2TInstances", addresses).Return(e2tInstances, mockErr) + + res, err := rnibDataService.GetE2TInstancesNoLogs(addresses) + readerMock.AssertNumberOfCalls(t, "GetE2TInstances", 3) + assert.Nil(t, res) + assert.NotNil(t, err) +} + +func TestGetE2TInstancesNoLogsOkNoError(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + addresses := []string{"10.10.5.20:3200", "10.10.5.21:3200"} + e2tInstance := []*entities.E2TInstance{} + readerMock.On("GetE2TInstances", addresses).Return(e2tInstance, nil) + + res, err := rnibDataService.GetE2TInstancesNoLogs(addresses) + readerMock.AssertNumberOfCalls(t, "GetE2TInstances", 1) + assert.Nil(t, err) + assert.Equal(t, e2tInstance, res) +} + +func TestGetE2TInstancesNoLogsOtherError(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + addresses := []string{"10.10.5.20:3200", "10.10.5.21:3200"} + var e2tInstances []*entities.E2TInstance = nil + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + readerMock.On("GetE2TInstances", addresses).Return(e2tInstances, mockErr) + + res, err := rnibDataService.GetE2TInstancesNoLogs(addresses) + readerMock.AssertNumberOfCalls(t, "GetE2TInstances", 1) + assert.Nil(t, res) + assert.NotNil(t, err) +} + +func TestGetE2TAddressesConnFailure(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + var addresses []string = nil + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + readerMock.On("GetE2TAddresses").Return(addresses, mockErr) + + res, err := rnibDataService.GetE2TAddresses() + readerMock.AssertNumberOfCalls(t, "GetE2TAddresses", 3) + assert.Nil(t, res) + assert.NotNil(t, err) +} + +func TestGetE2TAddressesOkNoError(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + addresses := []string{"10.10.5.20:3200", "10.10.5.21:3200"} + readerMock.On("GetE2TAddresses").Return(addresses, nil) + + res, err := rnibDataService.GetE2TAddresses() + readerMock.AssertNumberOfCalls(t, "GetE2TAddresses", 1) + assert.Nil(t, err) + assert.Equal(t, addresses, res) +} + +func TestGetE2TAddressesOtherError(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + var addresses []string = nil + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + readerMock.On("GetE2TAddresses").Return(addresses, mockErr) + + res, err := rnibDataService.GetE2TAddresses() + readerMock.AssertNumberOfCalls(t, "GetE2TAddresses", 1) + assert.Nil(t, res) + assert.NotNil(t, err) +} + +func TestGetE2TAddressesNoLogsConnFailure(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + var addresses []string = nil + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + readerMock.On("GetE2TAddresses").Return(addresses, mockErr) + + res, err := rnibDataService.GetE2TAddressesNoLogs() + readerMock.AssertNumberOfCalls(t, "GetE2TAddresses", 3) + assert.Nil(t, res) + assert.NotNil(t, err) +} + +func TestGetE2TAddressesNoLogsOkNoError(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + addresses := []string{"10.10.5.20:3200", "10.10.5.21:3200"} + readerMock.On("GetE2TAddresses").Return(addresses, nil) + + res, err := rnibDataService.GetE2TAddressesNoLogs() + readerMock.AssertNumberOfCalls(t, "GetE2TAddresses", 1) + assert.Nil(t, err) + assert.Equal(t, addresses, res) +} + +func TestGetE2TAddressesNoLogsOtherError(t *testing.T) { + rnibDataService, readerMock, _ := setupRnibDataServiceTest(t) + + var addresses []string = nil + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + readerMock.On("GetE2TAddresses").Return(addresses, mockErr) + + res, err := rnibDataService.GetE2TAddressesNoLogs() + readerMock.AssertNumberOfCalls(t, "GetE2TAddresses", 1) + assert.Nil(t, res) + assert.NotNil(t, err) +} + +func TestSaveE2TInstanceConnFailure(t *testing.T) { + e2tInstance := &entities.E2TInstance{} + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + + writerMock.On("SaveE2TInstance", e2tInstance).Return(mockErr) + + err := rnibDataService.SaveE2TInstance(e2tInstance) + writerMock.AssertNumberOfCalls(t, "SaveE2TInstance", 3) + assert.NotNil(t, err) +} + +func TestSaveE2TInstanceOkNoError(t *testing.T) { + e2tInstance := &entities.E2TInstance{} + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + writerMock.On("SaveE2TInstance", e2tInstance).Return(nil) + + err := rnibDataService.SaveE2TInstance(e2tInstance) + writerMock.AssertNumberOfCalls(t, "SaveE2TInstance", 1) + assert.Nil(t, err) +} + +func TestSaveE2TInstanceOtherError(t *testing.T) { + e2tInstance := &entities.E2TInstance{} + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + + writerMock.On("SaveE2TInstance", e2tInstance).Return(mockErr) + + err := rnibDataService.SaveE2TInstance(e2tInstance) + writerMock.AssertNumberOfCalls(t, "SaveE2TInstance", 1) + + assert.NotNil(t, err) +} + +func TestSaveE2TInstanceNoLogsConnFailure(t *testing.T) { + e2tInstance := &entities.E2TInstance{} + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + + writerMock.On("SaveE2TInstance", e2tInstance).Return(mockErr) + + err := rnibDataService.SaveE2TInstanceNoLogs(e2tInstance) + writerMock.AssertNumberOfCalls(t, "SaveE2TInstance", 3) + assert.NotNil(t, err) +} + +func TestSaveE2TInstanceNoLogsOkNoError(t *testing.T) { + e2tInstance := &entities.E2TInstance{} + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + writerMock.On("SaveE2TInstance", e2tInstance).Return(nil) + + err := rnibDataService.SaveE2TInstanceNoLogs(e2tInstance) + writerMock.AssertNumberOfCalls(t, "SaveE2TInstance", 1) + assert.Nil(t, err) +} + +func TestSaveE2TInstanceNoLogsOtherError(t *testing.T) { + e2tInstance := &entities.E2TInstance{} + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + + writerMock.On("SaveE2TInstance", e2tInstance).Return(mockErr) + + err := rnibDataService.SaveE2TInstanceNoLogs(e2tInstance) + writerMock.AssertNumberOfCalls(t, "SaveE2TInstance", 1) + + assert.NotNil(t, err) +} + +func TestSaveE2TAddressesConnFailure(t *testing.T) { + addresses := []string{"10.10.5.20:3200", "10.10.5.21:3200"} + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + + writerMock.On("SaveE2TAddresses", addresses).Return(mockErr) + + err := rnibDataService.SaveE2TAddresses(addresses) + writerMock.AssertNumberOfCalls(t, "SaveE2TAddresses", 3) + assert.NotNil(t, err) +} + +func TestSaveE2TAddressesOkNoError(t *testing.T) { + addresses := []string{"10.10.5.20:3200", "10.10.5.21:3200"} + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + writerMock.On("SaveE2TAddresses", addresses).Return(nil) + + err := rnibDataService.SaveE2TAddresses(addresses) + writerMock.AssertNumberOfCalls(t, "SaveE2TAddresses", 1) + assert.Nil(t, err) +} + +func TestSaveE2TAddressesOtherError(t *testing.T) { + addresses := []string{"10.10.5.20:3200", "10.10.5.21:3200"} + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + + writerMock.On("SaveE2TAddresses", addresses).Return(mockErr) + + err := rnibDataService.SaveE2TAddresses(addresses) + writerMock.AssertNumberOfCalls(t, "SaveE2TAddresses", 1) + + assert.NotNil(t, err) +} + +func TestRemoveE2TInstanceConnFailure(t *testing.T) { + address := "10.10.5.20:3200" + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + + writerMock.On("RemoveE2TInstance", address).Return(mockErr) + + err := rnibDataService.RemoveE2TInstance(address) + writerMock.AssertNumberOfCalls(t, "RemoveE2TInstance", 3) + assert.NotNil(t, err) +} + +func TestRemoveE2TInstanceOkNoError(t *testing.T) { + address := "10.10.5.20:3200" + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + writerMock.On("RemoveE2TInstance", address).Return(nil) + + err := rnibDataService.RemoveE2TInstance(address) + writerMock.AssertNumberOfCalls(t, "RemoveE2TInstance", 1) + assert.Nil(t, err) +} + +func TestRemoveE2TInstanceOtherError(t *testing.T) { + address := "10.10.5.20:3200" + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + + writerMock.On("RemoveE2TInstance", address).Return(mockErr) + + err := rnibDataService.RemoveE2TInstance(address) + writerMock.AssertNumberOfCalls(t, "RemoveE2TInstance", 1) + + assert.NotNil(t, err) +} + +func TestAddNbIdentityConnFailure(t *testing.T) { + gnbType := entities.Node_GNB + nbIdentity := &entities.NbIdentity{} + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + + writerMock.On("AddNbIdentity", gnbType, nbIdentity).Return(mockErr) + + err := rnibDataService.AddNbIdentity(gnbType, nbIdentity) + writerMock.AssertNumberOfCalls(t, "AddNbIdentity", 3) + assert.NotNil(t, err) +} + +func TestAddNbIdentityOkNoError(t *testing.T) { + gnbType := entities.Node_GNB + nbIdentity := &entities.NbIdentity{} + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + writerMock.On("AddNbIdentity", gnbType, nbIdentity).Return(nil) + + err := rnibDataService.AddNbIdentity(gnbType, nbIdentity) + writerMock.AssertNumberOfCalls(t, "AddNbIdentity", 1) + assert.Nil(t, err) +} + +func TestAddNbIdentityOtherError(t *testing.T) { + gnbType := entities.Node_GNB + nbIdentity := &entities.NbIdentity{} + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + + writerMock.On("AddNbIdentity", gnbType, nbIdentity).Return(mockErr) + + err := rnibDataService.AddNbIdentity(gnbType, nbIdentity) + writerMock.AssertNumberOfCalls(t, "AddNbIdentity", 1) + + assert.NotNil(t, err) +} + +func TestRemoveNbIdentityConnFailure(t *testing.T) { + gnbType := entities.Node_GNB + nbIdentity := &entities.NbIdentity{} + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + + writerMock.On("RemoveNbIdentity", gnbType, nbIdentity).Return(mockErr) + + err := rnibDataService.RemoveNbIdentity(gnbType, nbIdentity) + writerMock.AssertNumberOfCalls(t, "RemoveNbIdentity", 3) + assert.NotNil(t, err) +} + +func TestRemoveNbIdentityOkNoError(t *testing.T) { + gnbType := entities.Node_GNB + nbIdentity := &entities.NbIdentity{} + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + writerMock.On("RemoveNbIdentity", gnbType, nbIdentity).Return(nil) + + err := rnibDataService.RemoveNbIdentity(gnbType, nbIdentity) + writerMock.AssertNumberOfCalls(t, "RemoveNbIdentity", 1) + assert.Nil(t, err) +} + +func TestRemoveNbIdentityOtherError(t *testing.T) { + gnbType := entities.Node_GNB + nbIdentity := &entities.NbIdentity{} + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + + writerMock.On("RemoveNbIdentity", gnbType, nbIdentity).Return(mockErr) + + err := rnibDataService.RemoveNbIdentity(gnbType, nbIdentity) + writerMock.AssertNumberOfCalls(t, "RemoveNbIdentity", 1) + assert.NotNil(t, err) +} + +func TestRemoveServedNrCellsConnFailure(t *testing.T) { + var ranName string = "abcd" + var servedNrCells []*entities.ServedNRCell + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + + writerMock.On("RemoveServedNrCells", ranName, servedNrCells).Return(mockErr) + + err := rnibDataService.RemoveServedNrCells(ranName, servedNrCells) + writerMock.AssertNumberOfCalls(t, "RemoveServedNrCells", 3) + assert.NotNil(t, err) +} + +func TestRemoveServedNrCellsOkNoError(t *testing.T) { + var ranName string = "abcd" + var servedNrCells []*entities.ServedNRCell + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + writerMock.On("RemoveServedNrCells", ranName, servedNrCells).Return(nil) + + err := rnibDataService.RemoveServedNrCells(ranName, servedNrCells) + writerMock.AssertNumberOfCalls(t, "RemoveServedNrCells", 1) + assert.Nil(t, err) +} + +func TestRemoveServedNrCellsOtherError(t *testing.T) { + var ranName string = "abcd" + var servedNrCells []*entities.ServedNRCell + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + + writerMock.On("RemoveServedNrCells", ranName, servedNrCells).Return(mockErr) + + err := rnibDataService.RemoveServedNrCells(ranName, servedNrCells) + writerMock.AssertNumberOfCalls(t, "RemoveServedNrCells", 1) + assert.NotNil(t, err) +} + +func TestRemoveEnbConnFailure(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + nodebInfo := &entities.NodebInfo{} + writerMock.On("RemoveEnb", nodebInfo).Return(mockErr) + + err := rnibDataService.RemoveEnb(nodebInfo) + writerMock.AssertNumberOfCalls(t, "RemoveEnb", 3) + assert.NotNil(t, err) +} + +func TestRemoveEnbOkNoError(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + nodebInfo := &entities.NodebInfo{} + writerMock.On("RemoveEnb", nodebInfo).Return(nil) + + err := rnibDataService.RemoveEnb(nodebInfo) + writerMock.AssertNumberOfCalls(t, "RemoveEnb", 1) + assert.Nil(t, err) +} + +func TestRemoveEnbOtherError(t *testing.T) { + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + nodebInfo := &entities.NodebInfo{} + writerMock.On("RemoveEnb", nodebInfo).Return(mockErr) + + err := rnibDataService.RemoveEnb(nodebInfo) + writerMock.AssertNumberOfCalls(t, "RemoveEnb", 1) + assert.NotNil(t, err) +} + +func TestUpdateGnbCellsConnFailure(t *testing.T) { + var servedNrCells []*entities.ServedNRCell + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: &net.OpError{Err: fmt.Errorf("connection error")}} + nodebInfo := &entities.NodebInfo{} + writerMock.On("UpdateGnbCells", nodebInfo, servedNrCells).Return(mockErr) + + err := rnibDataService.UpdateGnbCells(nodebInfo, servedNrCells) + writerMock.AssertNumberOfCalls(t, "UpdateGnbCells", 3) + assert.NotNil(t, err) +} + +func TestUpdateGnbCellsOkNoError(t *testing.T) { + var servedNrCells []*entities.ServedNRCell + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + nodebInfo := &entities.NodebInfo{} + writerMock.On("UpdateGnbCells", nodebInfo, servedNrCells).Return(nil) + + err := rnibDataService.UpdateGnbCells(nodebInfo, servedNrCells) + writerMock.AssertNumberOfCalls(t, "UpdateGnbCells", 1) + assert.Nil(t, err) +} + +func TestUpdateGnbCellsOtherError(t *testing.T) { + var servedNrCells []*entities.ServedNRCell + rnibDataService, _, writerMock := setupRnibDataServiceTest(t) + + mockErr := &common.InternalError{Err: fmt.Errorf("non connection error")} + nodebInfo := &entities.NodebInfo{} + writerMock.On("UpdateGnbCells", nodebInfo, servedNrCells).Return(mockErr) + + err := rnibDataService.UpdateGnbCells(nodebInfo, servedNrCells) + writerMock.AssertNumberOfCalls(t, "UpdateGnbCells", 1) + assert.NotNil(t, err) +}