"e2mgr/services"
"encoding/json"
"fmt"
+ "io/ioutil"
+
"gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common"
"gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
- "io/ioutil"
+
//"k8s.io/apimachinery/pkg/runtime"
//"k8s.io/client-go/kubernetes/fake"
"net/http"
httpClientMock := &mocks.HttpClientMock{}
rmClient := clients.NewRoutingManagerClient(log, config, httpClientMock)
- ranListManager := NewRanListManager(log)
+ ranListManager := NewRanListManager(log, rnibDataService)
ranAlarmService := services.NewRanAlarmService(log, config)
ranConnectStatusChangeManager := NewRanConnectStatusChangeManager(log, rnibDataService, ranListManager, ranAlarmService)
associationManager := NewE2TAssociationManager(log, rnibDataService, e2tInstancesManager, rmClient, ranConnectStatusChangeManager)
e2tInstance3 := entities.NewE2TInstance(E2TAddress3, PodName)
e2tInstance3.State = entities.Active
e2tInstance3.AssociatedRanList = []string{"test4"}
- writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool { return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted })).Return(nil)
+ writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool {
+ return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted
+ })).Return(nil)
nodeb1 := &entities.NodebInfo{RanName: "test1", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
readerMock.On("GetNodeb", "test1").Return(nodeb1, nil)
/*** nodeb 1 ***/
nodeb1connected := *nodeb1
nodeb1connected.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb1connected, "test1_DISCONNECTED").Return(nil)
+ writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", mock.Anything, "test1_DISCONNECTED").Return(nil)
nodeb1NotAssociated := *nodeb1
nodeb1NotAssociated.AssociatedE2TInstanceAddress = ""
nodeb1NotAssociated.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb1NotAssociated).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
/*** nodeb 2 ***/
nodeb2connected := *nodeb2
nodeb2connected.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb2connected).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
nodeb2NotAssociated := *nodeb2
nodeb2NotAssociated.AssociatedE2TInstanceAddress = ""
nodeb2NotAssociated.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb2NotAssociated).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
/*** nodeb 5 ***/
nodeb5connected := *nodeb5
nodeb5connected.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb5connected, "test5_DISCONNECTED").Return(nil)
+ writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", mock.Anything, "test5_DISCONNECTED").Return(nil)
nodeb5NotAssociated := *nodeb5
nodeb5NotAssociated.AssociatedE2TInstanceAddress = ""
nodeb5NotAssociated.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb5NotAssociated).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
err := shutdownManager.Shutdown(e2tInstance1)
e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName)
e2tInstance1.State = entities.Active
e2tInstance1.AssociatedRanList = []string{}
- writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool { return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted })).Return(nil)
+ writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool {
+ return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted
+ })).Return(nil)
data := models.NewRoutingManagerDeleteRequestModel(E2TAddress, nil, nil)
marshaled, _ := json.Marshal(data)
e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName)
e2tInstance1.State = entities.Active
e2tInstance1.AssociatedRanList = []string{"test1", "test2"}
- writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool { return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted })).Return(nil)
+ writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool {
+ return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted
+ })).Return(nil)
nodeb1 := &entities.NodebInfo{RanName: "test1", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
readerMock.On("GetNodeb", "test1").Return(nodeb1, nil)
/*** nodeb 1 connected ***/
nodeb1new := *nodeb1
nodeb1new.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb1new, "test1_DISCONNECTED").Return(nil)
+ writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", mock.Anything, "test1_DISCONNECTED").Return(nil)
nodeb1NotAssociated := *nodeb1
nodeb1NotAssociated.AssociatedE2TInstanceAddress = ""
nodeb1NotAssociated.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb1NotAssociated).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
/*** nodeb 2 disconnected ***/
nodeb2new := *nodeb2
nodeb2new.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb2new).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
nodeb2NotAssociated := *nodeb2
nodeb2NotAssociated.AssociatedE2TInstanceAddress = ""
nodeb2NotAssociated.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb2NotAssociated).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
err := shutdownManager.Shutdown(e2tInstance1)
e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName)
e2tInstance1.State = entities.Active
e2tInstance1.AssociatedRanList = []string{"test1", "test2", "test5"}
- writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool { return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted })).Return(e2managererrors.NewRnibDbError())
+ writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool {
+ return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted
+ })).Return(e2managererrors.NewRnibDbError())
err := shutdownManager.Shutdown(e2tInstance1)
e2tInstance3 := entities.NewE2TInstance(E2TAddress3, PodName)
e2tInstance3.State = entities.Active
e2tInstance3.AssociatedRanList = []string{"test4"}
- writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool { return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted })).Return(nil)
+ writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool {
+ return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted
+ })).Return(nil)
nodeb1 := &entities.NodebInfo{RanName: "test1", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
readerMock.On("GetNodeb", "test1").Return(nodeb1, nil)
/*** nodeb 1 connected ***/
nodeb1connected := *nodeb1
nodeb1connected.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb1connected, "test1_DISCONNECTED").Return(nil)
+ writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", mock.Anything, "test1_DISCONNECTED").Return(nil)
nodeb1NotAssociated := *nodeb1
nodeb1NotAssociated.AssociatedE2TInstanceAddress = ""
nodeb1NotAssociated.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb1NotAssociated).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
/*** nodeb 2 shutting down ***/
nodeb2connected := *nodeb2
nodeb2connected.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb2connected).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
nodeb2NotAssociated := *nodeb2
nodeb2NotAssociated.AssociatedE2TInstanceAddress = ""
nodeb2NotAssociated.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb2NotAssociated).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
/*** nodeb 5 connected ***/
nodeb5connected := *nodeb5
nodeb5connected.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb5connected, "test5_DISCONNECTED").Return(nil)
+ writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", mock.Anything, "test5_DISCONNECTED").Return(nil)
nodeb5NotAssociated := *nodeb5
nodeb5NotAssociated.AssociatedE2TInstanceAddress = ""
nodeb5NotAssociated.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb5NotAssociated).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
err := shutdownManager.Shutdown(e2tInstance1)
e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName)
e2tInstance1.State = entities.Active
e2tInstance1.AssociatedRanList = []string{"test1", "test2"}
- writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool { return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted })).Return(nil)
+ writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool {
+ return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted
+ })).Return(nil)
nodeb1 := &entities.NodebInfo{RanName: "test1", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
readerMock.On("GetNodeb", "test1").Return(nodeb1, nil)
nodeb1new := *nodeb1
nodeb1new.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb1new, "test1_DISCONNECTED").Return(nil)
+ writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", mock.Anything, "test1_DISCONNECTED").Return(nil)
nodeb1NotAssociated := *nodeb1
nodeb1NotAssociated.AssociatedE2TInstanceAddress = ""
nodeb1NotAssociated.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb1NotAssociated).Return(common.NewInternalError(fmt.Errorf("for tests")))
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(common.NewInternalError(fmt.Errorf("for tests")))
err := shutdownManager.Shutdown(e2tInstance1)
e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName)
e2tInstance1.State = entities.Active
e2tInstance1.AssociatedRanList = []string{"test1", "test2"}
- writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool { return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted })).Return(nil)
+ writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool {
+ return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted
+ })).Return(nil)
nodeb1 := &entities.NodebInfo{RanName: "test1", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
readerMock.On("GetNodeb", "test1").Return(nodeb1, nil)
nodeb1new := *nodeb1
nodeb1new.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb1new, "test1_DISCONNECTED").Return(common.NewInternalError(fmt.Errorf("for tests")))
+ writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", mock.Anything, "test1_DISCONNECTED").Return(common.NewInternalError(fmt.Errorf("for tests")))
err := shutdownManager.Shutdown(e2tInstance1)
e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName)
e2tInstance1.State = entities.Active
e2tInstance1.AssociatedRanList = []string{"test1", "test2"}
- writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool { return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted })).Return(nil)
+ writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool {
+ return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted
+ })).Return(nil)
nodeb1 := &entities.NodebInfo{RanName: "test1", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
readerMock.On("GetNodeb", "test1").Return(nodeb1, nil)
nodeb1new := *nodeb1
nodeb1new.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb1new, "test1_DISCONNECTED").Return(nil)
+ writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", mock.Anything, "test1_DISCONNECTED").Return(nil)
nodeb1NotAssociated := *nodeb1
nodeb1NotAssociated.AssociatedE2TInstanceAddress = ""
nodeb1NotAssociated.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb1NotAssociated).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
err := shutdownManager.Shutdown(e2tInstance1)
e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName)
e2tInstance1.State = entities.Active
e2tInstance1.AssociatedRanList = []string{"test1", "test2"}
- writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool { return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted })).Return(nil)
+ writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool {
+ return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted
+ })).Return(nil)
var nodeb1 *entities.NodebInfo
readerMock.On("GetNodeb", "test1").Return(nodeb1, common.NewInternalError(fmt.Errorf("for testing")))
nodeb2new := *nodeb2
nodeb2new.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb2new).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
nodeb2NotAssociated := *nodeb2
nodeb2NotAssociated.AssociatedE2TInstanceAddress = ""
nodeb2NotAssociated.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb2NotAssociated).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
err := shutdownManager.Shutdown(e2tInstance1)
e2tInstance3 := entities.NewE2TInstance(E2TAddress3, PodName)
e2tInstance3.State = entities.Active
e2tInstance3.AssociatedRanList = []string{"test4"}
- writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool { return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted })).Return(nil)
+ writerMock.On("SaveE2TInstance", mock.MatchedBy(func(e2tInstance *entities.E2TInstance) bool {
+ return e2tInstance.Address == E2TAddress && e2tInstance.State == entities.ToBeDeleted
+ })).Return(nil)
nodeb1 := &entities.NodebInfo{RanName: "test1", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
readerMock.On("GetNodeb", "test1").Return(nodeb1, nil)
/*** nodeb 1 connected ***/
nodeb1connected := *nodeb1
nodeb1connected.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb1connected, "test1_DISCONNECTED").Return(nil)
+ writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", mock.Anything, "test1_DISCONNECTED").Return(nil)
nodeb1NotAssociated := *nodeb1
nodeb1NotAssociated.AssociatedE2TInstanceAddress = ""
nodeb1NotAssociated.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb1NotAssociated).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
/*** nodeb 2 shutting down ***/
nodeb2connected := *nodeb2
nodeb2connected.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb2connected).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
nodeb2NotAssociated := *nodeb2
nodeb2NotAssociated.AssociatedE2TInstanceAddress = ""
nodeb2NotAssociated.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb2NotAssociated).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
/*** nodeb 5 connected ***/
nodeb5connected := *nodeb5
nodeb5connected.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb5connected, "test5_DISCONNECTED").Return(nil)
+ writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", mock.Anything, "test5_DISCONNECTED").Return(nil)
nodeb5NotAssociated := *nodeb5
nodeb5NotAssociated.AssociatedE2TInstanceAddress = ""
nodeb5NotAssociated.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
- writerMock.On("UpdateNodebInfo", &nodeb5NotAssociated).Return(nil)
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
err := shutdownManager.Shutdown(e2tInstance1)