X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=E2Manager%2Fhandlers%2Fhttpmsghandlers%2Fdelete_all_request_handler_test.go;h=9cdcf045e8087c28ce7adaebb56246f4ce1b0f2e;hb=db0380732b248c2343c95cdd56b33a50b3383d66;hp=e7f86867cb8e4c045cf28999cbfdd75f0d78b190;hpb=ab8f039d2f4288ceba5d0ce6c95172210fe60776;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/handlers/httpmsghandlers/delete_all_request_handler_test.go b/E2Manager/handlers/httpmsghandlers/delete_all_request_handler_test.go index e7f8686..9cdcf04 100644 --- a/E2Manager/handlers/httpmsghandlers/delete_all_request_handler_test.go +++ b/E2Manager/handlers/httpmsghandlers/delete_all_request_handler_test.go @@ -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{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, "RAN_CONNECTION_STATUS_CHANGE", "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, "RAN_CONNECTION_STATUS_CHANGE", "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, "RAN_CONNECTION_STATUS_CHANGE", "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, "RAN_CONNECTION_STATUS_CHANGE", "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, "RAN_CONNECTION_STATUS_CHANGE", "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 {