RIC916 new reconnect timer in E2 to reject new connect for x seconds
[ric-plt/e2mgr.git] / E2Manager / managers / ran_connect_status_change_manager_test.go
index 33e611e..0c1cb0a 100644 (file)
@@ -24,11 +24,13 @@ import (
        "e2mgr/logger"
        "e2mgr/mocks"
        "e2mgr/services"
+       "testing"
+
        "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/pkg/errors"
        "github.com/stretchr/testify/assert"
-       "testing"
+       "github.com/stretchr/testify/mock"
 )
 
 const EventChannelForTest = "RAN_CONNECTION_STATUS_CHANGE"
@@ -59,10 +61,10 @@ func TestChangeStatusSuccessNewRan(t *testing.T) {
        origNodebInfo := &entities.NodebInfo{RanName: RanName, ConnectionStatus: entities.ConnectionStatus_UNKNOWN_CONNECTION_STATUS}
        updatedNodebInfo := *origNodebInfo
        updatedNodebInfo.ConnectionStatus = entities.ConnectionStatus_CONNECTED
-       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &updatedNodebInfo, EventChannelForTest, RanName+"_"+CONNECTED_RAW_EVENT).Return(nil)
-       ranListManagerMock.On("UpdateRanState", &updatedNodebInfo).Return(nil)
-       ranAlarmServiceMock.On("SetConnectivityChangeAlarm", &updatedNodebInfo).Return(nil)
-       err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_CONNECTED)
+       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", mock.Anything, RanName+"_"+CONNECTED_RAW_EVENT).Return(nil)
+       ranListManagerMock.On("UpdateNbIdentityConnectionStatus", updatedNodebInfo.GetNodeType(), RanName, updatedNodebInfo.GetConnectionStatus()).Return(nil)
+       ranAlarmServiceMock.On("SetConnectivityChangeAlarm", mock.Anything).Return(nil)
+       _, err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_CONNECTED)
        assert.Nil(t, err)
        writerMock.AssertExpectations(t)
        ranListManagerMock.AssertExpectations(t)
@@ -75,9 +77,9 @@ func TestChangeStatusSuccessEventNone1(t *testing.T) {
        origNodebInfo := &entities.NodebInfo{RanName: ranName, ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN}
        updatedNodebInfo := *origNodebInfo
        updatedNodebInfo.ConnectionStatus = entities.ConnectionStatus_SHUT_DOWN
-       writerMock.On("UpdateNodebInfo", &updatedNodebInfo).Return(nil)
-       ranListManagerMock.On("UpdateRanState", &updatedNodebInfo).Return(nil)
-       err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_SHUT_DOWN)
+       writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
+       ranListManagerMock.On("UpdateNbIdentityConnectionStatus", updatedNodebInfo.GetNodeType(), RanName, updatedNodebInfo.GetConnectionStatus()).Return(nil)
+       _, err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_SHUT_DOWN)
        assert.Nil(t, err)
        writerMock.AssertExpectations(t)
        ranListManagerMock.AssertExpectations(t)
@@ -90,9 +92,9 @@ func TestChangeStatusSuccessEventNone2(t *testing.T) {
        origNodebInfo := &entities.NodebInfo{RanName: ranName, ConnectionStatus: entities.ConnectionStatus_DISCONNECTED}
        updatedNodebInfo := *origNodebInfo
        updatedNodebInfo.ConnectionStatus = entities.ConnectionStatus_SHUT_DOWN
-       writerMock.On("UpdateNodebInfo", &updatedNodebInfo).Return(nil)
-       ranListManagerMock.On("UpdateRanState", &updatedNodebInfo).Return(nil)
-       err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_SHUT_DOWN)
+       writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
+       ranListManagerMock.On("UpdateNbIdentityConnectionStatus", updatedNodebInfo.GetNodeType(), RanName, updatedNodebInfo.GetConnectionStatus()).Return(nil)
+       _, err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_SHUT_DOWN)
        assert.Nil(t, err)
        writerMock.AssertExpectations(t)
        ranListManagerMock.AssertExpectations(t)
@@ -105,10 +107,10 @@ func TestChangeStatusSuccessEventConnected(t *testing.T) {
        origNodebInfo := &entities.NodebInfo{RanName: RanName, ConnectionStatus: entities.ConnectionStatus_DISCONNECTED}
        updatedNodebInfo := *origNodebInfo
        updatedNodebInfo.ConnectionStatus = entities.ConnectionStatus_CONNECTED
-       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &updatedNodebInfo, EventChannelForTest, RanName+"_"+CONNECTED_RAW_EVENT).Return(nil)
-       ranListManagerMock.On("UpdateRanState", &updatedNodebInfo).Return(nil)
-       ranAlarmServiceMock.On("SetConnectivityChangeAlarm", &updatedNodebInfo).Return(nil)
-       err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_CONNECTED)
+       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", mock.Anything, RanName+"_"+CONNECTED_RAW_EVENT).Return(nil)
+       ranListManagerMock.On("UpdateNbIdentityConnectionStatus", updatedNodebInfo.GetNodeType(), RanName, updatedNodebInfo.GetConnectionStatus()).Return(nil)
+       ranAlarmServiceMock.On("SetConnectivityChangeAlarm", mock.Anything).Return(nil)
+       _, err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_CONNECTED)
        assert.Nil(t, err)
        writerMock.AssertExpectations(t)
        ranListManagerMock.AssertExpectations(t)
@@ -121,10 +123,10 @@ func TestChangeStatusSuccessEventDisconnected(t *testing.T) {
        origNodebInfo := &entities.NodebInfo{RanName: RanName, ConnectionStatus: entities.ConnectionStatus_CONNECTED}
        updatedNodebInfo := *origNodebInfo
        updatedNodebInfo.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
-       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &updatedNodebInfo, EventChannelForTest, RanName+"_"+DISCONNECTED_RAW_EVENT).Return(nil)
-       ranListManagerMock.On("UpdateRanState", &updatedNodebInfo).Return(nil)
-       ranAlarmServiceMock.On("SetConnectivityChangeAlarm", &updatedNodebInfo).Return(nil)
-       err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_DISCONNECTED)
+       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", mock.Anything, RanName+"_"+DISCONNECTED_RAW_EVENT).Return(nil)
+       ranListManagerMock.On("UpdateNbIdentityConnectionStatus", updatedNodebInfo.GetNodeType(), RanName, updatedNodebInfo.GetConnectionStatus()).Return(nil)
+       ranAlarmServiceMock.On("SetConnectivityChangeAlarm", mock.Anything).Return(nil)
+       _, err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_DISCONNECTED)
        assert.Nil(t, err)
        writerMock.AssertExpectations(t)
        ranListManagerMock.AssertExpectations(t)
@@ -137,8 +139,8 @@ func TestChangeStatusRnibErrorEventNone(t *testing.T) {
        origNodebInfo := &entities.NodebInfo{RanName: ranName, ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN}
        updatedNodebInfo := *origNodebInfo
        updatedNodebInfo.ConnectionStatus = entities.ConnectionStatus_SHUT_DOWN
-       writerMock.On("UpdateNodebInfo", &updatedNodebInfo).Return(common.NewInternalError(errors.New("Error")))
-       err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_SHUT_DOWN)
+       writerMock.On("UpdateNodebInfo", mock.Anything).Return(common.NewInternalError(errors.New("Error")))
+       _, err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_SHUT_DOWN)
        assert.NotNil(t, err)
        writerMock.AssertExpectations(t)
        ranListManagerMock.AssertExpectations(t)
@@ -151,8 +153,8 @@ func TestChangeStatusRnibErrorEventConnected(t *testing.T) {
        origNodebInfo := &entities.NodebInfo{RanName: RanName, ConnectionStatus: entities.ConnectionStatus_DISCONNECTED}
        updatedNodebInfo := *origNodebInfo
        updatedNodebInfo.ConnectionStatus = entities.ConnectionStatus_CONNECTED
-       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &updatedNodebInfo, EventChannelForTest, RanName+"_"+CONNECTED_RAW_EVENT).Return(common.NewInternalError(errors.New("Error")))
-       err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_CONNECTED)
+       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", mock.Anything, RanName+"_"+CONNECTED_RAW_EVENT).Return(common.NewInternalError(errors.New("Error")))
+       _, err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_CONNECTED)
        assert.NotNil(t, err)
        writerMock.AssertExpectations(t)
        ranListManagerMock.AssertExpectations(t)
@@ -165,9 +167,9 @@ func TestChangeStatusRanListManagerError(t *testing.T) {
        origNodebInfo := &entities.NodebInfo{RanName: ranName, ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN}
        updatedNodebInfo := *origNodebInfo
        updatedNodebInfo.ConnectionStatus = entities.ConnectionStatus_SHUT_DOWN
-       writerMock.On("UpdateNodebInfo", &updatedNodebInfo).Return(nil)
-       ranListManagerMock.On("UpdateRanState", &updatedNodebInfo).Return(common.NewInternalError(errors.New("Error")))
-       err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_SHUT_DOWN)
+       writerMock.On("UpdateNodebInfo", mock.Anything).Return(nil)
+       ranListManagerMock.On("UpdateNbIdentityConnectionStatus", updatedNodebInfo.GetNodeType(), ranName, updatedNodebInfo.GetConnectionStatus()).Return(common.NewInternalError(errors.New("Error")))
+       _, err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_SHUT_DOWN)
        assert.Nil(t, err)
        writerMock.AssertExpectations(t)
        ranListManagerMock.AssertExpectations(t)
@@ -180,10 +182,10 @@ func TestChangeStatusRanAlarmServiceErrorEventConnected(t *testing.T) {
        origNodebInfo := &entities.NodebInfo{RanName: ranName, ConnectionStatus: entities.ConnectionStatus_DISCONNECTED}
        updatedNodebInfo := *origNodebInfo
        updatedNodebInfo.ConnectionStatus = entities.ConnectionStatus_CONNECTED
-       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", &updatedNodebInfo, EventChannelForTest, RanName+"_"+CONNECTED_RAW_EVENT).Return(nil)
-       ranListManagerMock.On("UpdateRanState", &updatedNodebInfo).Return(nil)
-       ranAlarmServiceMock.On("SetConnectivityChangeAlarm", &updatedNodebInfo).Return(common.NewInternalError(errors.New("Error")))
-       err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_CONNECTED)
+       writerMock.On("UpdateNodebInfoOnConnectionStatusInversion", mock.Anything, RanName+"_"+CONNECTED_RAW_EVENT).Return(nil)
+       ranListManagerMock.On("UpdateNbIdentityConnectionStatus", updatedNodebInfo.GetNodeType(), RanName, updatedNodebInfo.GetConnectionStatus()).Return(nil)
+       ranAlarmServiceMock.On("SetConnectivityChangeAlarm", mock.Anything).Return(common.NewInternalError(errors.New("Error")))
+       _, err := ranConnectStatusChangeManager.ChangeStatus(origNodebInfo, entities.ConnectionStatus_CONNECTED)
        assert.Nil(t, err)
        writerMock.AssertExpectations(t)
        ranListManagerMock.AssertExpectations(t)