Updating image with rmr version
[ric-app/hw.git] / test / test_rmr.h
index 268ba7a..fc4bf86 100644 (file)
@@ -1,7 +1,7 @@
 /*
 ==================================================================================
 
-        Copyright (c) 2018-2019 AT&T Intellectual Property.
+        Copyright (c) 2019-2020 AT&T Intellectual Property.
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
 #include<gtest/gtest.h>
 #include "xapp.hpp"
 
-#define HC_MSG_SIZE 512
-
 using namespace std;
 
-TEST(XappRmr, RMRSender){
+TEST(RMR, Sender){
 
-       int total_num_msgs = 10;
-       int num_attempts = 5;
+       int total_num_msgs = 2;
+       int num_attempts = 10;
 
        std::unique_ptr<XappRmr> rmr;
        rmr = std::make_unique<XappRmr>("4560",num_attempts);
-       rmr->xapp_rmr_init();
+       rmr->xapp_rmr_init(false);
 
        xapp_rmr_header hdr;
        hdr.message_type = RIC_HEALTH_CHECK_REQ;
-    char *strMsg = (char*)malloc(HC_MSG_SIZE);
 
-    for(int i = 0; i < total_num_msgs; i++){
-       snprintf(strMsg,HC_MSG_SIZE, "HelloWorld: RMR Health Check %d", i);
-       clock_gettime(CLOCK_REALTIME, &(hdr.ts));
-       hdr.payload_length = strlen(strMsg);
+       for(int i = 0; i < total_num_msgs; i++){
+       std::string temp="HelloWorld: RMR Health Check"+ std::to_string(i);
+       int n = temp.length();
+       char strMsg[n+1];
+        std::strcpy(strMsg,temp.c_str());
 
-       bool res = rmr->xapp_rmr_send(&hdr,(void*)strMsg);
-       ASSERT_TRUE(res);
+        clock_gettime(CLOCK_REALTIME, &(hdr.ts));
+        hdr.payload_length = n+1;
 
-       usleep(10);
+        bool res = rmr->xapp_rmr_send(&hdr,(void*)strMsg);
+        ASSERT_TRUE(res);
+        usleep(1);
      }
-    delete strMsg;
-
+    ASSERT_TRUE(true);
 }
- TEST(XappRmr, RMRReceiver){
+ TEST(RMR, Receiver){
         //initialize rmr
-        std::unique_ptr<XappRmr> rmr;
-        rmr = std::make_unique<XappRmr>("5551");
-        rmr->xapp_rmr_init();
-
-        XappSettings config;
-
-        std::unique_ptr<Xapp> hw_xapp = std::make_unique<Xapp>(std::ref(config),std::ref(*rmr));
-
-        std::unique_ptr<XappMsgHandler> mp_handler = std::make_unique<XappMsgHandler>();
-
-        rmr->set_listen(true);
-        hw_xapp->start_xapp_receiver(std::ref(*mp_handler));
-        sleep(2);
-        rmr->~XappRmr();
+        std::unique_ptr<XappMsgHandler> mp_handler = std::make_unique<XappMsgHandler>("HW-Xapp-id");
+        XappRmr *rmr = new XappRmr("4560");
+        rmr->xapp_rmr_init(false);
+        sleep(10);
 
+        rmr->xapp_rmr_receive(std::move(*mp_handler), rmr);
         ASSERT_TRUE(true);
  };
 
- TEST(XappRmr, HC_ReturnToSender){
-
-        int total_num_msgs = 2;
-        int num_attempts = 10;
-
-        std::unique_ptr<XappRmr> rmr;
-        rmr = std::make_unique<XappRmr>("4560",num_attempts);
-        rmr->xapp_rmr_init();
-
-        XappSettings config;
-
-        std::unique_ptr<Xapp> hw_xapp = std::make_unique<Xapp>(std::ref(config),std::ref(*rmr));
-
-        std::unique_ptr<XappMsgHandler> mp_handler = std::make_unique<XappMsgHandler>();
-
-        rmr->set_listen(true);
-        hw_xapp->start_xapp_receiver(std::ref(*mp_handler));
-        sleep(5);
-
-        xapp_rmr_header hdr;
-        hdr.message_type = RIC_HEALTH_CHECK_REQ;
-        char strMsg[HC_MSG_SIZE];
-
-        for(int i = 0; i < total_num_msgs; i++){
-                snprintf(strMsg,HC_MSG_SIZE, "HelloWorld: RMR Health Check %d", i);
-                clock_gettime(CLOCK_REALTIME, &(hdr.ts));
-                hdr.payload_length = strlen(strMsg);
-
-                bool res = rmr->xapp_rmr_send(&hdr,(void*)strMsg);
-                usleep(10);
-        }
-
-
- };
-
+TEST(RMR, SendReceiveWithMEID) {
+    XappSettings config;
+       int total_num_msgs = 2;
+       int num_attempts = 10;
 
+       std::unique_ptr<XappRmr> rmr;
+       rmr = std::make_unique<XappRmr>("4560",num_attempts);
+       rmr->xapp_rmr_init(true);
 
+       std::unique_ptr<Xapp> hw_xapp = std::make_unique<Xapp>(config,std::ref(*rmr));
+       std::unique_ptr<XappMsgHandler> mp_handler = std::make_unique<XappMsgHandler>("HW-Xapp_ID");
+       hw_xapp->start_xapp_receiver(std::ref(*mp_handler));
 
+       xapp_rmr_header hdr;
+       //can be any message type. using as an example
+       hdr.message_type = RIC_SUB_RESP;
+       memset(hdr.meid,0,32);
+       string meid = "NYC123";
+       strcpy(reinterpret_cast<char*>(hdr.meid), meid.c_str());
+
+       for(int i = 0; i < total_num_msgs; i++){
+       std::string temp="HelloWorld: RMR Health Check"+ std::to_string(i);
+       int n = temp.length();
+       char strMsg[n+1];
+        std::strcpy(strMsg,temp.c_str());
+
+        clock_gettime(CLOCK_REALTIME, &(hdr.ts));
+        hdr.payload_length = n+1;
+
+        bool res = rmr->xapp_rmr_send(&hdr,(void*)strMsg);
+        ASSERT_TRUE(res);
+        usleep(1);
+     }
+         sleep(1);
+      hw_xapp->stop();
+}
 #endif /* TEST_TEST_RMR_H_ */