Copy latest code to master
[ric-plt/resource-status-manager.git] / RSM / managers / resource_status_initiate_manager_test.go
diff --git a/RSM/managers/resource_status_initiate_manager_test.go b/RSM/managers/resource_status_initiate_manager_test.go
deleted file mode 100644 (file)
index a8cea62..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-package managers
-
-import (
-       "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/pkg/errors"
-       "github.com/stretchr/testify/assert"
-       "rsm/configuration"
-       "rsm/e2pdus"
-       "rsm/enums"
-       "rsm/logger"
-       "rsm/mocks"
-       "rsm/rmrcgo"
-       "rsm/rsmerrors"
-       "rsm/services"
-       "rsm/tests/testhelper"
-       "testing"
-       "time"
-)
-
-const RanName = "test"
-
-func initResourceStatusInitiateManagerTest(t *testing.T) (*mocks.RmrMessengerMock, *mocks.RnibReaderMock, *e2pdus.ResourceStatusRequestData, *ResourceStatusInitiateManager) {
-       logger, err := logger.InitLogger(logger.InfoLevel)
-       if err != nil {
-               t.Errorf("#... - failed to initialize logger, error: %s", err)
-       }
-
-       config, err := configuration.ParseConfiguration()
-       if err != nil {
-               t.Errorf("#... - failed to parse configuration error: %s", err)
-       }
-
-       rmrMessengerMock := &mocks.RmrMessengerMock{}
-       rmrSender := testhelper.InitRmrSender(rmrMessengerMock, logger)
-
-       readerMock := &mocks.RnibReaderMock{}
-       rnibReaderProvider := func() reader.RNibReader {
-               return readerMock
-       }
-
-       resourceStatusRequestData := &e2pdus.ResourceStatusRequestData{}
-       populateResourceStatusInitiateRequestParams(resourceStatusRequestData, config)
-
-       rnibDataService := services.NewRnibDataService(logger, config, rnibReaderProvider)
-       resourceStatusInitiateManager := NewResourceStatusInitiateManager(logger, rnibDataService, rmrSender)
-       return rmrMessengerMock, readerMock, resourceStatusRequestData, resourceStatusInitiateManager
-}
-
-func TestGetNodebFailure(t *testing.T) {
-       rmrMessengerMock, readerMock, resourceStatusInitiateRequestParams, resourceStatusInitiateManager := initResourceStatusInitiateManagerTest(t)
-       var nodebInfo *entities.NodebInfo
-       readerMock.On("GetNodeb", RanName).Return(nodebInfo, common.NewInternalError(errors.New("Error")))
-       err := resourceStatusInitiateManager.Execute(RanName, resourceStatusInitiateRequestParams)
-       readerMock.AssertCalled(t, "GetNodeb", RanName)
-       assert.IsType(t, &rsmerrors.RnibDbError{}, err)
-       rmrMessengerMock.AssertNotCalled(t, "SendMsg")
-}
-
-func TestInvalidConnectionStatus(t *testing.T) {
-       rmrMessengerMock, readerMock, resourceStatusInitiateRequestParams, resourceStatusInitiateManager := initResourceStatusInitiateManagerTest(t)
-       var err error
-       readerMock.On("GetNodeb", RanName).Return(&entities.NodebInfo{ConnectionStatus: entities.ConnectionStatus_DISCONNECTED}, err)
-       err = resourceStatusInitiateManager.Execute(RanName, resourceStatusInitiateRequestParams)
-       readerMock.AssertCalled(t, "GetNodeb", RanName)
-       assert.IsType(t, &rsmerrors.WrongStateError{}, err)
-       rmrMessengerMock.AssertNotCalled(t, "SendMsg")
-}
-
-func TestPackFailure(t *testing.T) {
-       rmrMessengerMock, readerMock, resourceRequestData, resourceStatusInitiateManager := initResourceStatusInitiateManagerTest(t)
-       var err error
-       nodebInfo := &entities.NodebInfo{
-               RanName:          RanName,
-               ConnectionStatus: entities.ConnectionStatus_CONNECTED,
-               Configuration: &entities.NodebInfo_Enb{
-                       Enb: &entities.Enb{
-                               ServedCells: []*entities.ServedCellInfo{{CellId: ""}},
-                       },
-               },
-       }
-
-       readerMock.On("GetNodeb", RanName).Return(nodebInfo, err)
-       err = resourceStatusInitiateManager.Execute(RanName, resourceRequestData)
-       assert.Nil(t, err)
-       readerMock.AssertCalled(t, "GetNodeb", RanName)
-       rmrMessengerMock.AssertNotCalled(t, "SendMsg")
-}
-
-func TestOneCellSuccess(t *testing.T) {
-       cellId := "02f829:0007ab00"
-       rmrMessengerMock, readerMock, resourceRequestData, resourceStatusInitiateManager := initResourceStatusInitiateManagerTest(t)
-       xaction := []byte(RanName)
-       var err error
-       nodebInfo := &entities.NodebInfo{
-               RanName:          RanName,
-               ConnectionStatus: entities.ConnectionStatus_CONNECTED,
-               Configuration: &entities.NodebInfo_Enb{
-                       Enb: &entities.Enb{
-                               ServedCells: []*entities.ServedCellInfo{{CellId: cellId}},
-                       },
-               },
-       }
-
-       readerMock.On("GetNodeb", RanName).Return(nodebInfo, err)
-       expectedPayload := getPackedPayloadForCell(cellId, 1, *resourceRequestData)
-       expectedMbuf := rmrcgo.NewMBuf(rmrcgo.RicResStatusReq, len(expectedPayload), RanName, &expectedPayload, &xaction)
-       rmrMessengerMock.On("SendMsg", expectedMbuf).Return(&rmrcgo.MBuf{}, err)
-       err = resourceStatusInitiateManager.Execute(RanName, resourceRequestData)
-       time.Sleep(100 * time.Millisecond)
-       readerMock.AssertCalled(t, "GetNodeb", RanName)
-       assert.Nil(t, err)
-       rmrMessengerMock.AssertCalled(t, "SendMsg", expectedMbuf)
-       rmrMessengerMock.AssertNumberOfCalls(t, "SendMsg", 1)
-}
-
-func TestTwoCellOneFailureOneSuccess(t *testing.T) {
-       cellId1 := "02f829:0007ab00"
-       cellId2 := "02f829:0007ab50"
-       rmrMessengerMock, readerMock, resourceRequestData, resourceStatusInitiateManager := initResourceStatusInitiateManagerTest(t)
-       xaction := []byte(RanName)
-       var err error
-       nodebInfo := &entities.NodebInfo{
-               RanName:          RanName,
-               ConnectionStatus: entities.ConnectionStatus_CONNECTED,
-               Configuration: &entities.NodebInfo_Enb{
-                       Enb: &entities.Enb{
-                               ServedCells: []*entities.ServedCellInfo{{CellId: cellId1}, {CellId: cellId2}},
-                       },
-               },
-       }
-
-       readerMock.On("GetNodeb", RanName).Return(nodebInfo, err)
-       expectedPayload1 := getPackedPayloadForCell(cellId1, 1, *resourceRequestData)
-       expectedMbuf1 := rmrcgo.NewMBuf(rmrcgo.RicResStatusReq, len(expectedPayload1), RanName, &expectedPayload1, &xaction)
-
-       expectedPayload2 := getPackedPayloadForCell(cellId2, 2, *resourceRequestData)
-       expectedMbuf2 := rmrcgo.NewMBuf(rmrcgo.RicResStatusReq, len(expectedPayload2), RanName, &expectedPayload2, &xaction)
-       rmrMessengerMock.On("SendMsg", expectedMbuf1).Return(&rmrcgo.MBuf{}, rsmerrors.NewRmrError())
-       rmrMessengerMock.On("SendMsg", expectedMbuf2).Return(&rmrcgo.MBuf{}, err)
-       err = resourceStatusInitiateManager.Execute(RanName, resourceRequestData)
-       time.Sleep(100 * time.Millisecond)
-       readerMock.AssertCalled(t, "GetNodeb", RanName)
-       assert.Nil(t, err)
-       rmrMessengerMock.AssertCalled(t, "SendMsg", expectedMbuf1)
-       rmrMessengerMock.AssertCalled(t, "SendMsg", expectedMbuf2)
-       rmrMessengerMock.AssertNumberOfCalls(t, "SendMsg", 2)
-}
-
-func TestFiveCellsSuccess(t *testing.T) {
-       cellId1 := "02f829:0007ab00"
-       cellId2 := "02f829:0007ab50"
-       cellId3 := "02f829:0007ab60"
-       cellId4 := "02f829:0007ab70"
-       cellId5 := "02f829:0007ab80"
-
-       rmrMessengerMock, readerMock, resourceRequestData, resourceStatusInitiateManager := initResourceStatusInitiateManagerTest(t)
-       xaction := []byte(RanName)
-       var err error
-       nodebInfo := &entities.NodebInfo{
-               RanName:          RanName,
-               ConnectionStatus: entities.ConnectionStatus_CONNECTED,
-               Configuration: &entities.NodebInfo_Enb{
-                       Enb: &entities.Enb{
-                               ServedCells: []*entities.ServedCellInfo{{CellId: cellId1}, {CellId: cellId2}, {CellId: cellId3}, {CellId: cellId4}, {CellId: cellId5}},
-                       },
-               },
-       }
-
-       readerMock.On("GetNodeb", RanName).Return(nodebInfo, err)
-       expectedPayload1 := getPackedPayloadForCell(cellId1, 1, *resourceRequestData)
-       expectedMbuf1 := rmrcgo.NewMBuf(rmrcgo.RicResStatusReq, len(expectedPayload1), RanName, &expectedPayload1, &xaction)
-
-       expectedPayload2 := getPackedPayloadForCell(cellId2, 2, *resourceRequestData)
-       expectedMbuf2 := rmrcgo.NewMBuf(rmrcgo.RicResStatusReq, len(expectedPayload2), RanName, &expectedPayload2, &xaction)
-
-       expectedPayload3 := getPackedPayloadForCell(cellId3, 3, *resourceRequestData)
-       expectedMbuf3 := rmrcgo.NewMBuf(rmrcgo.RicResStatusReq, len(expectedPayload3), RanName, &expectedPayload3, &xaction)
-
-       expectedPayload4 := getPackedPayloadForCell(cellId4, 4, *resourceRequestData)
-       expectedMbuf4 := rmrcgo.NewMBuf(rmrcgo.RicResStatusReq, len(expectedPayload4), RanName, &expectedPayload4, &xaction)
-
-       expectedPayload5 := getPackedPayloadForCell(cellId5, 5, *resourceRequestData)
-       expectedMbuf5 := rmrcgo.NewMBuf(rmrcgo.RicResStatusReq, len(expectedPayload5), RanName, &expectedPayload5, &xaction)
-
-       rmrMessengerMock.On("SendMsg", expectedMbuf1).Return(&rmrcgo.MBuf{}, err)
-       rmrMessengerMock.On("SendMsg", expectedMbuf2).Return(&rmrcgo.MBuf{}, err)
-       rmrMessengerMock.On("SendMsg", expectedMbuf3).Return(&rmrcgo.MBuf{}, err)
-       rmrMessengerMock.On("SendMsg", expectedMbuf4).Return(&rmrcgo.MBuf{}, err)
-       rmrMessengerMock.On("SendMsg", expectedMbuf5).Return(&rmrcgo.MBuf{}, err)
-
-       err = resourceStatusInitiateManager.Execute(RanName, resourceRequestData)
-       time.Sleep(100 * time.Millisecond)
-       readerMock.AssertCalled(t, "GetNodeb", RanName)
-       assert.Nil(t, err)
-       rmrMessengerMock.AssertCalled(t, "SendMsg", expectedMbuf1)
-       rmrMessengerMock.AssertCalled(t, "SendMsg", expectedMbuf2)
-       rmrMessengerMock.AssertCalled(t, "SendMsg", expectedMbuf3)
-       rmrMessengerMock.AssertCalled(t, "SendMsg", expectedMbuf4)
-       rmrMessengerMock.AssertCalled(t, "SendMsg", expectedMbuf5)
-
-       rmrMessengerMock.AssertNumberOfCalls(t, "SendMsg", 5)
-}
-
-func getPackedPayloadForCell(cellId string, index int, resourceStatusRequestData e2pdus.ResourceStatusRequestData) []byte {
-       resourceStatusRequestData.CellID = cellId
-       resourceStatusRequestData.MeasurementID = e2pdus.Measurement_ID(index)
-       expectedPayload, _, _ := e2pdus.BuildPackedResourceStatusRequest(enums.Registration_Request_start, &resourceStatusRequestData, e2pdus.MaxAsn1PackedBufferSize, e2pdus.MaxAsn1CodecMessageBufferSize, false)
-       return expectedPayload
-}
-
-func populateResourceStatusInitiateRequestParams(params *e2pdus.ResourceStatusRequestData, config *configuration.Configuration) {
-       params.PartialSuccessAllowed = config.ResourceStatusParams.PartialSuccessAllowed
-       params.PrbPeriodic = config.ResourceStatusParams.PrbPeriodic
-       params.TnlLoadIndPeriodic = config.ResourceStatusParams.TnlLoadIndPeriodic
-       params.HwLoadIndPeriodic = config.ResourceStatusParams.HwLoadIndPeriodic
-       params.AbsStatusPeriodic = config.ResourceStatusParams.AbsStatusPeriodic
-       params.RsrpMeasurementPeriodic = config.ResourceStatusParams.RsrpMeasurementPeriodic
-       params.CsiPeriodic = config.ResourceStatusParams.CsiPeriodic
-       params.PeriodicityMS = config.ResourceStatusParams.PeriodicityMs
-       params.PeriodicityRsrpMeasurementMS = config.ResourceStatusParams.PeriodicityRsrpMeasurementMs
-       params.PeriodicityCsiMS = config.ResourceStatusParams.PeriodicityCsiMs
-}