Merge "Changing status to connected state after timeout."
[ric-plt/e2mgr.git] / E2Manager / services / rmrsender / rmr_sender_test.go
index 26ab0b4..40f7517 100644 (file)
@@ -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)
        }