From 9d693ce7e8ec7e832f592bfe9e63109297b1ec01 Mon Sep 17 00:00:00 2001 From: is005q Date: Mon, 9 Dec 2019 10:06:54 +0200 Subject: [PATCH] [RICPLT-2523] Improvements... Change-Id: Ic69e9cf5648aff84133cb6cc1750c65950348471 Signed-off-by: is005q --- .../httpmsghandlers/setup_request_handler.go | 5 +- .../httpmsghandlers/setup_request_handler_test.go | 6 +- .../e2_term_init_notification_handler_test.go | 16 ++--- E2Manager/managers/e2t_instances_manager_test.go | 83 ++++++++++++---------- E2Manager/rNibWriter/rNibWriter_test.go | 4 +- 5 files changed, 61 insertions(+), 53 deletions(-) diff --git a/E2Manager/handlers/httpmsghandlers/setup_request_handler.go b/E2Manager/handlers/httpmsghandlers/setup_request_handler.go index 981e9c6..e64347d 100644 --- a/E2Manager/handlers/httpmsghandlers/setup_request_handler.go +++ b/E2Manager/handlers/httpmsghandlers/setup_request_handler.go @@ -114,13 +114,12 @@ func (h *SetupRequestHandler) connectExistingRanWithoutAssociatedE2TAddress(node if err != nil { h.logger.Errorf("#SetupRequestHandler.connectExistingRanWithoutAssociatedE2TAddress - RAN name: %s - failed selecting E2T instance", nodebInfo.RanName) - // TODO: reset connection attempts? - - if nodebInfo.ConnectionStatus == entities.ConnectionStatus_DISCONNECTED { + if nodebInfo.ConnectionStatus == entities.ConnectionStatus_DISCONNECTED && nodebInfo.ConnectionAttempts == 0 { return err } nodebInfo.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED + nodebInfo.ConnectionAttempts = 0 updateError := h.rNibDataService.UpdateNodebInfo(nodebInfo) if updateError != nil { diff --git a/E2Manager/handlers/httpmsghandlers/setup_request_handler_test.go b/E2Manager/handlers/httpmsghandlers/setup_request_handler_test.go index 5556eb1..9f1fbb2 100644 --- a/E2Manager/handlers/httpmsghandlers/setup_request_handler_test.go +++ b/E2Manager/handlers/httpmsghandlers/setup_request_handler_test.go @@ -84,7 +84,7 @@ func TestX2SetupHandleInvalidIpError(t *testing.T) { readerMock.AssertNotCalled(t, "GetNodeb") } -func TestX2SetupHandleGetNodebFailure(t *testing.T) { +func TestSetupGetNodebFailure(t *testing.T) { readerMock, _, handler, _, _ := initSetupRequestTest(t, entities.E2ApplicationProtocol_X2_SETUP_REQUEST) rnibErr := &common.ValidationError{} @@ -243,7 +243,7 @@ func TestSetupExistingRanWithoutAssocE2TInstanceSelectNoInstanceErrorUpdateFailu ranSetupManagerMock.AssertNotCalled(t, "ExecuteSetup") } -func TestSetupExistingRanWithoutAssocE2TInstanceSelectErrorDisconnected(t *testing.T) { +func TestSetupExistingRanWithoutAssocE2TInstanceSelectErrorAlreadyDisconnected(t *testing.T) { readerMock, writerMock, handler, e2tInstancesManagerMock, ranSetupManagerMock := initSetupRequestTest(t, entities.E2ApplicationProtocol_X2_SETUP_REQUEST) nb := &entities.NodebInfo{RanName: RanName, AssociatedE2TInstanceAddress:"", ConnectionStatus:entities.ConnectionStatus_DISCONNECTED} readerMock.On("GetNodeb", RanName).Return(nb , nil) @@ -326,7 +326,7 @@ func TestSetupExistingRanWithAssocE2TInstanceUpdateNodebFailure(t *testing.T) { ranSetupManagerMock.AssertNotCalled(t, "ExecuteSetup") } -func TestSetupExistingConnectedRanWithAssocE2TInstanceSuccess(t *testing.T) { +func TestSetupExistingRanWithAssocE2TInstanceConnectedSuccess(t *testing.T) { readerMock, writerMock, handler, e2tInstancesManagerMock, ranSetupManagerMock := initSetupRequestTest(t, entities.E2ApplicationProtocol_X2_SETUP_REQUEST) nb := &entities.NodebInfo{RanName: RanName, AssociatedE2TInstanceAddress:E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED} readerMock.On("GetNodeb", RanName).Return(nb , nil) diff --git a/E2Manager/handlers/rmrmsghandlers/e2_term_init_notification_handler_test.go b/E2Manager/handlers/rmrmsghandlers/e2_term_init_notification_handler_test.go index 2cfc6f5..d9bca7c 100644 --- a/E2Manager/handlers/rmrmsghandlers/e2_term_init_notification_handler_test.go +++ b/E2Manager/handlers/rmrmsghandlers/e2_term_init_notification_handler_test.go @@ -103,7 +103,7 @@ func TestE2TermInitExistingE2TInstanceNoAssociatedRans(t *testing.T) { e2tInstancesManagerMock.AssertCalled(t, "GetE2TInstance", e2tInstanceAddress) } -func TestE2TerminInitHandlerSuccessOneRan(t *testing.T) { +func TestE2TermInitHandlerSuccessOneRan(t *testing.T) { _, handler, readerMock, writerMock, rmrMessengerMock, e2tInstancesManagerMock := initRanLostConnectionTest(t) var rnibErr error @@ -130,11 +130,9 @@ func TestE2TerminInitHandlerSuccessOneRan(t *testing.T) { rmrMessengerMock.AssertNumberOfCalls(t, "SendMsg", 1) } -func TestE2TerminInitHandlerSuccessTwoRans(t *testing.T) { +func TestE2TermInitHandlerSuccessTwoRans(t *testing.T) { _, handler, readerMock, writerMock, rmrMessengerMock, e2tInstancesManagerMock := initRanLostConnectionTest(t) var rnibErr error - - var initialNodeb0 = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST} var initialNodeb1 = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST} readerMock.On("GetNodeb", RanName).Return(initialNodeb0, rnibErr) @@ -160,7 +158,7 @@ func TestE2TerminInitHandlerSuccessTwoRans(t *testing.T) { rmrMessengerMock.AssertNumberOfCalls(t, "SendMsg", 2) } -func TestE2TerminInitHandlerSuccessThreeRansFirstRmrFailure(t *testing.T) { +func TestE2TermInitHandlerSuccessThreeRansFirstRmrFailure(t *testing.T) { log, handler, readerMock, writerMock, rmrMessengerMock, e2tInstancesManagerMock := initRanLostConnectionTest(t) var rnibErr error @@ -202,7 +200,7 @@ func TestE2TerminInitHandlerSuccessThreeRansFirstRmrFailure(t *testing.T) { rmrMessengerMock.AssertNumberOfCalls(t, "SendMsg", 1) } -func TestE2TerminInitHandlerSuccessThreeRansSecondNotFoundFailure(t *testing.T) { +func TestE2TermInitHandlerSuccessThreeRansSecondNotFoundFailure(t *testing.T) { log, handler, readerMock, writerMock, rmrMessengerMock, e2tInstancesManagerMock := initRanLostConnectionTest(t) var rnibErr error @@ -250,7 +248,7 @@ func TestE2TerminInitHandlerSuccessThreeRansSecondNotFoundFailure(t *testing.T) rmrMessengerMock.AssertNumberOfCalls(t, "SendMsg", 2) } -func TestE2TerminInitHandlerSuccessThreeRansSecondRnibInternalErrorFailure(t *testing.T) { +func TestE2TermInitHandlerSuccessThreeRansSecondRnibInternalErrorFailure(t *testing.T) { log, handler, readerMock, writerMock, rmrMessengerMock, e2tInstancesManagerMock := initRanLostConnectionTest(t) var rnibErr error @@ -298,7 +296,7 @@ func TestE2TerminInitHandlerSuccessThreeRansSecondRnibInternalErrorFailure(t *te rmrMessengerMock.AssertNumberOfCalls(t, "SendMsg", 1) } -func TestE2TerminInitHandlerSuccessZeroRans(t *testing.T) { +func TestE2TermInitHandlerSuccessZeroRans(t *testing.T) { _, handler, _, writerMock, rmrMessengerMock, e2tInstancesManagerMock := initRanLostConnectionTest(t) e2tInstance := entities.NewE2TInstance(e2tInstanceAddress) @@ -311,7 +309,7 @@ func TestE2TerminInitHandlerSuccessZeroRans(t *testing.T) { rmrMessengerMock.AssertNumberOfCalls(t, "SendMsg", 0) } -func TestE2TerminInitHandlerFailureGetListNodebIds(t *testing.T) { +func TestE2TermInitHandlerFailureGetListNodebIds(t *testing.T) { _, handler, readerMock, writerMock, rmrMessengerMock, e2tInstancesManagerMock := initRanLostConnectionTest(t) var nodebInfo *entities.NodebInfo diff --git a/E2Manager/managers/e2t_instances_manager_test.go b/E2Manager/managers/e2t_instances_manager_test.go index 88f940b..2c71cd3 100644 --- a/E2Manager/managers/e2t_instances_manager_test.go +++ b/E2Manager/managers/e2t_instances_manager_test.go @@ -49,7 +49,18 @@ func TestAddNewE2TInstanceGetE2TAddressesInternalFailure(t *testing.T) { rnibReaderMock.AssertNotCalled(t, "SaveE2TAddresses") } -func TestAddNewE2TInstanceNoE2TAddresses(t *testing.T) { +func TestAddNewE2TInstanceSaveE2TAddressesFailure(t *testing.T) { + rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) + rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(nil) + E2TAddresses := []string{} + rnibReaderMock.On("GetE2TAddresses").Return(E2TAddresses, nil) + E2TAddresses = append(E2TAddresses, E2TAddress) + rnibWriterMock.On("SaveE2TAddresses", E2TAddresses).Return(common.NewResourceNotFoundError("")) + err := e2tInstancesManager.AddE2TInstance(E2TAddress) + assert.NotNil(t, err) +} + +func TestAddNewE2TInstanceNoE2TAddressesSuccess(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(nil) e2tAddresses := []string{} @@ -61,7 +72,7 @@ func TestAddNewE2TInstanceNoE2TAddresses(t *testing.T) { rnibWriterMock.AssertCalled(t, "SaveE2TAddresses", e2tAddresses) } -func TestAddNewE2TInstanceEmptyE2TAddresses(t *testing.T) { +func TestAddNewE2TInstanceEmptyE2TAddressesSuccess(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(nil) e2tAddresses := []string{} @@ -73,25 +84,15 @@ func TestAddNewE2TInstanceEmptyE2TAddresses(t *testing.T) { rnibWriterMock.AssertCalled(t, "SaveE2TAddresses", e2tAddresses) } -func TestAddNewE2TInstanceSaveE2TAddressesFailure(t *testing.T) { +func TestAddNewE2TInstanceExistingE2TAddressesSuccess(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(nil) - E2TAddresses := []string{} + E2TAddresses := []string{"10.0.1.15:3030"} rnibReaderMock.On("GetE2TAddresses").Return(E2TAddresses, nil) E2TAddresses = append(E2TAddresses, E2TAddress) - rnibWriterMock.On("SaveE2TAddresses", E2TAddresses).Return(common.NewResourceNotFoundError("")) + rnibWriterMock.On("SaveE2TAddresses", E2TAddresses).Return(nil) err := e2tInstancesManager.AddE2TInstance(E2TAddress) - assert.NotNil(t, err) -} - -func TestGetE2TInstanceSuccess(t *testing.T) { - rnibReaderMock, _, e2tInstancesManager := initE2TInstancesManagerTest(t) - address := "10.10.2.15:9800" - e2tInstance := entities.NewE2TInstance(address) - rnibReaderMock.On("GetE2TInstance", address).Return(e2tInstance, nil) - res, err := e2tInstancesManager.GetE2TInstance(address) assert.Nil(t, err) - assert.Equal(t, e2tInstance, res) } func TestGetE2TInstanceFailure(t *testing.T) { @@ -103,20 +104,14 @@ func TestGetE2TInstanceFailure(t *testing.T) { assert.Nil(t, res) } -func TestAssociateRanSuccess(t *testing.T) { - rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - e2tInstance := entities.NewE2TInstance(E2TAddress) - rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance, nil) - - updateE2TInstance := *e2tInstance - updateE2TInstance.AssociatedRanList = append(updateE2TInstance.AssociatedRanList, "test1") - - rnibWriterMock.On("SaveE2TInstance", &updateE2TInstance).Return(nil) - - err := e2tInstancesManager.AssociateRan("test1", E2TAddress) +func TestGetE2TInstanceSuccess(t *testing.T) { + rnibReaderMock, _, e2tInstancesManager := initE2TInstancesManagerTest(t) + address := "10.10.2.15:9800" + e2tInstance := entities.NewE2TInstance(address) + rnibReaderMock.On("GetE2TInstance", address).Return(e2tInstance, nil) + res, err := e2tInstancesManager.GetE2TInstance(address) assert.Nil(t, err) - rnibReaderMock.AssertExpectations(t) - rnibWriterMock.AssertExpectations(t) + assert.Equal(t, e2tInstance, res) } func TestAssociateRanGetInstanceFailure(t *testing.T) { @@ -142,17 +137,17 @@ func TestAssociateRanSaveInstanceFailure(t *testing.T) { rnibWriterMock.AssertExpectations(t) } -func TestDissociateRanSuccess(t *testing.T) { +func TestAssociateRanSuccess(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - - e2tInstance := entities.NewE2TInstance(E2TAddress) - e2tInstance.AssociatedRanList = []string{"test0","test1"} - updatedE2TInstance := *e2tInstance - updatedE2TInstance.AssociatedRanList = []string{"test0"} + e2tInstance := entities.NewE2TInstance(E2TAddress) rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance, nil) - rnibWriterMock.On("SaveE2TInstance", &updatedE2TInstance).Return(nil) - err := e2tInstancesManager.DissociateRan("test1", E2TAddress) + updateE2TInstance := *e2tInstance + updateE2TInstance.AssociatedRanList = append(updateE2TInstance.AssociatedRanList, "test1") + + rnibWriterMock.On("SaveE2TInstance", &updateE2TInstance).Return(nil) + + err := e2tInstancesManager.AssociateRan("test1", E2TAddress) assert.Nil(t, err) rnibReaderMock.AssertExpectations(t) rnibWriterMock.AssertExpectations(t) @@ -181,6 +176,22 @@ func TestDissociateRanSaveInstanceFailure(t *testing.T) { rnibWriterMock.AssertExpectations(t) } +func TestDissociateRanSuccess(t *testing.T) { + rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) + + e2tInstance := entities.NewE2TInstance(E2TAddress) + e2tInstance.AssociatedRanList = []string{"test0","test1"} + updatedE2TInstance := *e2tInstance + updatedE2TInstance.AssociatedRanList = []string{"test0"} + rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance, nil) + rnibWriterMock.On("SaveE2TInstance", &updatedE2TInstance).Return(nil) + + err := e2tInstancesManager.DissociateRan("test1", E2TAddress) + assert.Nil(t, err) + rnibReaderMock.AssertExpectations(t) + rnibWriterMock.AssertExpectations(t) +} + func TestSelectE2TInstancesGetE2TAddressesFailure(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) diff --git a/E2Manager/rNibWriter/rNibWriter_test.go b/E2Manager/rNibWriter/rNibWriter_test.go index c09ba79..dd4f793 100644 --- a/E2Manager/rNibWriter/rNibWriter_test.go +++ b/E2Manager/rNibWriter/rNibWriter_test.go @@ -533,7 +533,7 @@ func generateE2tInstance(address string) *entities.E2TInstance { return e2tInstance } -func TestSaveE2TInfoListSuccess(t *testing.T) { +func TestSaveE2TAddressesSuccess(t *testing.T) { address := "10.10.2.15:9800" w, sdlInstanceMock := initSdlInstanceMock(namespace) @@ -553,7 +553,7 @@ func TestSaveE2TInfoListSuccess(t *testing.T) { assert.Nil(t, rNibErr) } -func TestSaveE2TInfoListSdlFailure(t *testing.T) { +func TestSaveE2TAddressesSdlFailure(t *testing.T) { address := "10.10.2.15:9800" w, sdlInstanceMock := initSdlInstanceMock(namespace) -- 2.16.6