package rmrmsghandlers
import (
- "e2mgr/logger"
+ "e2mgr/mocks"
"e2mgr/models"
"e2mgr/rmrCgo"
- "e2mgr/tests"
- "github.com/stretchr/testify/assert"
+ "fmt"
"testing"
"time"
)
-func TestHandleSuccessEndcConfigUpdate(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 := EndcConfigurationUpdateHandler{}
+const PackedEndcConfigurationUpdateAck = "2025000a00000100f70003000000"
+const PackedEndcConfigurationUpdateFailure = "402500080000010005400142"
- 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)
-
- go h.Handle(log, ¬ificationRequest, messageChannel)
+func initEndcConfigurationUpdateHandlerTest(t *testing.T) (EndcConfigurationUpdateHandler, *mocks.RmrMessengerMock) {
+ log := initLog(t)
+ rmrMessengerMock := &mocks.RmrMessengerMock{}
+ rmrSender := initRmrSender(rmrMessengerMock, log)
+ h := NewEndcConfigurationUpdateHandler(log, rmrSender)
+ return h, rmrMessengerMock
+}
- response := <-messageChannel
+func TestHandleEndcConfigUpdateSuccess(t *testing.T) {
+ h, rmrMessengerMock := initEndcConfigurationUpdateHandlerTest(t)
- assert.NotEmpty(t, response)
- assert.EqualValues(t, 10371, response.MgsType)
- assert.True(t, len(response.Payload) > 0)*/
-}
+ ranName := "test"
+ xaction := []byte(ranName)
-func TestHandleFailureEndcConfigUpdate(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 := EndcConfigurationUpdateHandler{}
+ var payload []byte
+ _, _ = fmt.Sscanf(PackedEndcConfigurationUpdateAck, "%x", &payload)
- mBuf := rmrCgo.NewMBuf(tests.MessageType, 4, "RanName", &tests.DummyPayload, &tests.DummyXAction)
+ mBuf := rmrCgo.NewMBuf(rmrCgo.RIC_ENDC_CONF_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 TestHandleEndcConfigUpdateFailure(t *testing.T) {
+ h, rmrMessengerMock := initEndcConfigurationUpdateHandlerTest(t)
- go h.Handle(log, ¬ificationRequest, messageChannel)
+ ranName := "test"
+ xaction := []byte(ranName)
- response := <-messageChannel
+ var payload []byte
+ _, _ = fmt.Sscanf(PackedEndcConfigurationUpdateFailure, "%x", &payload)
- assert.NotEmpty(t, response)
- assert.EqualValues(t, 10372, response.MgsType)
- assert.True(t, len(response.Payload) > 0)
+ mBuf := rmrCgo.NewMBuf(rmrCgo.RIC_ENDC_CONF_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)
}