+
+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) {
+ 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)
+ assert.NotNil(t, err)
+ assert.Nil(t, res)
+}
+
+func TestAssociateRanSuccess(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)
+ rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(nil)
+
+ err := e2tInstancesManager.AssociateRan("test1", address1)
+ 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")))
+
+ err := e2tInstancesManager.AssociateRan("test1", address1)
+ 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)
+ rnibWriterMock.On("SaveE2TInstance", mock.Anything).Return(common.NewInternalError(fmt.Errorf("for test")))
+
+ err := e2tInstancesManager.AssociateRan("test1", address1)
+ assert.NotNil(t, err)
+ rnibReaderMock.AssertExpectations(t)
+ rnibWriterMock.AssertExpectations(t)
+}
+
+func TestDeassociateRanSuccess(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)
+
+ err := e2tInstancesManager.DeassociateRan("test1", address1)
+ assert.Nil(t, err)
+ rnibReaderMock.AssertExpectations(t)
+ rnibWriterMock.AssertExpectations(t)
+}
+
+func TestDeassociateRanNoInstanceFound(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")
+ rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance")
+ rnibReaderMock.AssertNotCalled(t, "GetE2TInstance")
+}
+
+func TestDeassociateRanGetListFailure(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.DeassociateRan("test1", address1)
+ assert.NotNil(t, err)
+ rnibWriterMock.AssertNotCalled(t, "SaveE2TInfoList")
+ rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance")
+ rnibReaderMock.AssertNotCalled(t, "GetE2TInstance")
+}
+
+func TestDeassociateRanSaveListFailure(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)
+ assert.NotNil(t, err)
+ rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance")
+ rnibReaderMock.AssertNotCalled(t, "GetE2TInstance")
+}
+
+func TestDeassociateRanGetInstanceFailure(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")))
+
+ err := e2tInstancesManager.DeassociateRan("test1", address1)
+ assert.NotNil(t, err)
+ rnibWriterMock.AssertNotCalled(t, "SaveE2TInstance")
+}
+
+func TestDeassociateRanSaveInstanceFailure(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)
+ assert.NotNil(t, err)
+ 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)
+ assert.Nil(t, err)
+}
+
+func TestSelectE2TInstance(t *testing.T) {
+ _, _, e2tInstancesManager := initE2TInstancesManagerTest(t)
+ address1 := "10.10.2.15:9800"
+ e2tInstance1 := entities.NewE2TInstance(address1)
+ addr, err := e2tInstancesManager.SelectE2TInstance(e2tInstance1)
+ assert.Nil(t, err)
+ assert.Equal(t, "", addr)
+}
+
+