limitations under the License.
==================================================================================
*/
+/*
+ * test_subs.h
+ *
+ * Created on: Apr, 2020
+ * Author: Shraboni Jana
+ */
+
#ifndef TEST_TEST_SUBS_H_
#define TEST_TEST_SUBS_H_
#include<iostream>
#include<gtest/gtest.h>
+
+#include "e2ap_subscription_request.hpp"
+#include "e2ap_subsdel_request.hpp"
#include "xapp.hpp"
#define BUFFER_SIZE 1024
using namespace std;
+
//generating a E2AP Subscription Message
-TEST(SUBSCRIPTION, Request){
+TEST(SubscriptionRequest, MultipleRANParameters)
+{
+ unsigned char buff[1024];
+ size_t buff_size = 1024;
+
+
+ //creating Action Definition
+ HWActionDefinition e2sm_actdefn1;
+ HWActionDefinition::RANParamIEs rparam1;
+
+ rparam1.set_param_id(1);
+ rparam1.set_param_name("ENodeBID");
+ rparam1.set_param_test(1);
+ rparam1.set_param_value("SR123");
+
+ e2sm_actdefn1.add(rparam1);
+
+ HWActionDefinition::RANParamIEs rparam2;
+
+ rparam2.set_param_id(1);
+ rparam2.set_param_name("UEID");
+ rparam2.set_param_test(2);
+ rparam2.set_param_value("UE123");
+
+ e2sm_actdefn1.add(rparam2);
+
+
+ //first Action Object
+
+ E2APAction<HWActionDefinition> actionObj;
+ E2APAction<HWActionDefinition>::ActionIEs ieobj;
+ ieobj.set_ricActionID(1);
+ ieobj.set_ricActionType(1);
+ ieobj.set_ricActionDefinition(e2sm_actdefn1);
+
+ actionObj.add(ieobj);
+
+ HWEventTriggerDefinition eventObj;
+ eventObj.set_triggerNature(0);
+
+ //Now form the subscription.
+
+ E2APSubscriptionRequest<HWEventTriggerDefinition, HWActionDefinition>::SubscriptionRequestIEs infoObj;
+
+ infoObj.set_ranFunctionID(1);
+ infoObj.set_ricInstanceID(1);
+ infoObj.set_ricRequestorID(3);
+ infoObj.set_ricAction_ToBeSetup_List(actionObj);
+ infoObj.set_ricEventTriggerDefinition(eventObj);
+
+
+ E2APSubscriptionRequest<HWEventTriggerDefinition, HWActionDefinition> requestObj(infoObj);
+
+ //Alternate way of implementation
+ //requestObj.add(E2APSubscriptionRequest<HWEventTriggerDefinition, HWActionDefinition>::SubscriptionRequestIEs().set_ranFunctionID(1).set_ricInstanceID(2).set_ricRequestorID(3).set_ricAction_ToBeSetup_List(actionObj));
+
+ bool res = requestObj.encode(buff, &buff_size);
+ ASSERT_TRUE(res);
+}
+
+TEST(SubscriptionRequest, MultipleActions)
+{
+ unsigned char buff[1024];
+ size_t buff_size = 1024;
+
+
+ //creating Action Definition 1
+ HWActionDefinition e2sm_actdefn1;
+ HWActionDefinition::RANParamIEs rparam1;
+
+ rparam1.set_param_id(1);
+ rparam1.set_param_name("ENodeBID");
+ rparam1.set_param_test(1);
+ rparam1.set_param_value("SR123");
+ e2sm_actdefn1.add(rparam1);
- subscription_helper din;
- subscription_helper dout;
+ HWActionDefinition e2sm_actdefn2;
+ HWActionDefinition::RANParamIEs rparam2;
- subscription_request sub_req;
- subscription_request sub_recv;
+ rparam2.set_param_id(1);
+ rparam2.set_param_name("UEID");
+ rparam2.set_param_test(2);
+ rparam2.set_param_value("UE123");
- unsigned char buf[BUFFER_SIZE];
- size_t buf_size = BUFFER_SIZE;
- bool res;
+ e2sm_actdefn2.add(rparam2);
- //Random Data for request
- int request_id = 1;
- int function_id = 0;
- std::string event_def = "HelloWorld Event Definition";
+ //first Action Object
- din.set_request(request_id);
- din.set_function_id(function_id);
- din.set_event_def(event_def.c_str(), event_def.length());
+ E2APAction<HWActionDefinition> actionObj;
+ E2APAction<HWActionDefinition>::ActionIEs ieobj;
+ ieobj.set_ricActionID(1);
+ ieobj.set_ricActionType(1);
+ ieobj.set_ricActionDefinition(e2sm_actdefn1);
+ ieobj.set_ricSubsequentAction(1,1);
+ actionObj.add(ieobj);
- std::string act_def = "HelloWorld Action Definition";
+ //Second Action object.
+ actionObj.add(E2APAction<HWActionDefinition>::ActionIEs().set_ricActionID(4).set_ricActionType(2).set_ricActionDefinition(e2sm_actdefn2));
- din.add_action(1,1,(void*)act_def.c_str(), act_def.length(), 0);
- res = sub_req.encode_e2ap_subscription(&buf[0], &buf_size, din);
+ HWEventTriggerDefinition eventObj;
+ eventObj.set_triggerNature(1);
+
+
+
+ E2APSubscriptionRequest<HWEventTriggerDefinition, HWActionDefinition>::SubscriptionRequestIEs dataObj;
+
+ dataObj.set_ranFunctionID(1);
+ dataObj.set_ricInstanceID(1);
+ dataObj.set_ricRequestorID(3);
+ dataObj.set_ricAction_ToBeSetup_List(actionObj);
+ dataObj.set_ricEventTriggerDefinition(eventObj);
+
+ E2APSubscriptionRequest<HWEventTriggerDefinition, HWActionDefinition> requestObj(dataObj);
+ bool res = requestObj.encode(buff, &buff_size);
+ if(!res)
+ {
+ std::cout << requestObj.get_error() << std::endl;
+ }
ASSERT_TRUE(res);
+}
+
+TEST(E2AP, SubscriptionDeleteRequest){
+
+ unsigned char buff[1024];
+ size_t buff_size = 1024;
+
+
+ E2APSubscriptionDeleteRequest::SubscriptionDeleteRequestIEs dataObj;
+
+ dataObj.set_ranFunctionID(1);
+ dataObj.set_ricInstanceID(1);
+ dataObj.set_ricRequestorID(3);
+
+ E2APSubscriptionDeleteRequest requestObj(dataObj);
+ bool res = requestObj.encode(buff, &buff_size);
+ if(!res)
+ {
+ std::cout << requestObj.get_error() << std::endl;
+ }
+ ASSERT_TRUE(res);
}
+
+
//create a MOck e2term
+
TEST (MOCK, E2TERM){
const char* meid = "test1";
}
}
+
#endif /* TEST_TEST_SUBS_H_ */