Merge "Improve unit test coverage"
[ric-plt/e2mgr.git] / E2Manager / services / rnib_data_service_test.go
index 5460608..a505cb7 100644 (file)
@@ -107,6 +107,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)
 
@@ -216,6 +237,275 @@ func TestConnFailureWithAnotherConfig(t *testing.T) {
        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)
 
@@ -301,7 +591,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"
@@ -315,6 +605,478 @@ func TestGetE2TInstanceOkOtherError(t *testing.T) {
        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)
 
@@ -349,3 +1111,41 @@ func TestRemoveEnbOtherError(t *testing.T) {
        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)
+}