X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fmanagers%2Fe2t_instances_manager_test.go;h=88f940b84619744b31bd5c72c43db2336b80659f;hb=99e39b485bd66dad8afadbc1f3c3c3b0ca3569b5;hp=029d506d18746201bf95ea5e4a1c26f92c6ac605;hpb=1724b6d2bf37ae07552f9aecc3e86a860efd6ac3;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/managers/e2t_instances_manager_test.go b/E2Manager/managers/e2t_instances_manager_test.go index 029d506..88f940b 100644 --- a/E2Manager/managers/e2t_instances_manager_test.go +++ b/E2Manager/managers/e2t_instances_manager_test.go @@ -14,7 +14,8 @@ import ( "testing" ) -const E2TAddress = "10.0.2.15" +const E2TAddress = "10.10.2.15:9800" +const E2TAddress2 = "10.10.2.16:9800" func initE2TInstancesManagerTest(t *testing.T) (*mocks.RnibReaderMock, *mocks.RnibWriterMock, *E2TInstancesManager) { logger, err := logger.InitLogger(logger.DebugLevel) @@ -30,62 +31,55 @@ func initE2TInstancesManagerTest(t *testing.T) (*mocks.RnibReaderMock, *mocks.Rn return readerMock, writerMock, e2tInstancesManager } -func TestAddNewE2TInstanceEmptyAddress(t *testing.T) { - _, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - err := e2tInstancesManager.AddE2TInstance("") - assert.NotNil(t, err) - rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance") -} - 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) assert.NotNil(t, err) - rnibReaderMock.AssertNotCalled(t, "GetE2TInfoList") + rnibReaderMock.AssertNotCalled(t, "GetE2TAddresses") } -func TestAddNewE2TInstanceGetE2TInfoListInternalFailure(t *testing.T) { +func TestAddNewE2TInstanceGetE2TAddressesInternalFailure(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(nil) - e2tInfoList := []*entities.E2TInstanceInfo{} - rnibReaderMock.On("GetE2TInfoList").Return(e2tInfoList, common.NewInternalError(errors.New("Error"))) + e2tAddresses := []string{} + rnibReaderMock.On("GetE2TAddresses").Return(e2tAddresses, common.NewInternalError(errors.New("Error"))) err := e2tInstancesManager.AddE2TInstance(E2TAddress) assert.NotNil(t, err) - rnibReaderMock.AssertNotCalled(t, "SaveE2TInfoList") + rnibReaderMock.AssertNotCalled(t, "SaveE2TAddresses") } -func TestAddNewE2TInstanceNoE2TInfoList(t *testing.T) { +func TestAddNewE2TInstanceNoE2TAddresses(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(nil) - e2tInfoList := []*entities.E2TInstanceInfo{} - rnibReaderMock.On("GetE2TInfoList").Return(e2tInfoList, common.NewResourceNotFoundError("")) - e2tInfoList = append(e2tInfoList, &entities.E2TInstanceInfo{Address: E2TAddress}) - rnibWriterMock.On("SaveE2TInfoList", e2tInfoList).Return(nil) + e2tAddresses := []string{} + rnibReaderMock.On("GetE2TAddresses").Return(e2tAddresses, common.NewResourceNotFoundError("")) + e2tAddresses = append(e2tAddresses, E2TAddress) + rnibWriterMock.On("SaveE2TAddresses", e2tAddresses).Return(nil) err := e2tInstancesManager.AddE2TInstance(E2TAddress) assert.Nil(t, err) - rnibWriterMock.AssertCalled(t, "SaveE2TInfoList", e2tInfoList) + rnibWriterMock.AssertCalled(t, "SaveE2TAddresses", e2tAddresses) } -func TestAddNewE2TInstanceEmptyE2TInfoList(t *testing.T) { +func TestAddNewE2TInstanceEmptyE2TAddresses(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(nil) - e2tInfoList := []*entities.E2TInstanceInfo{} - rnibReaderMock.On("GetE2TInfoList").Return(e2tInfoList, nil) - e2tInfoList = append(e2tInfoList, &entities.E2TInstanceInfo{Address: E2TAddress}) - rnibWriterMock.On("SaveE2TInfoList", e2tInfoList).Return(nil) + e2tAddresses := []string{} + rnibReaderMock.On("GetE2TAddresses").Return(e2tAddresses, nil) + e2tAddresses = append(e2tAddresses, E2TAddress) + rnibWriterMock.On("SaveE2TAddresses", e2tAddresses).Return(nil) err := e2tInstancesManager.AddE2TInstance(E2TAddress) assert.Nil(t, err) - rnibWriterMock.AssertCalled(t, "SaveE2TInfoList", e2tInfoList) + rnibWriterMock.AssertCalled(t, "SaveE2TAddresses", e2tAddresses) } -func TestAddNewE2TInstanceSaveE2TInfoListFailure(t *testing.T) { +func TestAddNewE2TInstanceSaveE2TAddressesFailure(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(nil) - e2tInfoList := []*entities.E2TInstanceInfo{} - rnibReaderMock.On("GetE2TInfoList").Return(e2tInfoList, nil) - e2tInfoList = append(e2tInfoList, &entities.E2TInstanceInfo{Address: E2TAddress}) - rnibWriterMock.On("SaveE2TInfoList", e2tInfoList).Return(common.NewResourceNotFoundError("")) + 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) } @@ -102,265 +96,178 @@ func TestGetE2TInstanceSuccess(t *testing.T) { func TestGetE2TInstanceFailure(t *testing.T) { rnibReaderMock, _, e2tInstancesManager := initE2TInstancesManagerTest(t) - address := "10.10.2.15:9800" var e2tInstance *entities.E2TInstance - rnibReaderMock.On("GetE2TInstance", address).Return(e2tInstance, common.NewInternalError(fmt.Errorf("for test"))) - res, err := e2tInstancesManager.GetE2TInstance(address) + rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance, common.NewInternalError(fmt.Errorf("for test"))) + res, err := e2tInstancesManager.GetE2TInstance(E2TAddress) assert.NotNil(t, err) 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) - address1 := "10.10.2.15:9800" - e2tInfo1 := entities.NewE2TInstanceInfo(address1) - e2tInfo1.AssociatedRanCount = 0; - address2 := "10.10.2.15:9801" - e2tInfo2 := entities.NewE2TInstanceInfo(address2) - e2tInfo2.AssociatedRanCount = 1; - e2tInfoList := []*entities.E2TInstanceInfo{e2tInfo1, e2tInfo2} - rnibReaderMock.On("GetE2TInfoList").Return(e2tInfoList, nil) - - e2tInfo3 := entities.NewE2TInstanceInfo(address1) - e2tInfo3.AssociatedRanCount = 1; - e2tInfoList2 := []*entities.E2TInstanceInfo{e2tInfo3, e2tInfo2} - rnibWriterMock.On("SaveE2TInfoList", e2tInfoList2).Return(nil) - - e2tInstance1 := entities.NewE2TInstance(address1) - rnibReaderMock.On("GetE2TInstance", address1).Return(e2tInstance1, nil) - rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(nil) + updateE2TInstance := *e2tInstance + updateE2TInstance.AssociatedRanList = append(updateE2TInstance.AssociatedRanList, "test1") - err := e2tInstancesManager.AssociateRan("test1", address1) + rnibWriterMock.On("SaveE2TInstance", &updateE2TInstance).Return(nil) + + err := e2tInstancesManager.AssociateRan("test1", E2TAddress) assert.Nil(t, err) rnibReaderMock.AssertExpectations(t) rnibWriterMock.AssertExpectations(t) } -func TestAssociateRanGetListFailure(t *testing.T) { - rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - - address1 := "10.10.2.15:9800" - - var e2tInfoList []*entities.E2TInstanceInfo - rnibReaderMock.On("GetE2TInfoList").Return(e2tInfoList, common.NewInternalError(fmt.Errorf("for test"))) - - err := e2tInstancesManager.AssociateRan("test1", address1) - assert.NotNil(t, err) - rnibWriterMock.AssertNotCalled(t, "SaveE2TInfoList") - rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance") - rnibReaderMock.AssertNotCalled(t, "GetE2TInstance") -} - -func TestAssociateRanSaveListFailure(t *testing.T) { - rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - - address1 := "10.10.2.15:9800" - e2tInfo1 := entities.NewE2TInstanceInfo(address1) - e2tInfo1.AssociatedRanCount = 0; - address2 := "10.10.2.15:9801" - e2tInfo2 := entities.NewE2TInstanceInfo(address2) - e2tInfo2.AssociatedRanCount = 1; - e2tInfoList := []*entities.E2TInstanceInfo{e2tInfo1, e2tInfo2} - rnibReaderMock.On("GetE2TInfoList").Return(e2tInfoList, nil) - - rnibWriterMock.On("SaveE2TInfoList", e2tInfoList).Return(common.NewInternalError(fmt.Errorf("for test"))) - - err := e2tInstancesManager.AssociateRan("test1", address1) - assert.NotNil(t, err) - rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance") - rnibReaderMock.AssertNotCalled(t, "GetE2TInstance") -} - func TestAssociateRanGetInstanceFailure(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - address1 := "10.10.2.15:9800" - e2tInfo1 := entities.NewE2TInstanceInfo(address1) - e2tInfo1.AssociatedRanCount = 0; - address2 := "10.10.2.15:9801" - e2tInfo2 := entities.NewE2TInstanceInfo(address2) - e2tInfo2.AssociatedRanCount = 1; - e2tInfoList := []*entities.E2TInstanceInfo{e2tInfo1, e2tInfo2} - rnibReaderMock.On("GetE2TInfoList").Return(e2tInfoList, nil) - rnibWriterMock.On("SaveE2TInfoList", e2tInfoList).Return(nil) - var e2tInstance1 *entities.E2TInstance - rnibReaderMock.On("GetE2TInstance", address1).Return(e2tInstance1, common.NewInternalError(fmt.Errorf("for test"))) + rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance1, common.NewInternalError(fmt.Errorf("for test"))) - err := e2tInstancesManager.AssociateRan("test1", address1) + err := e2tInstancesManager.AssociateRan("test1", E2TAddress) assert.NotNil(t, err) rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance") } func TestAssociateRanSaveInstanceFailure(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - - address1 := "10.10.2.15:9800" - e2tInfo1 := entities.NewE2TInstanceInfo(address1) - e2tInfo1.AssociatedRanCount = 0; - address2 := "10.10.2.15:9801" - e2tInfo2 := entities.NewE2TInstanceInfo(address2) - e2tInfo2.AssociatedRanCount = 1; - e2tInfoList := []*entities.E2TInstanceInfo{e2tInfo1, e2tInfo2} - rnibReaderMock.On("GetE2TInfoList").Return(e2tInfoList, nil) - - e2tInfo3 := entities.NewE2TInstanceInfo(address1) - e2tInfo3.AssociatedRanCount = 1; - e2tInfoList2 := []*entities.E2TInstanceInfo{e2tInfo3, e2tInfo2} - rnibWriterMock.On("SaveE2TInfoList", e2tInfoList2).Return(nil) - - e2tInstance1 := entities.NewE2TInstance(address1) - rnibReaderMock.On("GetE2TInstance", address1).Return(e2tInstance1, nil) + e2tInstance1 := entities.NewE2TInstance(E2TAddress) + rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance1, nil) rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(common.NewInternalError(fmt.Errorf("for test"))) - err := e2tInstancesManager.AssociateRan("test1", address1) + err := e2tInstancesManager.AssociateRan("test1", E2TAddress) assert.NotNil(t, err) rnibReaderMock.AssertExpectations(t) rnibWriterMock.AssertExpectations(t) } -func TestDeassociateRanSuccess(t *testing.T) { +func TestDissociateRanSuccess(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - address1 := "10.10.2.15:9800" - e2tInfo1 := entities.NewE2TInstanceInfo(address1) - e2tInfo1.AssociatedRanCount = 1; - address2 := "10.10.2.15:9801" - e2tInfo2 := entities.NewE2TInstanceInfo(address2) - e2tInfo2.AssociatedRanCount = 0; - e2tInfoList := []*entities.E2TInstanceInfo{e2tInfo1, e2tInfo2} - rnibReaderMock.On("GetE2TInfoList").Return(e2tInfoList, nil) - - e2tInfo3 := entities.NewE2TInstanceInfo(address1) - e2tInfo3.AssociatedRanCount = 0; - e2tInfoList2 := []*entities.E2TInstanceInfo{e2tInfo3, e2tInfo2} - rnibWriterMock.On("SaveE2TInfoList", e2tInfoList2).Return(nil) - - e2tInstance1 := entities.NewE2TInstance(address1) - e2tInstance1.AssociatedRanList = append(e2tInstance1.AssociatedRanList, "test0", "test1") - rnibReaderMock.On("GetE2TInstance", address1).Return(e2tInstance1, nil) - rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(nil) + 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.DeassociateRan("test1", address1) + err := e2tInstancesManager.DissociateRan("test1", E2TAddress) assert.Nil(t, err) rnibReaderMock.AssertExpectations(t) rnibWriterMock.AssertExpectations(t) } -func TestDeassociateRanNoInstanceFound(t *testing.T) { +func TestDissociateRanGetInstanceFailure(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - address1 := "10.10.2.15:9800" - e2tInfoList := []*entities.E2TInstanceInfo{} - rnibReaderMock.On("GetE2TInfoList").Return(e2tInfoList, nil) - - err := e2tInstancesManager.DeassociateRan("test1", address1) - assert.Nil(t, err) - rnibWriterMock.AssertNotCalled(t, "SaveE2TInfoList") + var e2tInstance1 *entities.E2TInstance + rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance1, common.NewInternalError(fmt.Errorf("for test"))) + err := e2tInstancesManager.DissociateRan("test1", E2TAddress) + assert.NotNil(t, err) rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance") - rnibReaderMock.AssertNotCalled(t, "GetE2TInstance") } -func TestDeassociateRanGetListFailure(t *testing.T) { +func TestDissociateRanSaveInstanceFailure(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - address1 := "10.10.2.15:9800" - - var e2tInfoList []*entities.E2TInstanceInfo - rnibReaderMock.On("GetE2TInfoList").Return(e2tInfoList, common.NewInternalError(fmt.Errorf("for test"))) + e2tInstance1 := entities.NewE2TInstance(E2TAddress) + rnibReaderMock.On("GetE2TInstance", E2TAddress).Return(e2tInstance1, nil) + rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(common.NewInternalError(fmt.Errorf("for test"))) - err := e2tInstancesManager.DeassociateRan("test1", address1) + err := e2tInstancesManager.DissociateRan("test1", E2TAddress) assert.NotNil(t, err) - rnibWriterMock.AssertNotCalled(t, "SaveE2TInfoList") - rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance") - rnibReaderMock.AssertNotCalled(t, "GetE2TInstance") + rnibReaderMock.AssertExpectations(t) + rnibWriterMock.AssertExpectations(t) } -func TestDeassociateRanSaveListFailure(t *testing.T) { +func TestSelectE2TInstancesGetE2TAddressesFailure(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - address1 := "10.10.2.15:9800" - e2tInfo1 := entities.NewE2TInstanceInfo(address1) - e2tInfo1.AssociatedRanCount = 0; - address2 := "10.10.2.15:9801" - e2tInfo2 := entities.NewE2TInstanceInfo(address2) - e2tInfo2.AssociatedRanCount = 1; - e2tInfoList := []*entities.E2TInstanceInfo{e2tInfo1, e2tInfo2} - rnibReaderMock.On("GetE2TInfoList").Return(e2tInfoList, nil) - - rnibWriterMock.On("SaveE2TInfoList", e2tInfoList).Return(common.NewInternalError(fmt.Errorf("for test"))) - - err := e2tInstancesManager.DeassociateRan("test1", address1) + rnibReaderMock.On("GetE2TAddresses").Return([]string{}, common.NewInternalError(fmt.Errorf("for test"))) + address, err := e2tInstancesManager.SelectE2TInstance() assert.NotNil(t, err) - rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance") - rnibReaderMock.AssertNotCalled(t, "GetE2TInstance") + assert.Empty(t, address) + rnibReaderMock.AssertExpectations(t) + rnibWriterMock.AssertNotCalled(t, "GetE2TInstances") } -func TestDeassociateRanGetInstanceFailure(t *testing.T) { +func TestSelectE2TInstancesEmptyE2TAddressList(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - address1 := "10.10.2.15:9800" - e2tInfo1 := entities.NewE2TInstanceInfo(address1) - e2tInfo1.AssociatedRanCount = 0; - address2 := "10.10.2.15:9801" - e2tInfo2 := entities.NewE2TInstanceInfo(address2) - e2tInfo2.AssociatedRanCount = 1; - e2tInfoList := []*entities.E2TInstanceInfo{e2tInfo1, e2tInfo2} - rnibReaderMock.On("GetE2TInfoList").Return(e2tInfoList, nil) - rnibWriterMock.On("SaveE2TInfoList", e2tInfoList).Return(nil) + rnibReaderMock.On("GetE2TAddresses").Return([]string{}, nil) + address, err := e2tInstancesManager.SelectE2TInstance() + assert.NotNil(t, err) + assert.Empty(t, address) + rnibReaderMock.AssertExpectations(t) + rnibWriterMock.AssertNotCalled(t, "GetE2TInstances") +} - var e2tInstance1 *entities.E2TInstance - rnibReaderMock.On("GetE2TInstance", address1).Return(e2tInstance1, common.NewInternalError(fmt.Errorf("for test"))) +func TestSelectE2TInstancesGetE2TInstancesFailure(t *testing.T) { + rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - err := e2tInstancesManager.DeassociateRan("test1", address1) + addresses := []string{E2TAddress} + rnibReaderMock.On("GetE2TAddresses").Return(addresses, nil) + rnibReaderMock.On("GetE2TInstances",addresses ).Return([]*entities.E2TInstance{}, common.NewInternalError(fmt.Errorf("for test"))) + address, err := e2tInstancesManager.SelectE2TInstance() assert.NotNil(t, err) - rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance") + assert.Empty(t, address) + rnibReaderMock.AssertExpectations(t) + rnibWriterMock.AssertExpectations(t) } -func TestDeassociateRanSaveInstanceFailure(t *testing.T) { +func TestSelectE2TInstancesEmptyE2TInstancesList(t *testing.T) { rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) - address1 := "10.10.2.15:9800" - e2tInfo1 := entities.NewE2TInstanceInfo(address1) - e2tInfo1.AssociatedRanCount = 1; - address2 := "10.10.2.15:9801" - e2tInfo2 := entities.NewE2TInstanceInfo(address2) - e2tInfo2.AssociatedRanCount = 0; - e2tInfoList := []*entities.E2TInstanceInfo{e2tInfo1, e2tInfo2} - rnibReaderMock.On("GetE2TInfoList").Return(e2tInfoList, nil) - - e2tInfo3 := entities.NewE2TInstanceInfo(address1) - e2tInfo3.AssociatedRanCount = 0; - e2tInfoList2 := []*entities.E2TInstanceInfo{e2tInfo3, e2tInfo2} - rnibWriterMock.On("SaveE2TInfoList", e2tInfoList2).Return(nil) - - e2tInstance1 := entities.NewE2TInstance(address1) - rnibReaderMock.On("GetE2TInstance", address1).Return(e2tInstance1, nil) - rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(common.NewInternalError(fmt.Errorf("for test"))) - - err := e2tInstancesManager.DeassociateRan("test1", address1) + addresses := []string{E2TAddress} + rnibReaderMock.On("GetE2TAddresses").Return(addresses, nil) + rnibReaderMock.On("GetE2TInstances",addresses ).Return([]*entities.E2TInstance{}, nil) + address, err := e2tInstancesManager.SelectE2TInstance() assert.NotNil(t, err) + assert.Empty(t, address) rnibReaderMock.AssertExpectations(t) rnibWriterMock.AssertExpectations(t) } +func TestSelectE2TInstancesNoActiveE2TInstance(t *testing.T) { + rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) + addresses := []string{E2TAddress,E2TAddress2} + e2tInstance1 := entities.NewE2TInstance(E2TAddress) + e2tInstance1.State = entities.ToBeDeleted + e2tInstance1.AssociatedRanList = []string{"test1","test2","test3"} + e2tInstance2 := entities.NewE2TInstance(E2TAddress2) + e2tInstance2.State = entities.ToBeDeleted + e2tInstance2.AssociatedRanList = []string{"test4","test5","test6", "test7"} + + rnibReaderMock.On("GetE2TAddresses").Return(addresses, nil) + rnibReaderMock.On("GetE2TInstances",addresses).Return([]*entities.E2TInstance{e2tInstance1, e2tInstance2}, nil) + address, err := e2tInstancesManager.SelectE2TInstance() + assert.NotNil(t, err) + assert.Equal(t, "", address) + rnibReaderMock.AssertExpectations(t) + rnibWriterMock.AssertExpectations(t) +} -func TestRemoveE2TInstance(t *testing.T) { - _, _, e2tInstancesManager := initE2TInstancesManagerTest(t) - address1 := "10.10.2.15:9800" - e2tInstance1 := entities.NewE2TInstance(address1) - err := e2tInstancesManager.RemoveE2TInstance(e2tInstance1) +func TestSelectE2TInstancesSuccess(t *testing.T) { + rnibReaderMock, rnibWriterMock, e2tInstancesManager := initE2TInstancesManagerTest(t) + addresses := []string{E2TAddress,E2TAddress2} + e2tInstance1 := entities.NewE2TInstance(E2TAddress) + e2tInstance1.AssociatedRanList = []string{"test1","test2","test3"} + e2tInstance2 := entities.NewE2TInstance(E2TAddress2) + e2tInstance2.AssociatedRanList = []string{"test4","test5","test6", "test7"} + + rnibReaderMock.On("GetE2TAddresses").Return(addresses, nil) + rnibReaderMock.On("GetE2TInstances",addresses).Return([]*entities.E2TInstance{e2tInstance1, e2tInstance2}, nil) + address, err := e2tInstancesManager.SelectE2TInstance() assert.Nil(t, err) + assert.Equal(t, E2TAddress, address) + rnibReaderMock.AssertExpectations(t) + rnibWriterMock.AssertExpectations(t) } -func TestSelectE2TInstance(t *testing.T) { +func TestRemoveE2TInstance(t *testing.T) { _, _, e2tInstancesManager := initE2TInstancesManagerTest(t) - address1 := "10.10.2.15:9800" - e2tInstance1 := entities.NewE2TInstance(address1) - addr, err := e2tInstancesManager.SelectE2TInstance(e2tInstance1) + e2tInstance1 := entities.NewE2TInstance(E2TAddress) + err := e2tInstancesManager.RemoveE2TInstance(e2tInstance1) assert.Nil(t, err) - assert.Equal(t, "", addr) -} - - +} \ No newline at end of file