X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fmanagers%2Fran_setup_manager_test.go;h=a4cefef73d9263e260a531baee7eca55232e459f;hb=7dbe77a33d8bc8308d9d12b12f1e75f8329a2d92;hp=1b31c4c194538dcbce1b679ece5286d61912932f;hpb=de19068aaa1f3d2b415cd960106121ceb167aaa9;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/managers/ran_setup_manager_test.go b/E2Manager/managers/ran_setup_manager_test.go index 1b31c4c..a4cefef 100644 --- a/E2Manager/managers/ran_setup_manager_test.go +++ b/E2Manager/managers/ran_setup_manager_test.go @@ -13,7 +13,10 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// + +// This source code is part of the near-RT RIC (RAN Intelligent Controller) +// platform project (RICP). + package managers @@ -23,20 +26,20 @@ import ( "e2mgr/e2pdus" "e2mgr/logger" "e2mgr/mocks" - "e2mgr/rNibWriter" "e2mgr/rmrCgo" "e2mgr/services" "fmt" "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common" "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities" - "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "testing" + "unsafe" ) func initRanSetupManagerTest(t *testing.T) (*mocks.RmrMessengerMock, *mocks.RnibWriterMock, *RanSetupManager) { - logger, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#... - failed to initialize logger, error: %s", err) } @@ -46,14 +49,10 @@ func initRanSetupManagerTest(t *testing.T) (*mocks.RmrMessengerMock, *mocks.Rnib rmrSender := initRmrSender(rmrMessengerMock, logger) readerMock := &mocks.RnibReaderMock{} - rnibReaderProvider := func() reader.RNibReader { - return readerMock - } + writerMock := &mocks.RnibWriterMock{} - rnibWriterProvider := func() rNibWriter.RNibWriter { - return writerMock - } - rnibDataService := services.NewRnibDataService(logger, config, rnibReaderProvider, rnibWriterProvider) + + rnibDataService := services.NewRnibDataService(logger, config, readerMock, writerMock) ranSetupManager := NewRanSetupManager(logger, rmrSender, rnibDataService) return rmrMessengerMock, writerMock, ranSetupManager } @@ -64,14 +63,15 @@ func TestExecuteSetupConnectingX2Setup(t *testing.T) { ranName := "test1" var initialNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST} - var argNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTING, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST, ConnectionAttempts: 1} + var argNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTING, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST} var rnibErr error writerMock.On("UpdateNodebInfo", argNodeb).Return(rnibErr) payload := e2pdus.PackedX2setupRequest - xaction := []byte(ranName) - msg := rmrCgo.NewMBuf(rmrCgo.RIC_X2_SETUP_REQ, len(payload), ranName, &payload, &xaction) - rmrMessengerMock.On("SendMsg", mock.Anything).Return(msg, nil) + xAction := []byte(ranName) + var msgSrc unsafe.Pointer + msg := rmrCgo.NewMBuf(rmrCgo.RIC_X2_SETUP_REQ, len(payload), ranName, &payload, &xAction, msgSrc) + rmrMessengerMock.On("SendMsg", mock.Anything, true).Return(msg, nil) if err := mgr.ExecuteSetup(initialNodeb, entities.ConnectionStatus_CONNECTING); err != nil { t.Errorf("want: success, got: error: %s", err) @@ -87,14 +87,15 @@ func TestExecuteSetupConnectingEndcX2Setup(t *testing.T) { ranName := "test1" var initialNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_ENDC_X2_SETUP_REQUEST} - var argNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTING, E2ApplicationProtocol: entities.E2ApplicationProtocol_ENDC_X2_SETUP_REQUEST, ConnectionAttempts: 1} + var argNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTING, E2ApplicationProtocol: entities.E2ApplicationProtocol_ENDC_X2_SETUP_REQUEST} var rnibErr error writerMock.On("UpdateNodebInfo", argNodeb).Return(rnibErr) payload := e2pdus.PackedEndcX2setupRequest - xaction := []byte(ranName) - msg := rmrCgo.NewMBuf(rmrCgo.RIC_ENDC_X2_SETUP_REQ, len(payload), ranName, &payload, &xaction) - rmrMessengerMock.On("SendMsg", mock.Anything).Return(msg, nil) + xAction := []byte(ranName) + var msgSrc unsafe.Pointer + msg := rmrCgo.NewMBuf(rmrCgo.RIC_ENDC_X2_SETUP_REQ, len(payload), ranName, &payload, &xAction, msgSrc) + rmrMessengerMock.On("SendMsg", mock.Anything, true).Return(msg, nil) if err := mgr.ExecuteSetup(initialNodeb, entities.ConnectionStatus_CONNECTING); err != nil { t.Errorf("want: success, got: error: %s", err) @@ -110,16 +111,17 @@ func TestExecuteSetupDisconnected(t *testing.T) { ranName := "test1" var initialNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST} - var argNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTING, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST, ConnectionAttempts: 1} - var argNodebDisconnected = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_DISCONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST, ConnectionAttempts: 0} + var argNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTING, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST} + var argNodebDisconnected = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_DISCONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST} var rnibErr error writerMock.On("UpdateNodebInfo", argNodeb).Return(rnibErr) writerMock.On("UpdateNodebInfo", argNodebDisconnected).Return(rnibErr) payload := []byte{0} - xaction := []byte(ranName) - msg := rmrCgo.NewMBuf(rmrCgo.RIC_X2_SETUP_REQ, len(payload), ranName, &payload, &xaction) - rmrMessengerMock.On("SendMsg", mock.Anything).Return(msg, fmt.Errorf("send failure")) + xAction := []byte(ranName) + var msgSrc unsafe.Pointer + msg := rmrCgo.NewMBuf(rmrCgo.RIC_X2_SETUP_REQ, len(payload), ranName, &payload, &xAction, msgSrc) + rmrMessengerMock.On("SendMsg", mock.Anything, true).Return(msg, fmt.Errorf("send failure")) if err := mgr.ExecuteSetup(initialNodeb, entities.ConnectionStatus_CONNECTING); err == nil { t.Errorf("want: failure, got: success") @@ -135,16 +137,17 @@ func TestExecuteSetupConnectingRnibError(t *testing.T) { ranName := "test1" var initialNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST} - var argNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTING, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST, ConnectionAttempts: 1} - var argNodebDisconnected = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_DISCONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST, ConnectionAttempts: 0} + var argNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTING, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST} + var argNodebDisconnected = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_DISCONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST} var rnibErr = common.NewInternalError(fmt.Errorf("DB error")) writerMock.On("UpdateNodebInfo", argNodeb).Return(rnibErr) writerMock.On("UpdateNodebInfo", argNodebDisconnected).Return(rnibErr) payload := []byte{0} - xaction := []byte(ranName) - msg := rmrCgo.NewMBuf(rmrCgo.RIC_X2_SETUP_REQ, len(payload), ranName, &payload, &xaction) - rmrMessengerMock.On("SendMsg", mock.Anything).Return(msg, fmt.Errorf("send failure")) + xAction := []byte(ranName) + var msgSrc unsafe.Pointer + msg := rmrCgo.NewMBuf(rmrCgo.RIC_X2_SETUP_REQ, len(payload), ranName, &payload, &xAction, msgSrc) + rmrMessengerMock.On("SendMsg", mock.Anything, true).Return(msg, fmt.Errorf("send failure")) if err := mgr.ExecuteSetup(initialNodeb, entities.ConnectionStatus_CONNECTING); err == nil { t.Errorf("want: failure, got: success") @@ -162,16 +165,17 @@ func TestExecuteSetupDisconnectedRnibError(t *testing.T) { ranName := "test1" var initialNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST} - var argNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTING, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST, ConnectionAttempts: 1} - var argNodebDisconnected = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_DISCONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST, ConnectionAttempts: 0} + var argNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTING, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST} + var argNodebDisconnected = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_DISCONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_X2_SETUP_REQUEST} var rnibErr error writerMock.On("UpdateNodebInfo", argNodeb).Return(rnibErr) writerMock.On("UpdateNodebInfo", argNodebDisconnected).Return(common.NewInternalError(fmt.Errorf("DB error"))) payload := []byte{0} - xaction := []byte(ranName) - msg := rmrCgo.NewMBuf(rmrCgo.RIC_X2_SETUP_REQ, len(payload), ranName, &payload, &xaction) - rmrMessengerMock.On("SendMsg", mock.Anything).Return(msg, fmt.Errorf("send failure")) + xAction := []byte(ranName) + var msgSrc unsafe.Pointer + msg := rmrCgo.NewMBuf(rmrCgo.RIC_X2_SETUP_REQ, len(payload), ranName, &payload, &xAction, msgSrc) + rmrMessengerMock.On("SendMsg", mock.Anything, true).Return(msg, fmt.Errorf("send failure")) if err := mgr.ExecuteSetup(initialNodeb, entities.ConnectionStatus_CONNECTING); err == nil { t.Errorf("want: failure, got: success") @@ -189,14 +193,15 @@ func TestExecuteSetupUnsupportedProtocol(t *testing.T) { ranName := "test1" var initialNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTED, E2ApplicationProtocol: entities.E2ApplicationProtocol_UNKNOWN_E2_APPLICATION_PROTOCOL} - var argNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTING, E2ApplicationProtocol: entities.E2ApplicationProtocol_UNKNOWN_E2_APPLICATION_PROTOCOL, ConnectionAttempts: 1} + var argNodeb = &entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_CONNECTING, E2ApplicationProtocol: entities.E2ApplicationProtocol_UNKNOWN_E2_APPLICATION_PROTOCOL} var rnibErr error writerMock.On("UpdateNodebInfo", argNodeb).Return(rnibErr) payload := e2pdus.PackedX2setupRequest - xaction := []byte(ranName) - msg := rmrCgo.NewMBuf(rmrCgo.RIC_X2_SETUP_REQ, len(payload), ranName, &payload, &xaction) - rmrMessengerMock.On("SendMsg", mock.Anything).Return(msg, nil) + xAction := []byte(ranName) + var msgSrc unsafe.Pointer + msg := rmrCgo.NewMBuf(rmrCgo.RIC_X2_SETUP_REQ, len(payload), ranName, &payload, &xAction, msgSrc) + rmrMessengerMock.On("SendMsg", mock.Anything, true).Return(msg, nil) if err := mgr.ExecuteSetup(initialNodeb, entities.ConnectionStatus_CONNECTING); err == nil { t.Errorf("want: error, got: success") @@ -207,7 +212,8 @@ func TestExecuteSetupUnsupportedProtocol(t *testing.T) { } func initLog(t *testing.T) *logger.Logger { - log, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + log, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("#initLog test - failed to initialize logger, error: %s", err) }