114 lines
3.1 KiB
C++
114 lines
3.1 KiB
C++
/*
|
|
==================================================================================
|
|
|
|
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.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
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.
|
|
==================================================================================
|
|
/*
|
|
* test_a1.h
|
|
*
|
|
* Created on: Mar, 2020
|
|
* Author: Shraboni Jana
|
|
*/
|
|
|
|
#include<iostream>
|
|
#include<gtest/gtest.h>
|
|
#include<rapidjson/stringbuffer.h>
|
|
#include<rapidjson/writer.h>
|
|
#include<string.h>
|
|
#include "xapp.hpp"
|
|
#define HC_MSG_SIZE 512
|
|
|
|
|
|
using namespace std;
|
|
TEST(Xapp, RMRHealthCheck){
|
|
|
|
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);
|
|
|
|
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>("HW-Xapp-id");
|
|
|
|
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(1);
|
|
}
|
|
sleep(2);
|
|
hw_xapp->stop();
|
|
|
|
};
|
|
|
|
TEST(Xapp, A1HealthCheck){
|
|
|
|
//Read the json file and send it using rmr.
|
|
//string json = "{\"policy_type_id\": \"1\",\"policy_instance_id\":\"3d2157af-6a8f-4a7c-810f-38c2f824bf12\",\"operation\": \"CREATE\"}";
|
|
string json = "{\"operation\": \"CREATE\", \"policy_type_id\": 1, \"policy_instance_id\": \"hwpolicy321\", \"payload\": {\"threshold\": 5}}";
|
|
int n = json.length();
|
|
char strMsg[n + 1];
|
|
strcpy(strMsg, json.c_str());
|
|
Document d;
|
|
d.Parse(strMsg);
|
|
|
|
int num_attempts = 5;
|
|
|
|
std::unique_ptr<XappRmr> rmr;
|
|
rmr = std::make_unique<XappRmr>("4560",num_attempts);
|
|
rmr->xapp_rmr_init(true);
|
|
|
|
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>("HW-Xapp-id");
|
|
|
|
hw_xapp->start_xapp_receiver(std::ref(*mp_handler));
|
|
sleep(5);
|
|
|
|
xapp_rmr_header hdr;
|
|
hdr.message_type = A1_POLICY_REQ;
|
|
clock_gettime(CLOCK_REALTIME, &(hdr.ts));
|
|
|
|
|
|
hdr.payload_length = strlen(strMsg);
|
|
|
|
bool res_msg1 = rmr->xapp_rmr_send(&hdr,(void*)strMsg);
|
|
ASSERT_TRUE(res_msg1);
|
|
|
|
usleep(1);
|
|
|
|
bool res_msg2 = rmr->xapp_rmr_send(&hdr,(void*)strMsg);
|
|
ASSERT_TRUE(res_msg2);
|
|
|
|
sleep(2);
|
|
hw_xapp->stop();
|
|
}
|