RIC-961:implement Xn and X2 component IDs correctly in E2M
[ric-plt/e2mgr.git] / E2Manager / managers / e2t_shutdown_manager_test.go
index af3f2a0..7cbd195 100644 (file)
@@ -30,11 +30,13 @@ import (
        "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"
@@ -44,9 +46,9 @@ import (
 
 const E2TAddress3 = "10.10.2.17:9800"
 
-func initE2TShutdownManagerTest(t *testing.T) (*E2TShutdownManager, *mocks.RnibReaderMock, *mocks.RnibWriterMock, *mocks.HttpClientMock, *KubernetesManager) {
+func initE2TShutdownManagerTest(t *testing.T) (*E2TShutdownManager, *mocks.RnibReaderMock, *mocks.RnibWriterMock, *mocks.HttpClientMock) {
        log := initLog(t)
-       config := &configuration.Configuration{RnibRetryIntervalMs: 10, MaxRnibConnectionAttempts: 3, E2TInstanceDeletionTimeoutMs: 15000, StateChangeMessageChannel: "RAN_CONNECTION_STATUS_CHANGE"}
+       config := &configuration.Configuration{RnibRetryIntervalMs: 10, MaxRnibConnectionAttempts: 3, E2TInstanceDeletionTimeoutMs: 15000, RnibWriter: configuration.RnibWriterConfig{StateChangeMessageChannel: "RAN_CONNECTION_STATUS_CHANGE"}}
 
        readerMock := &mocks.RnibReaderMock{}
        writerMock := &mocks.RnibWriterMock{}
@@ -56,22 +58,17 @@ func initE2TShutdownManagerTest(t *testing.T) (*E2TShutdownManager, *mocks.RnibR
        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)
+       ranConnectStatusChangeManager := NewRanConnectStatusChangeManager(log, rnibDataService, ranListManager, ranAlarmService)
        associationManager := NewE2TAssociationManager(log, rnibDataService, e2tInstancesManager, rmClient, ranConnectStatusChangeManager)
-       //kubernetesManager := initKubernetesManagerTest(t)
+       shutdownManager := NewE2TShutdownManager(log, config, rnibDataService, e2tInstancesManager, associationManager, ranConnectStatusChangeManager)
 
-       /*shutdownManager := NewE2TShutdownManager(log, config, rnibDataService, e2tInstancesManager, associationManager, kubernetesManager)
-
-       return shutdownManager, readerMock, writerMock, httpClientMock, kubernetesManager*/
-       shutdownManager := NewE2TShutdownManager(log, config, rnibDataService, e2tInstancesManager, associationManager, nil, ranConnectStatusChangeManager)
-
-       return shutdownManager, readerMock, writerMock, httpClientMock, nil
+       return shutdownManager, readerMock, writerMock, httpClientMock
 }
 
 func TestShutdownSuccess1OutOf3Instances(t *testing.T) {
-       shutdownManager, readerMock, writerMock, httpClientMock,_ := initE2TShutdownManagerTest(t)
+       shutdownManager, readerMock, writerMock, httpClientMock := initE2TShutdownManagerTest(t)
 
        e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName)
        e2tInstance1.State = entities.Active
@@ -82,16 +79,18 @@ func TestShutdownSuccess1OutOf3Instances(t *testing.T) {
        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}
+       nodeb1 := &entities.NodebInfo{RanName: "test1", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
        readerMock.On("GetNodeb", "test1").Return(nodeb1, nil)
-       nodeb2 := &entities.NodebInfo{RanName:"test2", AssociatedE2TInstanceAddress:E2TAddress, ConnectionStatus:entities.ConnectionStatus_SHUTTING_DOWN, E2ApplicationProtocol:entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
+       nodeb2 := &entities.NodebInfo{RanName: "test2", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
        readerMock.On("GetNodeb", "test2").Return(nodeb2, nil)
-       nodeb5 := &entities.NodebInfo{RanName:"test5", AssociatedE2TInstanceAddress:E2TAddress, ConnectionStatus:entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol:entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
+       nodeb5 := &entities.NodebInfo{RanName: "test5", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
        readerMock.On("GetNodeb", "test5").Return(nodeb5, nil)
 
-       e2tAddresses := []string{E2TAddress, E2TAddress2,E2TAddress3}
+       e2tAddresses := []string{E2TAddress, E2TAddress2, E2TAddress3}
        readerMock.On("GetE2TAddresses").Return(e2tAddresses, nil)
 
        data := models.NewRoutingManagerDeleteRequestModel(E2TAddress, e2tInstance1.AssociatedRanList, nil)
@@ -101,37 +100,37 @@ func TestShutdownSuccess1OutOf3Instances(t *testing.T) {
        httpClientMock.On("Delete", "e2t", "application/json", body).Return(&http.Response{StatusCode: http.StatusCreated, Body: respBody}, nil)
 
        writerMock.On("RemoveE2TInstance", E2TAddress).Return(nil)
-       writerMock.On("SaveE2TAddresses", []string{E2TAddress2,E2TAddress3}).Return(nil)
+       writerMock.On("SaveE2TAddresses", []string{E2TAddress2, E2TAddress3}).Return(nil)
 
        /*** nodeb 1 ***/
        nodeb1connected := *nodeb1
        nodeb1connected.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
-       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb1connected, "RAN_CONNECTION_STATUS_CHANGE", "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, "RAN_CONNECTION_STATUS_CHANGE", "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)
 
@@ -142,12 +141,14 @@ func TestShutdownSuccess1OutOf3Instances(t *testing.T) {
 }
 
 func TestShutdownSuccess1InstanceWithoutRans(t *testing.T) {
-       shutdownManager, readerMock, writerMock, httpClientMock,_  := initE2TShutdownManagerTest(t)
+       shutdownManager, readerMock, writerMock, httpClientMock := initE2TShutdownManagerTest(t)
 
        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)
@@ -168,16 +169,18 @@ func TestShutdownSuccess1InstanceWithoutRans(t *testing.T) {
 }
 
 func TestShutdownSuccess1Instance2Rans(t *testing.T) {
-       shutdownManager, readerMock, writerMock, httpClientMock,_  := initE2TShutdownManagerTest(t)
+       shutdownManager, readerMock, writerMock, httpClientMock := initE2TShutdownManagerTest(t)
 
        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}
+       nodeb1 := &entities.NodebInfo{RanName: "test1", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
        readerMock.On("GetNodeb", "test1").Return(nodeb1, nil)
-       nodeb2 := &entities.NodebInfo{RanName:"test2", AssociatedE2TInstanceAddress:E2TAddress, ConnectionStatus:entities.ConnectionStatus_DISCONNECTED, E2ApplicationProtocol:entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
+       nodeb2 := &entities.NodebInfo{RanName: "test2", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_DISCONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
        readerMock.On("GetNodeb", "test2").Return(nodeb2, nil)
 
        data := models.NewRoutingManagerDeleteRequestModel(E2TAddress, []string{"test1", "test2"}, nil)
@@ -193,22 +196,22 @@ func TestShutdownSuccess1Instance2Rans(t *testing.T) {
        /*** nodeb 1 connected ***/
        nodeb1new := *nodeb1
        nodeb1new.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
-       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb1new, "RAN_CONNECTION_STATUS_CHANGE", "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)
 
@@ -219,7 +222,7 @@ func TestShutdownSuccess1Instance2Rans(t *testing.T) {
 }
 
 func TestShutdownE2tInstanceAlreadyBeingDeleted(t *testing.T) {
-       shutdownManager, readerMock, writerMock, httpClientMock,_  := initE2TShutdownManagerTest(t)
+       shutdownManager, readerMock, writerMock, httpClientMock := initE2TShutdownManagerTest(t)
 
        e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName)
        e2tInstance1.State = entities.ToBeDeleted
@@ -235,12 +238,14 @@ func TestShutdownE2tInstanceAlreadyBeingDeleted(t *testing.T) {
 }
 
 func TestShutdownFailureMarkInstanceAsToBeDeleted(t *testing.T) {
-       shutdownManager, readerMock, writerMock, httpClientMock,_  := initE2TShutdownManagerTest(t)
+       shutdownManager, readerMock, writerMock, httpClientMock := initE2TShutdownManagerTest(t)
 
        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)
 
@@ -251,7 +256,7 @@ func TestShutdownFailureMarkInstanceAsToBeDeleted(t *testing.T) {
 }
 
 func TestShutdownFailureRoutingManagerError(t *testing.T) {
-       shutdownManager, readerMock, writerMock, httpClientMock,_  := initE2TShutdownManagerTest(t)
+       shutdownManager, readerMock, writerMock, httpClientMock := initE2TShutdownManagerTest(t)
 
        e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName)
        e2tInstance1.State = entities.Active
@@ -262,16 +267,18 @@ func TestShutdownFailureRoutingManagerError(t *testing.T) {
        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}
+       nodeb1 := &entities.NodebInfo{RanName: "test1", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
        readerMock.On("GetNodeb", "test1").Return(nodeb1, nil)
-       nodeb2 := &entities.NodebInfo{RanName:"test2", AssociatedE2TInstanceAddress:E2TAddress, ConnectionStatus:entities.ConnectionStatus_SHUTTING_DOWN, E2ApplicationProtocol:entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
+       nodeb2 := &entities.NodebInfo{RanName: "test2", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
        readerMock.On("GetNodeb", "test2").Return(nodeb2, nil)
-       nodeb5 := &entities.NodebInfo{RanName:"test5", AssociatedE2TInstanceAddress:E2TAddress, ConnectionStatus:entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol:entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
+       nodeb5 := &entities.NodebInfo{RanName: "test5", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
        readerMock.On("GetNodeb", "test5").Return(nodeb5, nil)
 
-       e2tAddresses := []string{E2TAddress, E2TAddress2,E2TAddress3}
+       e2tAddresses := []string{E2TAddress, E2TAddress2, E2TAddress3}
        readerMock.On("GetE2TAddresses").Return(e2tAddresses, nil)
 
        data := models.NewRoutingManagerDeleteRequestModel(E2TAddress, e2tInstance1.AssociatedRanList, nil)
@@ -281,37 +288,37 @@ func TestShutdownFailureRoutingManagerError(t *testing.T) {
        httpClientMock.On("Delete", "e2t", "application/json", body).Return(&http.Response{StatusCode: http.StatusBadRequest, Body: respBody}, nil)
 
        writerMock.On("RemoveE2TInstance", E2TAddress).Return(nil)
-       writerMock.On("SaveE2TAddresses", []string{E2TAddress2,E2TAddress3}).Return(nil)
+       writerMock.On("SaveE2TAddresses", []string{E2TAddress2, E2TAddress3}).Return(nil)
 
        /*** nodeb 1 connected ***/
        nodeb1connected := *nodeb1
        nodeb1connected.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
-       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb1connected, "RAN_CONNECTION_STATUS_CHANGE", "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, "RAN_CONNECTION_STATUS_CHANGE", "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)
 
@@ -322,24 +329,26 @@ func TestShutdownFailureRoutingManagerError(t *testing.T) {
 }
 
 func TestShutdownFailureInClearNodebsAssociation(t *testing.T) {
-       shutdownManager, readerMock, writerMock, httpClientMock,_  := initE2TShutdownManagerTest(t)
+       shutdownManager, readerMock, writerMock, httpClientMock := initE2TShutdownManagerTest(t)
 
        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}
+       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, "RAN_CONNECTION_STATUS_CHANGE", "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)
 
@@ -350,19 +359,21 @@ func TestShutdownFailureInClearNodebsAssociation(t *testing.T) {
 }
 
 func TestShutdownFailureInClearNodebsAssociation_UpdateConnectionStatus(t *testing.T) {
-       shutdownManager, readerMock, writerMock, httpClientMock,_  := initE2TShutdownManagerTest(t)
+       shutdownManager, readerMock, writerMock, httpClientMock := initE2TShutdownManagerTest(t)
 
        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}
+       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, "RAN_CONNECTION_STATUS_CHANGE", "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)
 
@@ -373,26 +384,28 @@ func TestShutdownFailureInClearNodebsAssociation_UpdateConnectionStatus(t *testi
 }
 
 func TestShutdownResourceNotFoundErrorInGetNodeb(t *testing.T) {
-       shutdownManager, readerMock, writerMock, httpClientMock,_  := initE2TShutdownManagerTest(t)
+       shutdownManager, readerMock, writerMock, httpClientMock := initE2TShutdownManagerTest(t)
 
        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}
+       nodeb1 := &entities.NodebInfo{RanName: "test1", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
        readerMock.On("GetNodeb", "test1").Return(nodeb1, nil)
        var nodeb2 *entities.NodebInfo
        readerMock.On("GetNodeb", "test2").Return(nodeb2, common.NewResourceNotFoundError("for testing"))
 
        nodeb1new := *nodeb1
        nodeb1new.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
-       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb1new, "RAN_CONNECTION_STATUS_CHANGE", "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)
 
@@ -403,16 +416,18 @@ func TestShutdownResourceNotFoundErrorInGetNodeb(t *testing.T) {
 }
 
 func TestShutdownResourceGeneralErrorInGetNodeb(t *testing.T) {
-       shutdownManager, readerMock, writerMock, httpClientMock,_  := initE2TShutdownManagerTest(t)
+       shutdownManager, readerMock, writerMock, httpClientMock := initE2TShutdownManagerTest(t)
 
        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")))
-       nodeb2 := &entities.NodebInfo{RanName:"test2", AssociatedE2TInstanceAddress:E2TAddress, ConnectionStatus:entities.ConnectionStatus_DISCONNECTED, E2ApplicationProtocol:entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
+       nodeb2 := &entities.NodebInfo{RanName: "test2", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_DISCONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
        readerMock.On("GetNodeb", "test2").Return(nodeb2, nil)
 
        data := models.NewRoutingManagerDeleteRequestModel(E2TAddress, []string{"test1", "test2"}, nil)
@@ -427,12 +442,12 @@ func TestShutdownResourceGeneralErrorInGetNodeb(t *testing.T) {
 
        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)
 
@@ -444,7 +459,7 @@ func TestShutdownResourceGeneralErrorInGetNodeb(t *testing.T) {
 }
 
 func TestShutdownFailureInRemoveE2TInstance(t *testing.T) {
-       shutdownManager, readerMock, writerMock, httpClientMock,_  := initE2TShutdownManagerTest(t)
+       shutdownManager, readerMock, writerMock, httpClientMock := initE2TShutdownManagerTest(t)
 
        e2tInstance1 := entities.NewE2TInstance(E2TAddress, PodName)
        e2tInstance1.State = entities.Active
@@ -455,13 +470,15 @@ func TestShutdownFailureInRemoveE2TInstance(t *testing.T) {
        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}
+       nodeb1 := &entities.NodebInfo{RanName: "test1", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
        readerMock.On("GetNodeb", "test1").Return(nodeb1, nil)
-       nodeb2 := &entities.NodebInfo{RanName:"test2", AssociatedE2TInstanceAddress:E2TAddress, ConnectionStatus:entities.ConnectionStatus_SHUTTING_DOWN, E2ApplicationProtocol:entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
+       nodeb2 := &entities.NodebInfo{RanName: "test2", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
        readerMock.On("GetNodeb", "test2").Return(nodeb2, nil)
-       nodeb5 := &entities.NodebInfo{RanName:"test5", AssociatedE2TInstanceAddress:E2TAddress, ConnectionStatus:entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol:entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
+       nodeb5 := &entities.NodebInfo{RanName: "test5", AssociatedE2TInstanceAddress: E2TAddress, ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST}
        readerMock.On("GetNodeb", "test5").Return(nodeb5, nil)
 
        data := models.NewRoutingManagerDeleteRequestModel(E2TAddress, e2tInstance1.AssociatedRanList, nil)
@@ -475,32 +492,32 @@ func TestShutdownFailureInRemoveE2TInstance(t *testing.T) {
        /*** nodeb 1 connected ***/
        nodeb1connected := *nodeb1
        nodeb1connected.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
-       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &nodeb1connected, "RAN_CONNECTION_STATUS_CHANGE", "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, "RAN_CONNECTION_STATUS_CHANGE", "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)
 
@@ -508,4 +525,4 @@ func TestShutdownFailureInRemoveE2TInstance(t *testing.T) {
        readerMock.AssertExpectations(t)
        writerMock.AssertExpectations(t)
        httpClientMock.AssertExpectations(t)
-}
\ No newline at end of file
+}