X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fmanagers%2Fe2t_instances_manager_test.go;h=380ac0527999e0b2826e3045e4f43223772099cf;hb=0249b5fc410b6c6814906b185dfdf25b27621148;hp=7d48940677de1884a2545bef5748fa70fa99170b;hpb=f846c5987cd35da745534e26ac3a22bdcf8b030a;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/managers/e2t_instances_manager_test.go b/E2Manager/managers/e2t_instances_manager_test.go index 7d48940..380ac05 100644 --- a/E2Manager/managers/e2t_instances_manager_test.go +++ b/E2Manager/managers/e2t_instances_manager_test.go @@ -36,9 +36,11 @@ import ( const E2TAddress = "10.10.2.15:9800" const E2TAddress2 = "10.10.2.16:9800" +const PodName = "som_ pod_name" func initE2TInstancesManagerTest(t *testing.T) (*mocks.RnibReaderMock, *mocks.RnibWriterMock, *E2TInstancesManager) { - logger, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#... - failed to initialize logger, error: %s", err) } @@ -54,7 +56,7 @@ func initE2TInstancesManagerTest(t *testing.T) (*mocks.RnibReaderMock, *mocks.Rn func TestAddNewE2TInstanceSaveE2TInstanceFailure(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(common.NewInternalError(errors.New("Error"))) - err := e2tInstancesManager.AddE2TInstance(E2TAddress) + err := e2tInstancesManager.AddE2TInstance(E2TAddress, PodName) assert.NotNil(t, err) rnibReaderMock.AssertNotCalled(t, "GetE2TAddresses") } @@ -64,7 +66,7 @@ func TestAddNewE2TInstanceGetE2TAddressesInternalFailure(t *testing.T) { rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(nil) e2tAddresses := []string{} rnibReaderMock.On("GetE2TAddresses").Return(e2tAddresses, common.NewInternalError(errors.New("Error"))) - err := e2tInstancesManager.AddE2TInstance(E2TAddress) + err := e2tInstancesManager.AddE2TInstance(E2TAddress, PodName) assert.NotNil(t, err) rnibReaderMock.AssertNotCalled(t, "SaveE2TAddresses") } @@ -76,7 +78,7 @@ func TestAddNewE2TInstanceSaveE2TAddressesFailure(t *testing.T) { rnibReaderMock.On("GetE2TAddresses").Return(E2TAddresses, nil) E2TAddresses = append(E2TAddresses, E2TAddress) rnibWriterMock.On("SaveE2TAddresses", E2TAddresses).Return(common.NewResourceNotFoundError("")) - err := e2tInstancesManager.AddE2TInstance(E2TAddress) + err := e2tInstancesManager.AddE2TInstance(E2TAddress, PodName) assert.NotNil(t, err) } @@ -87,7 +89,7 @@ func TestAddNewE2TInstanceNoE2TAddressesSuccess(t *testing.T) { rnibReaderMock.On("GetE2TAddresses").Return(e2tAddresses, common.NewResourceNotFoundError("")) e2tAddresses = append(e2tAddresses, E2TAddress) rnibWriterMock.On("SaveE2TAddresses", e2tAddresses).Return(nil) - err := e2tInstancesManager.AddE2TInstance(E2TAddress) + err := e2tInstancesManager.AddE2TInstance(E2TAddress, PodName) assert.Nil(t, err) rnibWriterMock.AssertCalled(t, "SaveE2TAddresses", e2tAddresses) } @@ -99,7 +101,7 @@ func TestAddNewE2TInstanceEmptyE2TAddressesSuccess(t *testing.T) { rnibReaderMock.On("GetE2TAddresses").Return(e2tAddresses, nil) e2tAddresses = append(e2tAddresses, E2TAddress) rnibWriterMock.On("SaveE2TAddresses", e2tAddresses).Return(nil) - err := e2tInstancesManager.AddE2TInstance(E2TAddress) + err := e2tInstancesManager.AddE2TInstance(E2TAddress, PodName) assert.Nil(t, err) rnibWriterMock.AssertCalled(t, "SaveE2TAddresses", e2tAddresses) } @@ -111,7 +113,7 @@ func TestAddNewE2TInstanceExistingE2TAddressesSuccess(t *testing.T) { rnibReaderMock.On("GetE2TAddresses").Return(E2TAddresses, nil) E2TAddresses = append(E2TAddresses, E2TAddress) rnibWriterMock.On("SaveE2TAddresses", E2TAddresses).Return(nil) - err := e2tInstancesManager.AddE2TInstance(E2TAddress) + err := e2tInstancesManager.AddE2TInstance(E2TAddress, PodName) assert.Nil(t, err) } @@ -127,7 +129,7 @@ func TestGetE2TInstanceFailure(t *testing.T) { func TestGetE2TInstanceSuccess(t *testing.T) { rnibReaderMock, _, e2tInstancesManager := initE2TInstancesManagerTest(t) address := "10.10.2.15:9800" - e2tInstance := entities.NewE2TInstance(address) + e2tInstance := entities.NewE2TInstance(address, PodName) rnibReaderMock.On("GetE2TInstance", address).Return(e2tInstance, nil) res, err := e2tInstancesManager.GetE2TInstance(address) assert.Nil(t, err) @@ -140,18 +142,18 @@ func TestAddRanToInstanceGetInstanceFailure(t *testing.T) { var e2tInstance1 *entities.E2TInstance rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance1, common.NewInternalError(fmt.Errorf("for test"))) - err := e2tInstancesManager.AddRanToInstance("test1", E2TAddress) + err := e2tInstancesManager.AddRansToInstance(E2TAddress, []string{"test1"}) assert.NotNil(t, err) rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance") } func TestAddRanToInstanceSaveInstanceFailure(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - e2tInstance1 := entities.NewE2TInstance(E2TAddress) + e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName) rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance1, nil) rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(common.NewInternalError(fmt.Errorf("for test"))) - err := e2tInstancesManager.AddRanToInstance("test1", E2TAddress) + err := e2tInstancesManager.AddRansToInstance(E2TAddress, []string{"test1"}) assert.NotNil(t, err) rnibReaderMock.AssertExpectations(t) rnibWriterMock.AssertExpectations(t) @@ -159,7 +161,7 @@ func TestAddRanToInstanceSaveInstanceFailure(t *testing.T) { func TestAddRanToInstanceSuccess(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - e2tInstance := entities.NewE2TInstance(E2TAddress) + e2tInstance := entities.NewE2TInstance(E2TAddress, PodName) rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance, nil) updateE2TInstance := *e2tInstance @@ -167,7 +169,7 @@ func TestAddRanToInstanceSuccess(t *testing.T) { rnibWriterMock.On("SaveE2TInstance", &updateE2TInstance).Return(nil) - err := e2tInstancesManager.AddRanToInstance("test1", E2TAddress) + err := e2tInstancesManager.AddRansToInstance(E2TAddress, []string{"test1"}) assert.Nil(t, err) rnibReaderMock.AssertExpectations(t) rnibWriterMock.AssertExpectations(t) @@ -186,7 +188,7 @@ func TestRemoveRanFromInstanceGetInstanceFailure(t *testing.T) { func TestRemoveRanFromInstanceSaveInstanceFailure(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - e2tInstance1 := entities.NewE2TInstance(E2TAddress) + e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName) rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance1, nil) rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(common.NewInternalError(fmt.Errorf("for test"))) @@ -199,7 +201,7 @@ func TestRemoveRanFromInstanceSaveInstanceFailure(t *testing.T) { func TestRemoveRanFromInstanceSuccess(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - e2tInstance := entities.NewE2TInstance(E2TAddress) + e2tInstance := entities.NewE2TInstance(E2TAddress, PodName) e2tInstance.AssociatedRanList = []string{"test0", "test1"} updatedE2TInstance := *e2tInstance updatedE2TInstance.AssociatedRanList = []string{"test0"} @@ -263,10 +265,10 @@ func TestSelectE2TInstancesEmptyE2TInstancesList(t *testing.T) { func TestSelectE2TInstancesNoActiveE2TInstance(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) addresses := []string{E2TAddress, E2TAddress2} - e2tInstance1 := entities.NewE2TInstance(E2TAddress) + e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName) e2tInstance1.State = entities.ToBeDeleted e2tInstance1.AssociatedRanList = []string{"test1", "test2", "test3"} - e2tInstance2 := entities.NewE2TInstance(E2TAddress2) + e2tInstance2 := entities.NewE2TInstance(E2TAddress2, PodName) e2tInstance2.State = entities.ToBeDeleted e2tInstance2.AssociatedRanList = []string{"test4", "test5", "test6", "test7"} @@ -282,9 +284,9 @@ func TestSelectE2TInstancesNoActiveE2TInstance(t *testing.T) { func TestSelectE2TInstancesSuccess(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) addresses := []string{E2TAddress, E2TAddress2} - e2tInstance1 := entities.NewE2TInstance(E2TAddress) + e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName) e2tInstance1.AssociatedRanList = []string{"test1", "test2", "test3"} - e2tInstance2 := entities.NewE2TInstance(E2TAddress2) + e2tInstance2 := entities.NewE2TInstance(E2TAddress2, PodName) e2tInstance2.AssociatedRanList = []string{"test4", "test5", "test6", "test7"} rnibReaderMock.On("GetE2TAddresses").Return(addresses, nil) @@ -299,13 +301,13 @@ func TestSelectE2TInstancesSuccess(t *testing.T) { func TestActivateE2TInstanceSuccess(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - e2tInstance1 := entities.NewE2TInstance(E2TAddress) - e2tInstance1.State = entities.RoutingManagerFailure + e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName) + e2tInstance1.State = entities.ToBeDeleted e2tInstance1.AssociatedRanList = []string{"test1","test2","test3"} rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance1, nil) rnibWriterMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool { return e2tInstance.State == entities.Active })).Return(nil) - err := e2tInstancesManager.SetE2tInstanceState(E2TAddress, entities.RoutingManagerFailure, entities.Active) + err := e2tInstancesManager.SetE2tInstanceState(E2TAddress, entities.ToBeDeleted, entities.Active) assert.Nil(t, err) assert.Equal(t, entities.Active, e2tInstance1.State) rnibWriterMock.AssertExpectations(t) @@ -317,7 +319,7 @@ func TestActivateE2TInstance_RnibError(t *testing.T) { var e2tInstance1 *entities.E2TInstance rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance1, common.NewInternalError(errors.New("for test"))) - err := e2tInstancesManager.SetE2tInstanceState(E2TAddress, entities.RoutingManagerFailure, entities.Active) + err := e2tInstancesManager.SetE2tInstanceState(E2TAddress, entities.ToBeDeleted, entities.Active) assert.NotNil(t, err) rnibWriterMock.AssertExpectations(t) } @@ -328,7 +330,7 @@ func TestActivateE2TInstance_NoInstance(t *testing.T) { var e2tInstance1 *entities.E2TInstance rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance1, e2managererrors.NewResourceNotFoundError()) - err := e2tInstancesManager.SetE2tInstanceState(E2TAddress, entities.RoutingManagerFailure, entities.Active) + err := e2tInstancesManager.SetE2tInstanceState(E2TAddress, entities.ToBeDeleted, entities.Active) assert.NotNil(t, err) rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance") @@ -338,7 +340,7 @@ func TestResetKeepAliveTimestampGetInternalFailure(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) address := "10.10.2.15:9800" - e2tInstance := entities.NewE2TInstance(address) + e2tInstance := entities.NewE2TInstance(address, PodName) rnibReaderMock.On("GetE2TInstance", address).Return(e2tInstance, common.NewInternalError(errors.New("Error"))) rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(nil) @@ -351,7 +353,7 @@ func TestAResetKeepAliveTimestampSaveInternalFailure(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) address := "10.10.2.15:9800" - e2tInstance := entities.NewE2TInstance(address) + e2tInstance := entities.NewE2TInstance(address, PodName) rnibReaderMock.On("GetE2TInstance", address).Return(e2tInstance, nil) rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(common.NewInternalError(errors.New("Error"))) @@ -363,7 +365,7 @@ func TestResetKeepAliveTimestampSuccess(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) address := "10.10.2.15:9800" - e2tInstance := entities.NewE2TInstance(address) + e2tInstance := entities.NewE2TInstance(address, PodName) rnibReaderMock.On("GetE2TInstance", address).Return(e2tInstance, nil) rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(nil) @@ -377,7 +379,7 @@ func TestResetKeepAliveTimestampToBeDeleted(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) address := "10.10.2.15:9800" - e2tInstance := entities.NewE2TInstance(address) + e2tInstance := entities.NewE2TInstance(address, PodName) e2tInstance.State = entities.ToBeDeleted rnibReaderMock.On("GetE2TInstance", address).Return(e2tInstance, nil) @@ -387,20 +389,6 @@ func TestResetKeepAliveTimestampToBeDeleted(t *testing.T) { rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance") } -func TestResetKeepAliveTimestampRoutingManagerFailure(t *testing.T) { - rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - - address := "10.10.2.15:9800" - e2tInstance := entities.NewE2TInstance(address) - e2tInstance.State = entities.RoutingManagerFailure - rnibReaderMock.On("GetE2TInstance", address).Return(e2tInstance, nil) - - err := e2tInstancesManager.ResetKeepAliveTimestamp(address) - assert.Nil(t, err) - rnibReaderMock.AssertCalled(t, "GetE2TInstance", address) - rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance") -} - func TestResetKeepAliveTimestampsForAllE2TInstancesGetE2TInstancesFailure(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) rnibReaderMock.On("GetE2TAddresses").Return([]string{}, common.NewInternalError(errors.New("Error"))) @@ -419,10 +407,10 @@ func TestResetKeepAliveTimestampsForAllE2TInstancesNoActiveInstances(t *testing. rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) e2tAddresses := []string{E2TAddress, E2TAddress2} rnibReaderMock.On("GetE2TAddresses").Return(e2tAddresses, nil) - e2tInstance1 := entities.NewE2TInstance(E2TAddress) + e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName) e2tInstance1.State = entities.ToBeDeleted - e2tInstance2 := entities.NewE2TInstance(E2TAddress2) - e2tInstance2.State = entities.RoutingManagerFailure + e2tInstance2 := entities.NewE2TInstance(E2TAddress2, PodName) + e2tInstance2.State = entities.ToBeDeleted rnibReaderMock.On("GetE2TInstances", e2tAddresses).Return([]*entities.E2TInstance{e2tInstance1, e2tInstance2}, nil) e2tInstancesManager.ResetKeepAliveTimestampsForAllE2TInstances() rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance") @@ -432,9 +420,9 @@ func TestResetKeepAliveTimestampsForAllE2TInstancesOneActiveInstance(t *testing. rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) e2tAddresses := []string{E2TAddress, E2TAddress2} rnibReaderMock.On("GetE2TAddresses").Return(e2tAddresses, nil) - e2tInstance1 := entities.NewE2TInstance(E2TAddress) + e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName) e2tInstance1.State = entities.Active - e2tInstance2 := entities.NewE2TInstance(E2TAddress2) + e2tInstance2 := entities.NewE2TInstance(E2TAddress2, PodName) e2tInstance2.State = entities.ToBeDeleted rnibReaderMock.On("GetE2TInstances", e2tAddresses).Return([]*entities.E2TInstance{e2tInstance1, e2tInstance2}, nil) rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(nil) @@ -446,9 +434,9 @@ func TestResetKeepAliveTimestampsForAllE2TInstancesSaveE2TInstanceFailure(t *tes rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) e2tAddresses := []string{E2TAddress, E2TAddress2} rnibReaderMock.On("GetE2TAddresses").Return(e2tAddresses, nil) - e2tInstance1 := entities.NewE2TInstance(E2TAddress) + e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName) e2tInstance1.State = entities.Active - e2tInstance2 := entities.NewE2TInstance(E2TAddress2) + e2tInstance2 := entities.NewE2TInstance(E2TAddress2, PodName) e2tInstance2.State = entities.ToBeDeleted rnibReaderMock.On("GetE2TInstances", e2tAddresses).Return([]*entities.E2TInstance{e2tInstance1, e2tInstance2}, nil) rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(common.NewInternalError(errors.New("Error"))) @@ -508,3 +496,59 @@ func TestRemoveE2TInstanceRnibErrorInSaveAddresses(t *testing.T) { rnibReaderMock.AssertExpectations(t) rnibWriterMock.AssertExpectations(t) } + +func TestSetE2tInstanceStateCurrentStateHasChanged(t *testing.T) { + rnibReaderMock, _, e2tInstancesManager := initE2TInstancesManagerTest(t) + + e2tInstance := entities.NewE2TInstance(E2TAddress, PodName) + e2tInstance.State = entities.Active + + rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance, nil) + + err := e2tInstancesManager.SetE2tInstanceState(E2TAddress, entities.ToBeDeleted, entities.Active) + assert.NotNil(t, err) + assert.IsType(t, e2managererrors.NewInternalError(), err) + rnibReaderMock.AssertExpectations(t) +} + +func TestSetE2tInstanceStateErrorInSaveE2TInstance(t *testing.T) { + rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) + + e2tInstance := entities.NewE2TInstance(E2TAddress, PodName) + e2tInstance.State = entities.ToBeDeleted + rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance, nil) + rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(common.NewInternalError(fmt.Errorf("for testing"))) + + err := e2tInstancesManager.SetE2tInstanceState(E2TAddress, entities.ToBeDeleted, entities.Active) + assert.NotNil(t, err) + assert.IsType(t, &common.InternalError{}, err) + rnibReaderMock.AssertExpectations(t) +} + +func TestClearRansOfAllE2TInstancesEmptyList(t *testing.T) { + rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) + E2TAddresses := []string{} + rnibReaderMock.On("GetE2TAddresses").Return(E2TAddresses, nil) + err := e2tInstancesManager.ClearRansOfAllE2TInstances() + assert.Nil(t, err) + rnibReaderMock.AssertExpectations(t) + rnibWriterMock.AssertExpectations(t) +} + +func TestClearRansOfAllE2TInstancesErrorInSaveE2TInstance(t *testing.T) { + rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) + addresses := []string{E2TAddress, E2TAddress2} + e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName) + e2tInstance1.AssociatedRanList = []string{"test1", "test2", "test3"} + e2tInstance2 := entities.NewE2TInstance(E2TAddress2, PodName) + e2tInstance2.AssociatedRanList = []string{"test4", "test5", "test6", "test7"} + + rnibReaderMock.On("GetE2TAddresses").Return(addresses, nil) + rnibReaderMock.On("GetE2TInstances", addresses).Return([]*entities.E2TInstance{e2tInstance1, e2tInstance2}, nil) + rnibWriterMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool { return e2tInstance.Address == E2TAddress})).Return(common.NewInternalError(fmt.Errorf("for testing"))) + rnibWriterMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool { return e2tInstance.Address == E2TAddress2})).Return(nil) + err := e2tInstancesManager.ClearRansOfAllE2TInstances() + assert.Nil(t, err) + rnibReaderMock.AssertExpectations(t) + rnibWriterMock.AssertExpectations(t) +}