X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fhandlers%2Frmrmsghandlers%2Fx2_reset_request_notification_handler_test.go;h=73d3a565da8264302817b960522baeb7be051b36;hb=fc6f94170eadc52b9b949bc524dfa2e6522ef8fb;hp=95b0306193de8a9d6ab9b3c91d8e25f249e4ce1a;hpb=de19068aaa1f3d2b415cd960106121ceb167aaa9;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/handlers/rmrmsghandlers/x2_reset_request_notification_handler_test.go b/E2Manager/handlers/rmrmsghandlers/x2_reset_request_notification_handler_test.go index 95b0306..73d3a56 100644 --- a/E2Manager/handlers/rmrmsghandlers/x2_reset_request_notification_handler_test.go +++ b/E2Manager/handlers/rmrmsghandlers/x2_reset_request_notification_handler_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 rmrmsghandlers @@ -30,19 +33,17 @@ import ( "encoding/json" "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" "testing" "time" + "unsafe" ) func initX2ResetRequestNotificationHandlerTest(t *testing.T) (X2ResetRequestNotificationHandler, *mocks.RnibReaderMock, *mocks.RmrMessengerMock) { log := initLog(t) config := &configuration.Configuration{RnibRetryIntervalMs: 10, MaxRnibConnectionAttempts: 3} readerMock := &mocks.RnibReaderMock{} - readerProvider := func() reader.RNibReader { - return readerMock - } - rnibDataService := services.NewRnibDataService(log, config, readerProvider, nil) + + rnibDataService := services.NewRnibDataService(log, config, readerMock, nil) rmrMessengerMock := &mocks.RmrMessengerMock{} rmrSender := initRmrSender(rmrMessengerMock, log) @@ -52,38 +53,41 @@ func initX2ResetRequestNotificationHandlerTest(t *testing.T) (X2ResetRequestNoti } func getRanRestartedMbuf(nodeType entities.Node_Type, messageDirection enums.MessageDirection) *rmrCgo.MBuf { - xaction := []byte(RanName) + var xAction []byte resourceStatusPayload := models.NewResourceStatusPayload(nodeType, messageDirection) resourceStatusJson, _ := json.Marshal(resourceStatusPayload) - return rmrCgo.NewMBuf(rmrCgo.RAN_RESTARTED, len(resourceStatusJson), RanName, &resourceStatusJson, &xaction) + var msgSrc unsafe.Pointer + return rmrCgo.NewMBuf(rmrCgo.RAN_RESTARTED, len(resourceStatusJson), RanName, &resourceStatusJson, &xAction, msgSrc) } func TestHandleX2ResetRequestNotificationSuccess(t *testing.T) { h, readerMock, rmrMessengerMock := initX2ResetRequestNotificationHandlerTest(t) ranName := "test" - xaction := []byte(ranName) - notificationRequest := models.NewNotificationRequest(ranName, []byte{}, time.Now(), ranName) + xAction := []byte("123456aa") + notificationRequest := models.NewNotificationRequest(ranName, []byte{}, time.Now(), xAction, nil) nb := &entities.NodebInfo{RanName: ranName, ConnectionStatus: entities.ConnectionStatus_CONNECTED, NodeType: entities.Node_ENB} var err error readerMock.On("GetNodeb", ranName).Return(nb, err) - resetResponseMbuf := rmrCgo.NewMBuf(rmrCgo.RIC_X2_RESET_RESP, len(e2pdus.PackedX2ResetResponse), ranName, &e2pdus.PackedX2ResetResponse, &xaction) - rmrMessengerMock.On("SendMsg", resetResponseMbuf).Return(&rmrCgo.MBuf{}, err) + var msgSrc unsafe.Pointer + resetResponseMbuf := rmrCgo.NewMBuf(rmrCgo.RIC_X2_RESET_RESP, len(e2pdus.PackedX2ResetResponse), ranName, &e2pdus.PackedX2ResetResponse, &xAction, msgSrc) + rmrMessengerMock.On("SendMsg", resetResponseMbuf, true).Return(&rmrCgo.MBuf{}, err) ranRestartedMbuf := getRanRestartedMbuf(nb.NodeType, enums.RAN_TO_RIC) - rmrMessengerMock.On("SendMsg", ranRestartedMbuf).Return(&rmrCgo.MBuf{}, err) + rmrMessengerMock.On("SendMsg", ranRestartedMbuf, true).Return(&rmrCgo.MBuf{}, err) h.Handle(notificationRequest) - rmrMessengerMock.AssertCalled(t, "SendMsg", resetResponseMbuf) - rmrMessengerMock.AssertCalled(t, "SendMsg", ranRestartedMbuf) + rmrMessengerMock.AssertCalled(t, "SendMsg", resetResponseMbuf, true) + rmrMessengerMock.AssertCalled(t, "SendMsg", ranRestartedMbuf, true) } func TestHandleX2ResetRequestNotificationShuttingDownStatus(t *testing.T) { h, readerMock, rmrMessengerMock := initX2ResetRequestNotificationHandlerTest(t) var payload []byte - xaction := []byte("RanName") - mBuf := rmrCgo.NewMBuf(tests.MessageType, len(payload), "RanName", &payload, &xaction) + xAction := []byte("123456aa") + var msgSrc unsafe.Pointer + mBuf := rmrCgo.NewMBuf(tests.MessageType, len(payload), "RanName", &payload, &xAction, msgSrc) notificationRequest := models.NotificationRequest{RanName: mBuf.Meid, Len: mBuf.Len, Payload: *mBuf.Payload, - StartTime: time.Now(), TransactionId: string(xaction)} + StartTime: time.Now(), TransactionId: xAction} nb := &entities.NodebInfo{RanName: mBuf.Meid, ConnectionStatus: entities.ConnectionStatus_SHUTTING_DOWN,} var rnibErr error @@ -97,9 +101,10 @@ func TestHandleX2ResetRequestNotificationShuttingDownStatus(t *testing.T) { func TestHandleX2ResetRequestNotificationDisconnectStatus(t *testing.T) { h, readerMock, rmrMessengerMock := initX2ResetRequestNotificationHandlerTest(t) var payload []byte - xaction := []byte("RanName") - mBuf := rmrCgo.NewMBuf(tests.MessageType, len(payload), "RanName", &payload, &xaction) - notificationRequest := models.NotificationRequest{RanName: mBuf.Meid, Len: mBuf.Len, Payload: *mBuf.Payload, StartTime: time.Now(), TransactionId: string(xaction)} + xAction := []byte("123456aa") + var msgSrc unsafe.Pointer + mBuf := rmrCgo.NewMBuf(tests.MessageType, len(payload), "RanName", &payload, &xAction, msgSrc) + notificationRequest := models.NotificationRequest{RanName: mBuf.Meid, Len: mBuf.Len, Payload: *mBuf.Payload, StartTime: time.Now(), TransactionId: xAction} nb := &entities.NodebInfo{RanName: mBuf.Meid, ConnectionStatus: entities.ConnectionStatus_DISCONNECTED,} var rnibErr error readerMock.On("GetNodeb", mBuf.Meid).Return(nb, rnibErr) @@ -112,10 +117,11 @@ func TestHandleX2ResetRequestNotificationGetNodebFailed(t *testing.T) { h, readerMock, rmrMessengerMock := initX2ResetRequestNotificationHandlerTest(t) var payload []byte - xaction := []byte("RanName") - mBuf := rmrCgo.NewMBuf(tests.MessageType, len(payload), "RanName", &payload, &xaction) + var xAction []byte + var msgSrc unsafe.Pointer + mBuf := rmrCgo.NewMBuf(tests.MessageType, len(payload), "RanName", &payload, &xAction, msgSrc) notificationRequest := models.NotificationRequest{RanName: mBuf.Meid, Len: mBuf.Len, Payload: *mBuf.Payload, - StartTime: time.Now(), TransactionId: string(xaction)} + StartTime: time.Now(), TransactionId: xAction} var nb *entities.NodebInfo rnibErr := &common.ResourceNotFoundError{}