X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fservices%2Frmrsender%2Frmr_sender_test.go;h=40f75176db697fe5f885d3977cbdd8db67e054bd;hb=d2b9be015618ea5214a55c107cbdf1ef4b2ebb1f;hp=26ab0b4696d0ef875501ddfd3f76799a61fc1d1a;hpb=de19068aaa1f3d2b415cd960106121ceb167aaa9;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/services/rmrsender/rmr_sender_test.go b/E2Manager/services/rmrsender/rmr_sender_test.go index 26ab0b4..40f7517 100644 --- a/E2Manager/services/rmrsender/rmr_sender_test.go +++ b/E2Manager/services/rmrsender/rmr_sender_test.go @@ -13,7 +13,9 @@ // 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 rmrsender @@ -25,6 +27,7 @@ import ( "fmt" "github.com/stretchr/testify/assert" "testing" + "unsafe" ) func initRmrSenderTest(t *testing.T) (*logger.Logger, *mocks.RmrMessengerMock) { @@ -50,15 +53,16 @@ func TestRmrSenderSendSuccess(t *testing.T) { ranName := "test" payload := []byte("some payload") - xaction := []byte(ranName) - mbuf := rmrCgo.NewMBuf(123, len(payload), ranName, &payload, &xaction) - rmrMessengerMock.On("SendMsg", mbuf).Return(&rmrCgo.MBuf{}, nil) - rmrMsg := models.NewRmrMessage(123, ranName, payload) + var xAction []byte + var msgSrc unsafe.Pointer + mbuf := rmrCgo.NewMBuf(123, len(payload), ranName, &payload, &xAction, msgSrc) + rmrMessengerMock.On("SendMsg", mbuf, true).Return(&rmrCgo.MBuf{}, nil) + rmrMsg := models.NewRmrMessage(123, ranName, payload, xAction, nil) rmrMessenger := rmrCgo.RmrMessenger(rmrMessengerMock) - rmrSender := NewRmrSender(logger, &rmrMessenger) + rmrSender := NewRmrSender(logger, rmrMessenger) err := rmrSender.Send(rmrMsg) assert.Nil(t, err) - rmrMessengerMock.AssertCalled(t, "SendMsg",mbuf) + rmrMessengerMock.AssertCalled(t, "SendMsg", mbuf, true) } @@ -67,20 +71,91 @@ func TestRmrSenderSendFailure(t *testing.T) { ranName := "test" payload := []byte("some payload") - xaction := []byte(ranName) - mbuf := rmrCgo.NewMBuf(123, len(payload), ranName, &payload, &xaction) - rmrMessengerMock.On("SendMsg", mbuf).Return(mbuf, fmt.Errorf("rmr send failure")) - rmrMsg := models.NewRmrMessage(123, ranName, payload) + var xAction []byte + var msgSrc unsafe.Pointer + mbuf := rmrCgo.NewMBuf(123, len(payload), ranName, &payload, &xAction, msgSrc) + rmrMessengerMock.On("SendMsg", mbuf, true).Return(mbuf, fmt.Errorf("rmr send failure")) + rmrMsg := models.NewRmrMessage(123, ranName, payload, xAction, nil) rmrMessenger := rmrCgo.RmrMessenger(rmrMessengerMock) - rmrSender := NewRmrSender(logger, &rmrMessenger) + rmrSender := NewRmrSender(logger, rmrMessenger) err := rmrSender.Send(rmrMsg) - rmrMessengerMock.AssertCalled(t, "SendMsg",mbuf) + rmrMessengerMock.AssertCalled(t, "SendMsg", mbuf, true) + assert.NotNil(t, err) +} + +func TestRmrSenderSendWithoutLogsSuccess(t *testing.T) { + logger, rmrMessengerMock := initRmrSenderTest(t) + + ranName := "test" + payload := []byte("some payload") + var xAction []byte + var msgSrc unsafe.Pointer + mbuf := rmrCgo.NewMBuf(123, len(payload), ranName, &payload, &xAction, msgSrc) + rmrMessengerMock.On("SendMsg", mbuf, false).Return(&rmrCgo.MBuf{}, nil) + rmrMsg := models.NewRmrMessage(123, ranName, payload, xAction, nil) + rmrMessenger := rmrCgo.RmrMessenger(rmrMessengerMock) + rmrSender := NewRmrSender(logger, rmrMessenger) + err := rmrSender.SendWithoutLogs(rmrMsg) + assert.Nil(t, err) + rmrMessengerMock.AssertCalled(t, "SendMsg", mbuf, false) + +} + +func TestRmrSenderSendWithoutLogsFailure(t *testing.T) { + logger, rmrMessengerMock := initRmrSenderTest(t) + + ranName := "test" + payload := []byte("some payload") + var xAction []byte + var msgSrc unsafe.Pointer + mbuf := rmrCgo.NewMBuf(123, len(payload), ranName, &payload, &xAction, msgSrc) + rmrMessengerMock.On("SendMsg", mbuf, false).Return(mbuf, fmt.Errorf("rmr send failure")) + rmrMsg := models.NewRmrMessage(123, ranName, payload, xAction, nil) + rmrMessenger := rmrCgo.RmrMessenger(rmrMessengerMock) + rmrSender := NewRmrSender(logger, rmrMessenger) + err := rmrSender.SendWithoutLogs(rmrMsg) + rmrMessengerMock.AssertCalled(t, "SendMsg", mbuf, false) + assert.NotNil(t, err) +} + +func TestRmrSenderWhSendSuccess(t *testing.T) { + logger, rmrMessengerMock := initRmrSenderTest(t) + + ranName := "test" + payload := []byte("some payload") + var xAction []byte + var msgSrc unsafe.Pointer + mbuf := rmrCgo.NewMBuf(123, len(payload), ranName, &payload, &xAction, msgSrc) + rmrMessengerMock.On("WhSendMsg", mbuf, true).Return(&rmrCgo.MBuf{}, nil) + rmrMsg := models.NewRmrMessage(123, ranName, payload, xAction, nil) + rmrMessenger := rmrCgo.RmrMessenger(rmrMessengerMock) + rmrSender := NewRmrSender(logger, rmrMessenger) + err := rmrSender.WhSend(rmrMsg) + assert.Nil(t, err) + rmrMessengerMock.AssertCalled(t, "WhSendMsg", mbuf, true) +} + +func TestRmrSenderWhSendFailure(t *testing.T) { + logger, rmrMessengerMock := initRmrSenderTest(t) + + ranName := "test" + payload := []byte("some payload") + var xAction []byte + var msgSrc unsafe.Pointer + mbuf := rmrCgo.NewMBuf(123, len(payload), ranName, &payload, &xAction, msgSrc) + rmrMessengerMock.On("WhSendMsg", mbuf, true).Return(mbuf, fmt.Errorf("rmr send failure")) + rmrMsg := models.NewRmrMessage(123, ranName, payload, xAction, nil) + rmrMessenger := rmrCgo.RmrMessenger(rmrMessengerMock) + rmrSender := NewRmrSender(logger, rmrMessenger) + err := rmrSender.WhSend(rmrMsg) + rmrMessengerMock.AssertCalled(t, "WhSendMsg", mbuf, true) assert.NotNil(t, err) } // TODO: extract to test_utils func initLog(t *testing.T) *logger.Logger { - log, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + log, err := logger.InitLogger(InfoLevel) if err != nil { t.Fatalf("#initLog - failed to initialize logger, error: %s", err) }