X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fhandlers%2Frmrmsghandlers%2Fx2enb_configuration_update_handler_test.go;h=5a48a8d3ff40cb4acb93a687fc8fb2c9d390c19d;hb=69f1211bf4b73c8b61ccaf10b75de53a2a6dbc65;hp=7cb6b7dd898e976c802cf8fda4768d466afdd6d8;hpb=ffd085dd7f0654b84b163a7bfedd3fa89e7b8a71;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/handlers/rmrmsghandlers/x2enb_configuration_update_handler_test.go b/E2Manager/handlers/rmrmsghandlers/x2enb_configuration_update_handler_test.go index 7cb6b7d..5a48a8d 100644 --- a/E2Manager/handlers/rmrmsghandlers/x2enb_configuration_update_handler_test.go +++ b/E2Manager/handlers/rmrmsghandlers/x2enb_configuration_update_handler_test.go @@ -13,56 +13,65 @@ // 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 rmrmsghandlers import ( - "e2mgr/logger" + "e2mgr/mocks" "e2mgr/models" "e2mgr/rmrCgo" - "e2mgr/tests" - "github.com/stretchr/testify/assert" + "fmt" "testing" "time" + "unsafe" ) -func TestHandleSuccessEnbConfigUpdate(t *testing.T){ - log, err := logger.InitLogger(logger.InfoLevel) - if err!=nil{ - t.Errorf("#endc_configuration_update_handler_test.TestHandleSuccessEndcConfigUpdate - failed to initialize logger, error: %s", err) - } - h := X2EnbConfigurationUpdateHandler{} +const PackedX2EnbConfigurationUpdateAck = "200800080000010011400100" +const PackedX2EnbConfigurationUpdateFailure = "400800080000010005400142" - payload := tests.GetPackedPayload(t) - mBuf := rmrCgo.NewMBuf(10370, len(payload),"RanName", &payload, &tests.DummyXAction) - notificationRequest := models.NotificationRequest{RanName: mBuf.Meid, Len: mBuf.Len, Payload: *mBuf.Payload, StartTime: time.Now()} - messageChannel := make(chan *models.NotificationResponse) +func initX2EnbConfigurationUpdateHandlerTest(t *testing.T) (X2EnbConfigurationUpdateHandler, *mocks.RmrMessengerMock) { + log := initLog(t) + rmrMessengerMock := &mocks.RmrMessengerMock{} + rmrSender := initRmrSender(rmrMessengerMock, log) + h := NewX2EnbConfigurationUpdateHandler(log, rmrSender) + return h, rmrMessengerMock +} - go h.Handle(log, ¬ificationRequest, messageChannel) +func TestHandleX2EnbConfigUpdateSuccess(t *testing.T) { + h, rmrMessengerMock := initX2EnbConfigurationUpdateHandlerTest(t) - response := <-messageChannel + ranName := "test" + xAction := []byte("123456aa") + var payload []byte + _, _ = fmt.Sscanf(PackedX2EnbConfigurationUpdateAck, "%x", &payload) + var msgSrc unsafe.Pointer - assert.NotEmpty(t, response) - assert.EqualValues(t, 10081, response.MgsType) - assert.True(t, len(response.Payload) > 0) + mBuf := rmrCgo.NewMBuf(rmrCgo.RIC_ENB_CONFIGURATION_UPDATE_ACK, len(payload), ranName, &payload, &xAction, msgSrc) + notificationRequest := models.NotificationRequest{RanName: mBuf.Meid, Len: mBuf.Len, Payload: *mBuf.Payload, + StartTime: time.Now(), TransactionId:xAction} + var err error + rmrMessengerMock.On("SendMsg", mBuf, true).Return(&rmrCgo.MBuf{}, err) + h.Handle(¬ificationRequest) + rmrMessengerMock.AssertCalled(t, "SendMsg", mBuf, true) } -func TestHandleFailureEnbConfigUpdate(t *testing.T){ - log, err := logger.InitLogger(logger.InfoLevel) - if err!=nil{ - t.Errorf("#endc_configuration_update_handler_test.TestHandleFailureEndcConfigUpdate - failed to initialize logger, error: %s", err) - } - h := X2EnbConfigurationUpdateHandler{} - - mBuf := rmrCgo.NewMBuf(tests.MessageType, 4,"RanName", &tests.DummyPayload, &tests.DummyXAction) - notificationRequest := models.NotificationRequest{RanName: mBuf.Meid, Len: mBuf.Len, Payload: *mBuf.Payload, StartTime: time.Now()} - messageChannel := make(chan *models.NotificationResponse) +func TestHandleX2EnbConfigUpdateFailure(t *testing.T) { + h, rmrMessengerMock := initX2EnbConfigurationUpdateHandlerTest(t) - go h.Handle(log, ¬ificationRequest, messageChannel) + ranName := "test" + xAction := []byte("123456aa") - response := <-messageChannel + var payload []byte + _, _ = fmt.Sscanf(PackedX2EnbConfigurationUpdateFailure, "%x", &payload) + var msgSrc unsafe.Pointer - assert.NotEmpty(t, response) - assert.EqualValues(t, 10082, response.MgsType) - assert.True(t, len(response.Payload) > 0) + mBuf := rmrCgo.NewMBuf(rmrCgo.RIC_ENB_CONFIGURATION_UPDATE_FAILURE, len(payload), ranName, &payload, &xAction, msgSrc) + notificationRequest := models.NotificationRequest{RanName: mBuf.Meid, Len: 0, Payload: []byte{0}, + StartTime: time.Now(), TransactionId:xAction} + rmrMessengerMock.On("SendMsg", mBuf, true).Return(&rmrCgo.MBuf{}, fmt.Errorf("send failure")) + h.Handle(¬ificationRequest) + rmrMessengerMock.AssertCalled(t, "SendMsg", mBuf, true) }