X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2FrmrCgo%2FrmrCgoApi_test.go;h=399c2eae71ce4b6a2b1e1acba5c6f11d48e1dd00;hb=7dbe77a33d8bc8308d9d12b12f1e75f8329a2d92;hp=59fd93f8b61932c55bca5adc6b6385b037fbc4c3;hpb=07ef76dd471a0892a893c90e0ab06713aee34be1;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/rmrCgo/rmrCgoApi_test.go b/E2Manager/rmrCgo/rmrCgoApi_test.go index 59fd93f..399c2ea 100644 --- a/E2Manager/rmrCgo/rmrCgoApi_test.go +++ b/E2Manager/rmrCgo/rmrCgoApi_test.go @@ -13,48 +13,43 @@ // 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. -// -package rmrCgo +// This source code is part of the near-RT RIC (RAN Intelligent Controller) +// platform project (RICP). + + +package rmrCgo_test import ( + "bytes" "e2mgr/logger" + "e2mgr/rmrCgo" "e2mgr/tests" - "bytes" "encoding/json" "github.com/stretchr/testify/assert" "io/ioutil" "testing" - "time" + "unsafe" ) var ( - log *logger.Logger - msgr *RmrMessenger + log *logger.Logger + msgr rmrCgo.RmrMessenger ) -func TestLogger(t *testing.T){ - var err error - log, err = logger.InitLogger(logger.DebugLevel) - if err != nil { - t.Errorf("#rmrCgoApi_test.TestLogger - failed to initialize logger, error: %s", err) - } - data := map[string]interface{}{"messageType": 1001, "ranIp":"10.0.0.3", "ranPort": 879, "ranName":"test1"} +func TestLogger(t *testing.T) { + log := initLog(t) + data := map[string]interface{}{"messageType": 1001, "ranIp": "10.0.0.3", "ranPort": 879, "ranName": "test1"} b := new(bytes.Buffer) _ = json.NewEncoder(b).Encode(data) req := tests.GetHttpRequest() boo, _ := ioutil.ReadAll(req.Body) - log.Debugf("#rmrCgoApi_test.TestLogger - request header: %v\n; request body: %s\n", req.Header, string(boo)) + log.Debugf("#rmr_c_go_api_test.TestLogger - request header: %v\n; request body: %s\n", req.Header, string(boo)) } - func TestNewMBufSuccess(t *testing.T) { - var err error - log, err = logger.InitLogger(logger.DebugLevel) - if err != nil { - t.Errorf("#rmrCgoApi_test.TestNewMBufSuccess - failed to initialize logger, error: %s", err) - } - msg := NewMBuf(tests.MessageType, len(tests.DummyPayload),"RanName", &tests.DummyPayload, &tests.DummyXAction) + var msgSrc unsafe.Pointer + msg := rmrCgo.NewMBuf(tests.MessageType, len(tests.DummyPayload), "RanName", &tests.DummyPayload, &tests.DummyXAction, msgSrc) assert.NotNil(t, msg) assert.NotEmpty(t, msg.Payload) assert.NotEmpty(t, msg.XAction) @@ -63,80 +58,100 @@ func TestNewMBufSuccess(t *testing.T) { assert.Equal(t, msg.Len, len(tests.DummyPayload)) } -func TestInitFailure(t *testing.T) { - var err error - log, err = logger.InitLogger(logger.DebugLevel) - if err != nil { - t.Errorf("#rmrCgoApi_test.TestInitFailure - failed to initialize logger, error: %s", err) +/*func TestIsReadySuccess(t *testing.T) { + log := initLog(t) + + initRmr(tests.GetPort(), tests.MaxMsgSize, tests.Flags, log) + if msgr == nil || !msgr.IsReady() { + t.Errorf("#rmr_c_go_api_test.TestIsReadySuccess - The rmr router is not ready") } - go initRmr(tests.GetPort(), tests.MaxMsgSize, tests.Flags, log) - time.Sleep(time.Second) - if msgr != nil { - t.Errorf("The rmr router is ready, should be not ready") + msgr.Close() +} +func TestSendRecvMsgSuccess(t *testing.T) { + log := initLog(t) + + initRmr(tests.GetPort(), tests.MaxMsgSize, tests.Flags, log) + if msgr == nil || !msgr.IsReady() { + t.Errorf("#rmr_c_go_api_test.TestSendRecvMsgSuccess - The rmr router is not ready") } + msg := rmrCgo.NewMBuf(1, tests.MaxMsgSize, "test 1", &tests.DummyPayload, &tests.DummyXAction) + log.Debugf("#rmr_c_go_api_test.TestSendRecvMsgSuccess - Going to send the message: %#v\n", msg) + result, err := msgr.SendMsg(msg, true) + + assert.Nil(t, err) + assert.NotNil(t, result) + + msgR, err := msgr.RecvMsg() + + assert.Nil(t, err) + assert.NotNil(t, msgR) + msgr.Close() } -//func TestInitSuccess(t *testing.T) { -// var err error -// log, err = logger.InitLogger(true) -// if err != nil { -// t.Errorf("#rmrCgoApi_test.TestInitSuccess - failed to initialize logger, error: %s", err) -// } -// go initRmr(tests.GetPort(), tests.MaxMsgSize, tests.Flags, log) -// time.Sleep(time.Second) -// if msgr == nil { -// t.Errorf("The rmr router is not ready, should be ready") -// } -//} - -func TestIsReadyFailure(t *testing.T) { - var err error - log, err = logger.InitLogger(logger.InfoLevel) - if err != nil { - t.Errorf("#rmrCgoApi_test.TestIsReadyFailure - failed to initialize logger, error: %s", err) +func TestSendMsgRmrInvalidMsgNumError(t *testing.T) { + log := initLog(t) + + initRmr(tests.GetPort(), tests.MaxMsgSize, tests.Flags, log) + if msgr == nil || !msgr.IsReady() { + t.Errorf("#rmr_c_go_api_test.TestSendMsgRmrInvalidMsgNumError - The rmr router is not ready") } - go initRmr(tests.GetPort(), tests.MaxMsgSize, tests.Flags, log) - time.Sleep(time.Second) - assert.True(t, msgr == nil || !(*msgr).IsReady()) + msg := rmrCgo.NewMBuf(10, tests.MaxMsgSize, "test 1", &tests.DummyPayload, &tests.DummyXAction) + log.Debugf("#rmr_c_go_api_test.TestSendMsgRmrInvalidMsgNumError - Going to send the message: %#v\n", msg) + result, err := msgr.SendMsg(msg, true) + + assert.NotNil(t, err) + assert.Nil(t, result) + + msgr.Close() +} + +func TestSendMsgRmrInvalidPortError(t *testing.T) { + log := initLog(t) + + initRmr("tcp:"+strconv.Itoa(5555), tests.MaxMsgSize, tests.Flags, log) + if msgr == nil || !msgr.IsReady() { + t.Errorf("#rmr_c_go_api_test.TestSendMsgRmrInvalidPortError - The rmr router is not ready") + } + + msg := rmrCgo.NewMBuf(1, tests.MaxMsgSize, "test 1", &tests.DummyPayload, &tests.DummyXAction) + log.Debugf("#rmr_c_go_api_test.TestSendMsgRmrInvalidPortError - Going to send the message: %#v\n", msg) + result, err := msgr.SendMsg(msg, true) + + assert.NotNil(t, err) + assert.Nil(t, result) + + msgr.Close() } -//func TestSendRecvMsgSuccess(t *testing.T) { -// var err error -// log, err = logger.InitLogger(true) -// if err != nil { -// t.Errorf("#rmrCgoApi_test.TestSendRecvMsgSuccess - failed to initialize logger, error: %s", err) -// } -// go initRmr(tests.GetPort(), tests.MaxMsgSize, tests.Flags, log) -// time.Sleep(time.Second) -// if msgr == nil || !(*msgr).IsReady() { -// t.Errorf("#rmrCgoApi_test.TestSendRecvMsgSuccess - The rmr router is not ready") -// } -// msg := NewMBuf(1, tests.MaxMsgSize, &tests.DummyPayload, &tests.DummyXAction) -// log.Debugf("#rmrCgoApi_test.TestSendRecvMsgSuccess - Going to send the message: %#v\n", msg) -// msgR, _ := (*msgr).SendMsg(msg, tests.MaxMsgSize) -// log.Debugf("#rmrCgoApi_test.TestSendRecvMsgSuccess - The message has been sent %#v\n", msgR) -// log.Debugf("#rmrCgoApi_test.TestSendRecvMsgSuccess - The payload: %#v\n", msgR.Payload) -// msgR = (*msgr).RecvMsg() -// log.Debugf("#rmrCgoApi_test.TestSendRecvMsgSuccess - The message has been received: %#v\n", msgR) -// log.Debugf("#rmrCgoApi_test.TestSendRecvMsgSuccess - The payload: %#v\n", msgR.Payload) -// (*msgr).Close() -//} - -//func TestIsReadySuccess(t *testing.T) { -// var err error -// log, err = logger.InitLogger(true) -// if err != nil { -// t.Errorf("#rmrCgoApi_test.TestIsReadySuccess - The rmr router is not ready") -// } -// go initRmr(tests.GetPort(), tests.MaxMsgSize, tests.Flags, log) -// time.Sleep(time.Second) -// if msgr == nil || !(*msgr).IsReady() { -// t.Errorf("#rmrCgoApi_test.TestIsReadySuccess - The rmr router is not ready") -// } -//} - -func initRmr(port string, maxMsgSize int, flags int, log *logger.Logger){ - var ctx *Context +func initRmr(port string, maxMsgSize int, flags int, log *logger.Logger) { + var ctx *rmrCgo.Context msgr = ctx.Init(port, maxMsgSize, flags, log) +}*/ + +func initLog(t *testing.T) *logger.Logger { + DebugLevel := int8(4) + log, err := logger.InitLogger(DebugLevel) + if err != nil { + t.Errorf("#rmr_c_go_api_test.initLog - failed to initialize logger, error: %s", err) + } + return log +} + +func TestString(t *testing.T){ + var msgSrc unsafe.Pointer + msg := rmrCgo.NewMBuf(tests.MessageType, len(tests.DummyPayload), "RanName", &tests.DummyPayload, &tests.DummyXAction, msgSrc) + ret := msg.String() + assert.NotNil(t,ret) } + + +func TestGetMsgSrc(t *testing.T){ + var msgSrc unsafe.Pointer + msg := rmrCgo.NewMBuf(tests.MessageType, len(tests.DummyPayload), "RanName", &tests.DummyPayload, &tests.DummyXAction, msgSrc) + ret := msg.GetMsgSrc() + assert.NotNil(t,ret) +} + + +