[RIC-433] Add DeleteEnb implementation
[ric-plt/e2mgr.git] / E2Manager / handlers / httpmsghandlers / delete_all_request_handler_test.go
index e7f8686..f2c5e15 100644 (file)
@@ -47,7 +47,7 @@ const BaseRMUrl = "http://10.10.2.15:12020/routingmanager"
 
 func setupDeleteAllRequestHandlerTest(t *testing.T) (*DeleteAllRequestHandler, *mocks.RnibReaderMock, *mocks.RnibWriterMock, *mocks.RmrMessengerMock, *mocks.HttpClientMock) {
        log := initLog(t)
-       config := configuration.ParseConfiguration()
+       config := &configuration.Configuration{RnibWriter: configuration.RnibWriterConfig{ StateChangeMessageChannel: "RAN_CONNECTION_STATUS_CHANGE"}}
        config.BigRedButtonTimeoutSec = 1
        config.RoutingManager.BaseUrl = BaseRMUrl
 
@@ -61,7 +61,12 @@ func setupDeleteAllRequestHandlerTest(t *testing.T) (*DeleteAllRequestHandler, *
        e2tInstancesManager := managers.NewE2TInstancesManager(rnibDataService, log)
        httpClientMock := &mocks.HttpClientMock{}
        rmClient := clients.NewRoutingManagerClient(log, config, httpClientMock)
-       handler := NewDeleteAllRequestHandler(log, rmrSender, config, rnibDataService, e2tInstancesManager, rmClient)
+
+       ranListManager := managers.NewRanListManager(log)
+       ranAlarmService := services.NewRanAlarmService(log, config)
+       ranConnectStatusChangeManager := managers.NewRanConnectStatusChangeManager(log, rnibDataService,ranListManager, ranAlarmService)
+
+       handler := NewDeleteAllRequestHandler(log, rmrSender, config, rnibDataService, e2tInstancesManager, rmClient, ranConnectStatusChangeManager)
        return handler, readerMock, writerMock, rmrMessengerMock, httpClientMock
 }
 
@@ -121,13 +126,40 @@ func TestTwoRansGetE2TAddressesEmptyListOneGetNodebFailure(t *testing.T) {
        readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
        nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_DISCONNECTED,}
        readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
-       updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
-       writerMock.On("UpdateNodebInfo", updatedNb1).Return(nil)
+
+       updatedNb1 := *nb1
+       updatedNb1.ConnectionStatus = entities.ConnectionStatus_SHUT_DOWN
+       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &updatedNb1, "RanName_1_DISCONNECTED").Return(nil)
+
+       nodeb1NotAssociated := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN}
+       writerMock.On("UpdateNodebInfo", nodeb1NotAssociated).Return(nil)
+
        var nb2 *entities.NodebInfo
        readerMock.On("GetNodeb", "RanName_2").Return(nb2, common.NewInternalError(errors.New("error")))
        _, err := h.Handle(nil)
        assert.IsType(t,&e2managererrors.RnibDbError{}, err)
-       writerMock.AssertNumberOfCalls(t, "UpdateNodebInfo", 1)
+       writerMock.AssertNumberOfCalls(t, "UpdateNodebInfo", 2)
+       writerMock.AssertNumberOfCalls(t, "UpdateNodebInfoOnConnectionStatusInversion", 0)
+       readerMock.AssertExpectations(t)
+}
+
+func TestUpdateNodebInfoOnConnectionStatusInversionFailure(t *testing.T) {
+       h, readerMock, writerMock, _, _ := setupDeleteAllRequestHandlerTest(t)
+       readerMock.On("GetE2TAddresses").Return([]string{}, nil)
+       nbIdentityList := []*entities.NbIdentity{{InventoryName: "RanName_1"}, {InventoryName: "RanName_2"}}
+       readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
+       nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED}
+       readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
+
+       updatedNb1 := *nb1
+       updatedNb1.ConnectionStatus = entities.ConnectionStatus_SHUT_DOWN
+       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &updatedNb1, "RanName_1_DISCONNECTED").Return(common.NewInternalError(errors.New("error")))
+
+       _, err := h.Handle(nil)
+
+       assert.IsType(t,&e2managererrors.RnibDbError{}, err)
+       writerMock.AssertNumberOfCalls(t, "UpdateNodebInfo", 0)
+       writerMock.AssertNumberOfCalls(t, "UpdateNodebInfoOnConnectionStatusInversion", 1)
        readerMock.AssertExpectations(t)
 }
 
@@ -179,6 +211,59 @@ func TestOneRanDissociateFailsTryShuttingDownFailure(t *testing.T) {
        writerMock.AssertExpectations(t)
 }
 
+func TestOneRanWithStateShutDown(t *testing.T) {
+       h, readerMock, writerMock, rmrMessengerMock, httpClientMock := setupDeleteAllRequestHandlerTest(t)
+       e2tAddresses := []string{E2TAddress}
+       readerMock.On("GetE2TAddresses").Return(e2tAddresses, nil)
+       mockHttpClientDissociateAllRans(httpClientMock, e2tAddresses, true)
+       nbIdentityList := []*entities.NbIdentity{{InventoryName: "RanName_1"}}
+       readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
+
+       nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN}
+       readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
+       readerMock.On("GetE2TAddresses").Return([]string{E2TAddress}, nil)
+
+       e2tInstance := entities.E2TInstance{Address: E2TAddress, AssociatedRanList: []string{"RanName_1"}}
+       readerMock.On("GetE2TInstances", []string{E2TAddress}).Return([]*entities.E2TInstance{&e2tInstance}, nil)
+       updatedE2tInstance := e2tInstance
+       updatedE2tInstance.AssociatedRanList = []string{}
+       writerMock.On("SaveE2TInstance", &updatedE2tInstance).Return(nil)
+
+       rmrMessage := models.RmrMessage{MsgType: rmrCgo.RIC_SCTP_CLEAR_ALL}
+       mbuf := rmrCgo.NewMBuf(rmrMessage.MsgType, len(rmrMessage.Payload), rmrMessage.RanName, &rmrMessage.Payload, &rmrMessage.XAction, rmrMessage.GetMsgSrc())
+       rmrMessengerMock.On("SendMsg", mbuf, true).Return(mbuf, nil)
+
+       _, err := h.Handle(nil)
+
+       assert.Nil(t, err)
+       rmrMessengerMock.AssertCalled(t, "SendMsg", mbuf, true)
+       readerMock.AssertExpectations(t)
+       writerMock.AssertExpectations(t)
+}
+
+func TestOneRanShutDown(t *testing.T) {
+       h, readerMock, writerMock, _, httpClientMock := setupDeleteAllRequestHandlerTest(t)
+       e2tAddresses := []string{}
+       readerMock.On("GetE2TAddresses").Return(e2tAddresses, nil)
+       mockHttpClientDissociateAllRans(httpClientMock, e2tAddresses, true)
+       nbIdentityList := []*entities.NbIdentity{{InventoryName: "RanName_1"}}
+       readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
+
+       nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN}
+       readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
+
+       nodeb1NotAssociated := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
+       writerMock.On("UpdateNodebInfo", nodeb1NotAssociated).Return(nil)
+
+       readerMock.On("GetE2TAddresses").Return([]string{E2TAddress}, nil)
+
+       _, err := h.Handle(nil)
+
+       assert.Nil(t, err)
+       readerMock.AssertExpectations(t)
+       writerMock.AssertExpectations(t)
+}
+
 func TestOneRanTryShuttingDownSucceedsClearFails(t *testing.T) {
        h, readerMock, writerMock, _, httpClientMock := setupDeleteAllRequestHandlerTest(t)
        e2tAddresses := []string{E2TAddress}
@@ -186,10 +271,17 @@ func TestOneRanTryShuttingDownSucceedsClearFails(t *testing.T) {
        mockHttpClientDissociateAllRans(httpClientMock, e2tAddresses, true)
        nbIdentityList := []*entities.NbIdentity{{InventoryName: "RanName_1"}}
        readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
+
        nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED, AssociatedE2TInstanceAddress: E2TAddress}
        readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
-       updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
-       writerMock.On("UpdateNodebInfo", updatedNb1).Return(nil)
+
+       updatedNb1 := *nb1
+       updatedNb1.ConnectionStatus = entities.ConnectionStatus_SHUTTING_DOWN
+       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &updatedNb1, "RanName_1_DISCONNECTED").Return(nil)
+
+       nodeb1NotAssociated := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
+       writerMock.On("UpdateNodebInfo", nodeb1NotAssociated).Return(nil)
+
        readerMock.On("GetE2TAddresses").Return([]string{E2TAddress}, nil)
        readerMock.On("GetE2TInstances", []string{E2TAddress}).Return([]*entities.E2TInstance{}, common.NewInternalError(errors.New("error")))
        _, err := h.Handle(nil)
@@ -198,6 +290,31 @@ func TestOneRanTryShuttingDownSucceedsClearFails(t *testing.T) {
        writerMock.AssertExpectations(t)
 }
 
+func TestOneRanTryShuttingDownUpdateNodebError(t *testing.T) {
+       h, readerMock, writerMock, _, httpClientMock := setupDeleteAllRequestHandlerTest(t)
+       e2tAddresses := []string{E2TAddress}
+       readerMock.On("GetE2TAddresses").Return(e2tAddresses, nil)
+       mockHttpClientDissociateAllRans(httpClientMock, e2tAddresses, true)
+       nbIdentityList := []*entities.NbIdentity{{InventoryName: "RanName_1"}}
+       readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
+
+       nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED, AssociatedE2TInstanceAddress: E2TAddress}
+       readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
+
+       updatedNb1 := *nb1
+       updatedNb1.ConnectionStatus = entities.ConnectionStatus_SHUTTING_DOWN
+       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &updatedNb1, "RanName_1_DISCONNECTED").Return(nil)
+
+       nodeb1NotAssociated := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
+       writerMock.On("UpdateNodebInfo", nodeb1NotAssociated).Return(common.NewInternalError(errors.New("error")))
+
+       _, err := h.Handle(nil)
+
+       assert.IsType(t, &e2managererrors.RnibDbError{}, err)
+       readerMock.AssertExpectations(t)
+       writerMock.AssertExpectations(t)
+}
+
 func TestOneRanTryShuttingDownSucceedsClearSucceedsRmrSendFails(t *testing.T) {
        h, readerMock, writerMock, rmrMessengerMock, httpClientMock := setupDeleteAllRequestHandlerTest(t)
        e2tAddresses := []string{E2TAddress}
@@ -207,8 +324,14 @@ func TestOneRanTryShuttingDownSucceedsClearSucceedsRmrSendFails(t *testing.T) {
        readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
        nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED, AssociatedE2TInstanceAddress: E2TAddress}
        readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
-       updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
-       writerMock.On("UpdateNodebInfo", updatedNb1).Return(nil)
+
+       updatedNb1 := *nb1
+       updatedNb1.ConnectionStatus = entities.ConnectionStatus_SHUTTING_DOWN
+       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &updatedNb1, "RanName_1_DISCONNECTED").Return(nil)
+
+       nodeb1NotAssociated := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
+       writerMock.On("UpdateNodebInfo", nodeb1NotAssociated).Return(nil)
+
        readerMock.On("GetE2TAddresses").Return([]string{E2TAddress}, nil)
        e2tInstance := entities.E2TInstance{Address: E2TAddress, AssociatedRanList: []string{"RanName_1"}}
        readerMock.On("GetE2TInstances", []string{E2TAddress}).Return([]*entities.E2TInstance{&e2tInstance}, nil)
@@ -269,73 +392,51 @@ func TestTwoRansTryShuttingDownSucceedsClearSucceedsRmrSucceedsAllRansAreShutdow
        testTwoRansTryShuttingDownSucceedsClearSucceedsRmrSucceedsAllRansAreShutdown(t, true)
 }
 
-//func TestOneRanTryShuttingDownSucceedsClearSucceedsRmrSucceedsRanStatusIsAlreadyShutdown(t *testing.T) {
-//     h, readerMock, writerMock, rmrMessengerMock, httpClientMock := setupDeleteAllRequestHandlerTest(t)
-//     e2tAddresses := []string{E2TAddress}
-
-//     readerMock.On("GetE2TAddresses").Return(e2tAddresses , nil)
-//     mockHttpClientDissociateAllRans(httpClientMock, e2tAddresses ,true)
-//     nbIdentityList := []*entities.NbIdentity{{InventoryName: "RanName_1"}}
-//     readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
-//     nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED, AssociatedE2TInstanceAddress: E2TAddress}
-//     readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
-//     updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
-//     writerMock.On("UpdateNodebInfo", updatedNb1).Return(nil)
-//     readerMock.On("GetE2TAddresses").Return([]string{E2TAddress}, nil)
-//     e2tInstance := entities.E2TInstance{Address: E2TAddress, AssociatedRanList: []string{"RanName_1"}}
-//     readerMock.On("GetE2TInstances", []string{E2TAddress}).Return([]*entities.E2TInstance{&e2tInstance }, nil)
-//     updatedE2tInstance := e2tInstance
-//     updatedE2tInstance.AssociatedRanList = []string{}
-//     writerMock.On("SaveE2TInstance", &updatedE2tInstance).Return(nil)
-//
-//     rmrMessage := models.RmrMessage{MsgType: rmrCgo.RIC_SCTP_CLEAR_ALL}
-//     mbuf := rmrCgo.NewMBuf(rmrMessage.MsgType, len(rmrMessage.Payload), rmrMessage.RanName, &rmrMessage.Payload, &rmrMessage.XAction)
-//     rmrMessengerMock.On("SendMsg", mbuf, true).Return(mbuf, nil)
-//
-//     readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
-//     nbAfterTimer := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
-//     readerMock.On("GetNodeb", /*"RanName_1"*/mock.Anything).Return(nbAfterTimer , nil) // Since this is a second call with same arguments we send mock.Anything due to mock limitations
-//     _, err := h.Handle(nil)
-//     assert.Nil(t, err)
-//     rmrMessengerMock.AssertCalled(t, "SendMsg",mbuf, true)
-//     readerMock.AssertExpectations(t)
-//     writerMock.AssertExpectations(t)
-//     writerMock.AssertNumberOfCalls(t, "UpdateNodebInfo", 1)
-//}
-
-//func TestOneRanTryShuttingDownSucceedsClearSucceedsRmrSucceedsRanStatusIsShuttingDownUpdateFailure(t *testing.T) {
-//     h, readerMock, writerMock, rmrMessengerMock, httpClientMock := setupDeleteAllRequestHandlerTest(t)
-//     e2tAddresses := []string{E2TAddress}
-//     readerMock.On("GetE2TAddresses").Return(e2tAddresses, nil)
-//     mockHttpClientDissociateAllRans(httpClientMock, e2tAddresses, true)
-//     nbIdentityList := []*entities.NbIdentity{{InventoryName: "RanName_1"}}
-//     readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
-//     //nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED, AssociatedE2TInstanceAddress: E2TAddress}
-//     //readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
-//     updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
-//     writerMock.On("UpdateNodebInfo", updatedNb1).Return(nil)
-//     readerMock.On("GetE2TAddresses").Return([]string{E2TAddress}, nil)
-//     e2tInstance := entities.E2TInstance{Address: E2TAddress, AssociatedRanList: []string{"RanName_1"}}
-//     readerMock.On("GetE2TInstances", []string{E2TAddress}).Return([]*entities.E2TInstance{&e2tInstance}, nil)
-//     updatedE2tInstance := e2tInstance
-//     updatedE2tInstance.AssociatedRanList = []string{}
-//     writerMock.On("SaveE2TInstance", &updatedE2tInstance).Return(nil)
-//
-//     rmrMessage := models.RmrMessage{MsgType: rmrCgo.RIC_SCTP_CLEAR_ALL}
-//     mbuf := rmrCgo.NewMBuf(rmrMessage.MsgType, len(rmrMessage.Payload), rmrMessage.RanName, &rmrMessage.Payload, &rmrMessage.XAction)
-//     rmrMessengerMock.On("SendMsg", mbuf, true).Return(mbuf, nil)
-//
-//     readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
-//     readerMock.On("GetNodeb", "RanName_1").Return(updatedNb1, nil)
-//     updatedNb2 := *updatedNb1
-//     updatedNb2.ConnectionStatus = entities.ConnectionStatus_SHUT_DOWN
-//     writerMock.On("UpdateNodebInfo", &updatedNb2).Return(common.NewInternalError(errors.New("error")))
-//     _, err := h.Handle(nil)
-//     assert.IsType(t,&e2managererrors.RnibDbError{}, err)
-//     rmrMessengerMock.AssertCalled(t, "SendMsg", mbuf, true)
-//     readerMock.AssertExpectations(t)
-//     writerMock.AssertExpectations(t)
-//}
+func TestOneRanTryShuttingDownSucceedsClearSucceedsRmrSucceedsRanStatusIsShuttingDownUpdateFailure(t *testing.T) {
+       h, readerMock, writerMock, rmrMessengerMock, httpClientMock := setupDeleteAllRequestHandlerTest(t)
+       e2tAddresses := []string{E2TAddress}
+       readerMock.On("GetE2TAddresses").Return(e2tAddresses, nil)
+       mockHttpClientDissociateAllRans(httpClientMock, e2tAddresses, true)
+       nbIdentityList := []*entities.NbIdentity{{InventoryName: "RanName_1"}}
+       readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
+
+       nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN, AssociatedE2TInstanceAddress: E2TAddress}
+       readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
+
+       updatedNb1 := *nb1 //&entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN, AssociatedE2TInstanceAddress: E2TAddress}
+       writerMock.On("UpdateNodebInfo", &updatedNb1).Return(nil)
+
+       nodeb1NotAssociated := *nb1
+       nodeb1NotAssociated.AssociatedE2TInstanceAddress = ""
+       nodeb1NotAssociated.ConnectionStatus = entities.ConnectionStatus_SHUTTING_DOWN
+       writerMock.On("UpdateNodebInfo", &nodeb1NotAssociated).Return(nil)
+
+       readerMock.On("GetE2TAddresses").Return([]string{E2TAddress}, nil)
+       e2tInstance := entities.E2TInstance{Address: E2TAddress, AssociatedRanList: []string{"RanName_1"}}
+       readerMock.On("GetE2TInstances", []string{E2TAddress}).Return([]*entities.E2TInstance{&e2tInstance}, nil)
+       updatedE2tInstance := e2tInstance
+       updatedE2tInstance.AssociatedRanList = []string{}
+       writerMock.On("SaveE2TInstance", &updatedE2tInstance).Return(nil)
+
+       rmrMessage := models.RmrMessage{MsgType: rmrCgo.RIC_SCTP_CLEAR_ALL}
+       mbuf := rmrCgo.NewMBuf(rmrMessage.MsgType, len(rmrMessage.Payload), rmrMessage.RanName, &rmrMessage.Payload, &rmrMessage.XAction, rmrMessage.GetMsgSrc())
+       rmrMessengerMock.On("SendMsg", mbuf, true).Return(mbuf, nil)
+
+       readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
+       readerMock.On("GetNodeb", "RanName_1").Return(updatedNb1, nil)
+
+       updatedNb2 := *nb1//&entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUT_DOWN,}
+       updatedNb2.ConnectionStatus = entities.ConnectionStatus_SHUT_DOWN
+       updatedNb2.AssociatedE2TInstanceAddress = ""
+       writerMock.On("UpdateNodebInfo", &updatedNb2).Return(common.NewInternalError(errors.New("error")))
+
+       _, err := h.Handle(nil)
+
+       assert.IsType(t, &e2managererrors.RnibDbError{}, err)
+       rmrMessengerMock.AssertCalled(t, "SendMsg", mbuf, true)
+       readerMock.AssertExpectations(t)
+       writerMock.AssertExpectations(t)
+}
 
 func testOneRanTryShuttingDownSucceedsClearSucceedsRmrSucceedsRanStatusIsShuttingDown(t *testing.T, partial bool) {
        h, readerMock, writerMock, rmrMessengerMock, httpClientMock := setupDeleteAllRequestHandlerTest(t)
@@ -344,8 +445,6 @@ func testOneRanTryShuttingDownSucceedsClearSucceedsRmrSucceedsRanStatusIsShuttin
        mockHttpClientDissociateAllRans(httpClientMock, e2tAddresses, !partial)
        nbIdentityList := []*entities.NbIdentity{{InventoryName: "RanName_1"}}
        readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
-       //nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED, AssociatedE2TInstanceAddress: E2TAddress}
-       //readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
        updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
        writerMock.On("UpdateNodebInfo", updatedNb1).Return(nil)
        readerMock.On("GetE2TAddresses").Return([]string{E2TAddress}, nil)
@@ -368,7 +467,7 @@ func testOneRanTryShuttingDownSucceedsClearSucceedsRmrSucceedsRanStatusIsShuttin
        rmrMessengerMock.AssertCalled(t, "SendMsg", mbuf, true)
        readerMock.AssertExpectations(t)
        writerMock.AssertExpectations(t)
-       writerMock.AssertNumberOfCalls(t, "UpdateNodebInfo", 2)
+       writerMock.AssertNumberOfCalls(t, "UpdateNodebInfo", 3)
 }
 
 func TestOneRanTryShuttingDownSucceedsClearSucceedsRmrSucceedsRanStatusIsShuttingDownSuccess (t *testing.T) {
@@ -386,18 +485,6 @@ func TestSuccessTwoE2TInstancesSixRans(t *testing.T) {
        mockHttpClientDissociateAllRans(httpClientMock, e2tAddresses, true)
        nbIdentityList := []*entities.NbIdentity{{InventoryName: "RanName_1"}, {InventoryName: "RanName_2"}, {InventoryName: "RanName_3"}, {InventoryName: "RanName_4"}, {InventoryName: "RanName_5"}, {InventoryName: "RanName_6"}}
        readerMock.On("GetListNodebIds").Return(nbIdentityList, nil)
-       //nb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_CONNECTED, AssociatedE2TInstanceAddress: E2TAddress}
-       //readerMock.On("GetNodeb", "RanName_1").Return(nb1, nil)
-       //nb2 := &entities.NodebInfo{RanName: "RanName_2", ConnectionStatus: entities.ConnectionStatus_CONNECTED, AssociatedE2TInstanceAddress: E2TAddress}
-       //readerMock.On("GetNodeb", "RanName_2").Return(nb2, nil)
-       //nb3 := &entities.NodebInfo{RanName: "RanName_3", ConnectionStatus: entities.ConnectionStatus_CONNECTED, AssociatedE2TInstanceAddress: E2TAddress}
-       //readerMock.On("GetNodeb", "RanName_3").Return(nb3, nil)
-       //nb4 := &entities.NodebInfo{RanName: "RanName_4", ConnectionStatus: entities.ConnectionStatus_CONNECTED, AssociatedE2TInstanceAddress: E2TAddress2}
-       //readerMock.On("GetNodeb", "RanName_4").Return(nb4, nil)
-       //nb5 := &entities.NodebInfo{RanName: "RanName_5", ConnectionStatus: entities.ConnectionStatus_CONNECTED, AssociatedE2TInstanceAddress: E2TAddress2}
-       //readerMock.On("GetNodeb", "RanName_5").Return(nb5, nil)
-       //nb6 := &entities.NodebInfo{RanName: "RanName_6", ConnectionStatus: entities.ConnectionStatus_CONNECTED, AssociatedE2TInstanceAddress: E2TAddress2}
-       //readerMock.On("GetNodeb", "RanName_6").Return(nb6, nil)
 
        updatedNb1 := &entities.NodebInfo{RanName: "RanName_1", ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,}
        writerMock.On("UpdateNodebInfo", updatedNb1).Return(nil)
@@ -458,7 +545,7 @@ func TestSuccessTwoE2TInstancesSixRans(t *testing.T) {
        rmrMessengerMock.AssertCalled(t, "SendMsg", mbuf, true)
        readerMock.AssertExpectations(t)
        writerMock.AssertExpectations(t)
-       writerMock.AssertNumberOfCalls(t, "UpdateNodebInfo", 12)
+       writerMock.AssertNumberOfCalls(t, "UpdateNodebInfo", 18)
 }
 
 func initLog(t *testing.T) *logger.Logger {