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=60a3a966d47882d4261f7e7bdd267df755ae13d3;hb=0313963fab35090fcdc7655182ad77c63497d5cb;hp=e0e22dd18d858091462ddf5fb3040febdd251c7a;hpb=1ec13d4076e7c7abefac6176462c1fee31229213;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 e0e22dd..60a3a96 100644 --- a/E2Manager/handlers/rmrmsghandlers/x2enb_configuration_update_handler_test.go +++ b/E2Manager/handlers/rmrmsghandlers/x2enb_configuration_update_handler_test.go @@ -13,59 +13,61 @@ // 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/sessions" - "e2mgr/tests" - "github.com/stretchr/testify/assert" + "fmt" "testing" "time" ) -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{} - E2Sessions := make(sessions.E2Sessions) - - 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) +const PackedX2EnbConfigurationUpdateAck = "200800080000010011400100" +const PackedX2EnbConfigurationUpdateFailure = "400800080000010005400142" - go h.Handle(log, E2Sessions, ¬ificationRequest, messageChannel) +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 +} - response := <-messageChannel +func TestHandleX2EnbConfigUpdateSuccess(t *testing.T) { + h, rmrMessengerMock := initX2EnbConfigurationUpdateHandlerTest(t) - assert.NotEmpty(t, response) - assert.EqualValues(t, 10081, response.MgsType) - assert.True(t, len(response.Payload) > 0) -} + ranName := "test" + xaction := []byte(ranName) -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{} - E2Sessions := make(sessions.E2Sessions) + var payload []byte + _, _ = fmt.Sscanf(PackedX2EnbConfigurationUpdateAck, "%x", &payload) - mBuf := rmrCgo.NewMBuf(tests.MessageType, 4,"RanName", &tests.DummyPayload, &tests.DummyXAction) + mBuf := rmrCgo.NewMBuf(rmrCgo.RIC_ENB_CONFIGURATION_UPDATE_ACK, len(payload), ranName, &payload, &xaction) notificationRequest := models.NotificationRequest{RanName: mBuf.Meid, Len: mBuf.Len, Payload: *mBuf.Payload, StartTime: time.Now()} - messageChannel := make(chan *models.NotificationResponse) + var err error + rmrMessengerMock.On("SendMsg", mBuf).Return(&rmrCgo.MBuf{}, err) + h.Handle(¬ificationRequest) + rmrMessengerMock.AssertCalled(t, "SendMsg", mBuf) +} + +func TestHandleX2EnbConfigUpdateFailure(t *testing.T) { + h, rmrMessengerMock := initX2EnbConfigurationUpdateHandlerTest(t) - go h.Handle(log, E2Sessions, ¬ificationRequest, messageChannel) + ranName := "test" + xaction := []byte(ranName) - response := <-messageChannel + var payload []byte + _, _ = fmt.Sscanf(PackedX2EnbConfigurationUpdateFailure, "%x", &payload) - 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) + notificationRequest := models.NotificationRequest{RanName: mBuf.Meid, Len: 0, Payload: []byte{0}, StartTime: time.Now()} + rmrMessengerMock.On("SendMsg", mBuf).Return(&rmrCgo.MBuf{}, fmt.Errorf("send failure")) + h.Handle(¬ificationRequest) + rmrMessengerMock.AssertCalled(t, "SendMsg", mBuf) }