Commit dbc1246a authored by YannGarcia's avatar YannGarcia
Browse files

Validate MEC-012 against MEC Sandbox

parent 21689335
......@@ -43,7 +43,7 @@ int json_codec::encode (const LibItsHttp__JsonMessageBodyTypes::JsonBody& msg, O
} else if (msg.ischosen(LibItsHttp__JsonMessageBodyTypes::JsonBody::ALT_cellChangeSubscription)) {
const RnisAPI__TypesAndValues::CellChangeSubscription& cell_change_subscription = msg.cellChangeSubscription();
cell_change_subscription.encode(RnisAPI__TypesAndValues::CellChangeSubscription_descr_, encoding_buffer, TTCN_EncDec::CT_JSON);
data = char2oct(CHARSTRING("{\"CellChangeSubscription\": ")) + OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()) + char2oct(CHARSTRING("}"));
data = /*char2oct(CHARSTRING("{\"CellChangeSubscription\": ")) + */OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data())/* + char2oct(CHARSTRING("}"))*/;
} else if (msg.ischosen(LibItsHttp__JsonMessageBodyTypes::JsonBody::ALT_appContext)) {
const UEAppInterfaceAPI__TypesAndValues::AppContext& app_context = msg.appContext();
app_context.encode(UEAppInterfaceAPI__TypesAndValues::AppContext_descr_, encoding_buffer, TTCN_EncDec::CT_JSON);
......@@ -176,13 +176,6 @@ int json_codec::decode (const OCTETSTRING& p_data, LibItsHttp__JsonMessageBodyTy
LocationAPI__TypesAndValues::ZonalTrafficSubscription zonal_traffic_subscription;
zonal_traffic_subscription.decode(LocationAPI__TypesAndValues::ZonalTrafficSubscription_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.zonalTrafficSubscription() = zonal_traffic_subscription;
} else if (it->second.find("\"periodicTrackingSubscription\"") != std::string::npos) {
int idx_begin = it->second.find(":");
int idx_end = it->second.rfind("}") - 1; // Remove the last '}'
......@@ -219,11 +212,6 @@ int json_codec::decode (const OCTETSTRING& p_data, LibItsHttp__JsonMessageBodyTy
LocationAPI__TypesAndValues::DistanceNotificationSubscription notif;
notif.decode(LocationAPI__TypesAndValues::DistanceNotificationSubscription_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.distanceNotificationSubscription() = notif;
} else if (it->second.find("\"SubscriptionLinkList\"") != std::string::npos) { // Be careful to the order
// TODO To be refined, find("\"accessPointList\"") is not optimal
RnisAPI__TypesAndValues::SubscriptionLinkList subscription_link_list;
subscription_link_list.decode(RnisAPI__TypesAndValues::SubscriptionLinkList_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.subscriptionLinkList() = subscription_link_list;
} else if (it->second.find("\"ueIdentityTagInfo\"") != std::string::npos) {
UEidentityAPI__TypesAndValues::UeIdentityTagInfo ue_identity_tag_info;
ue_identity_tag_info.decode(UEidentityAPI__TypesAndValues::UeIdentityTagInfo_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
......@@ -264,7 +252,7 @@ int json_codec::decode (const OCTETSTRING& p_data, LibItsHttp__JsonMessageBodyTy
dns_rule.decode(AppEnablementAPI__TypesAndValues::DnsRule_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.dnsRule() = dns_rule;
}
} else if ((it->second.find("\"appInstanceId\"") != std::string::npos) && (it->second.find("\"subscriptionType\"") != std::string::npos)) {
} else if (it->second.find("\"AppTerminationNotificationSubscription\"") != std::string::npos) {
AppEnablementAPI__TypesAndValues::AppTerminationNotificationSubscription app_term;
app_term.decode(AppEnablementAPI__TypesAndValues::AppTerminationNotificationSubscription_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.appTerminationNotificationSubscription() = app_term;
......@@ -285,130 +273,26 @@ int json_codec::decode (const OCTETSTRING& p_data, LibItsHttp__JsonMessageBodyTy
current_time.decode(AppEnablementAPI__TypesAndValues::CurrentTime_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.currentTime() = current_time;
} else if (it->second.find("\"CellChangeSubscription\"") != std::string::npos) {
// // Replace "type": "1" by type": "EU_IPV4_ADDRESS", "type": "2"...
// // TODO Create a method instead of copy/past
// //loggers::get_instance().log("json_codec::decode: Before, str=%s", str.c_str());
// std::size_t it_start = str.find("\"type\"");
// loggers::get_instance().log("json_codec::decode: id_start=%d", it_start);
// if (it_start != std::string::npos) {
// std::size_t it_stop = str.find(",", it_start);
// //loggers::get_instance().log("json_codec::decode: id_stop=%d", it_stop);
// //loggers::get_instance().log("json_codec::decode: segment=%s", str.substr(it_start, it_stop - it_start).c_str());
// std::size_t it = str.find("1", it_start, 1);
// //loggers::get_instance().log("json_codec::decode: it=%d", it);
// if ((it != std::string::npos) && (it < it_stop)) {
// str = str.substr(0, it) + "UE_IPV4_ADDRESS" + str.substr(it + 1);
// } else {
// it = str.find("2", it_start, 1);
// //loggers::get_instance().log("json_codec::decode: it=%d", it);
// if ((it != std::string::npos) && (it < it_stop)) {
// str = str.substr(0, it) + "UE_IPV6_ADDRESS" + str.substr(it + 1);
// } else {
// it = str.find("3", it_start, 1);
// //loggers::get_instance().log("json_codec::decode: it=%d", it);
// if ((it != std::string::npos) && (it < it_stop)) {
// str = str.substr(0, it) + "NATED_IP_ADDRESS" + str.substr(it + 1);
// } else {
// it = str.find("4", it_start, 1);
// //loggers::get_instance().log("json_codec::decode: it=%d", it);
// if ((it != std::string::npos) && (it < it_stop)) {
// str = str.substr(0, it) + "GTP_TEID" + str.substr(it + 1);
// }
// }
// }
// }
// }
// //loggers::get_instance().log("json_codec::decode: After, str=%s", str.c_str());
// decoding_buffer.clear();
// decoding_buffer.put_os(OCTETSTRING(str.length(), (const unsigned char*)str.c_str()));
RnisAPI__TypesAndValues::CellChangeSubscription cell_change_subscription;
cell_change_subscription.decode(RnisAPI__TypesAndValues::CellChangeSubscription_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.cellChangeSubscription() = cell_change_subscription;
//TODO Continue with other ChangeSubscription
} else if (it->second.find("\"RabInfo\"") != std::string::npos) {
// // Replace "type": "1" by type": "EU_IPV4_ADDRESS", "type": "2"...
// // TODO Create a method instead of copy/past
// // loggers::get_instance().log("json_codec::decode: Before, str=%s", str.c_str());
// std::size_t it_start = str.find("\"type\"");
// loggers::get_instance().log("json_codec::decode: id_start=%d", it_start);
// if (it_start != std::string::npos) {
// std::size_t it_stop = str.find(",", it_start);
// //loggers::get_instance().log("json_codec::decode: id_stop=%d", it_stop);
// //loggers::get_instance().log("json_codec::decode: segment=%s", str.substr(it_start, it_stop - it_start).c_str());
// std::size_t it = str.find("1", it_start, 1);
// //loggers::get_instance().log("json_codec::decode: it=%d", it);
// if ((it != std::string::npos) && (it < it_stop)) {
// str = str.substr(0, it) + "UE_IPV4_ADDRESS" + str.substr(it + 1);
// } else {
// it = str.find("2", it_start, 1);
// //loggers::get_instance().log("json_codec::decode: it=%d", it);
// if ((it != std::string::npos) && (it < it_stop)) {
// str = str.substr(0, it) + "UE_IPV6_ADDRESS" + str.substr(it + 1);
// } else {
// it = str.find("3", it_start, 1);
// //loggers::get_instance().log("json_codec::decode: it=%d", it);
// if ((it != std::string::npos) && (it < it_stop)) {
// str = str.substr(0, it) + "NATED_IP_ADDRESS" + str.substr(it + 1);
// } else {
// it = str.find("4", it_start, 1);
// //loggers::get_instance().log("json_codec::decode: it=%d", it);
// if ((it != std::string::npos) && (it < it_stop)) {
// str = str.substr(0, it) + "GTP_TEID" + str.substr(it + 1);
// }
// }
// }
// }
// }
// //loggers::get_instance().log("json_codec::decode: After, str=%s", str.c_str());
// decoding_buffer.clear();
// decoding_buffer.put_os(OCTETSTRING(str.length(), (const unsigned char*)str.c_str()));
} else if (it->second.find("\"cellInfo\"") != std::string::npos) {
RnisAPI__TypesAndValues::L2Meas l2_meas;
l2_meas.decode(RnisAPI__TypesAndValues::L2Meas_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.l2Meas() = l2_meas;
} else if ((it->second.find("\"appInstanceId\"") != std::string::npos) && (it->second.find("\"requestId\"") != std::string::npos)) {
RnisAPI__TypesAndValues::RabInfo rab_info;
rab_info.decode(RnisAPI__TypesAndValues::RabInfo_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.rabInfo() = rab_info;
} else if (it->second.find("\"S1BearerInfo\"") != std::string::npos) {
// // Replace "type": "1" by type": "EU_IPV4_ADDRESS", "type": "2"...
// // TODO Create a method instead of copy/past
// // loggers::get_instance().log("json_codec::decode: Before, str=%s", str.c_str());
// std::size_t it_start = str.find("\"type\"");
// loggers::get_instance().log("json_codec::decode: id_start=%d", it_start);
// if (it_start != std::string::npos) {
// std::size_t it_stop = str.find(",", it_start);
// //loggers::get_instance().log("json_codec::decode: id_stop=%d", it_stop);
// //loggers::get_instance().log("json_codec::decode: segment=%s", str.substr(it_start, it_stop - it_start).c_str());
// std::size_t it = str.find("1", it_start, 1);
// //loggers::get_instance().log("json_codec::decode: it=%d", it);
// if ((it != std::string::npos) && (it < it_stop)) {
// str = str.substr(0, it) + "UE_IPV4_ADDRESS" + str.substr(it + 1);
// } else {
// it = str.find("2", it_start, 1);
// //loggers::get_instance().log("json_codec::decode: it=%d", it);
// if ((it != std::string::npos) && (it < it_stop)) {
// str = str.substr(0, it) + "UE_IPV6_ADDRESS" + str.substr(it + 1);
// } else {
// it = str.find("3", it_start, 1);
// //loggers::get_instance().log("json_codec::decode: it=%d", it);
// if ((it != std::string::npos) && (it < it_stop)) {
// str = str.substr(0, it) + "NATED_IP_ADDRESS" + str.substr(it + 1);
// } else {
// it = str.find("4", it_start, 1);
// //loggers::get_instance().log("json_codec::decode: it=%d", it);
// if ((it != std::string::npos) && (it < it_stop)) {
// str = str.substr(0, it) + "GTP_TEID" + str.substr(it + 1);
// }
// }
// }
// }
// }
// //loggers::get_instance().log("json_codec::decode: After, str=%s", str.c_str());
// decoding_buffer.clear();
// decoding_buffer.put_os(OCTETSTRING(str.length(), (const unsigned char*)str.c_str()));
RnisAPI__TypesAndValues::S1BearerInfo s1_nearer_info;
s1_nearer_info.decode(RnisAPI__TypesAndValues::S1BearerInfo_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.s1BearerInfo() = s1_nearer_info;
} else if (it->second.find("\"PlmnInfo\"") != std::string::npos) {
RnisAPI__TypesAndValues::PlmnInfo plmn_info;
plmn_info.decode(RnisAPI__TypesAndValues::PlmnInfo_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.plmnInfo() = plmn_info;
} else if ((it->second.find("\"appInstanceId\"") != std::string::npos) && (it->second.find("\"plmn\"") != std::string::npos)) {
RnisAPI__TypesAndValues::PlmnInfos plmn_infos;
plmn_infos.decode(RnisAPI__TypesAndValues::PlmnInfos_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.plmnInfos() = plmn_infos;
} else if (it->second.find("\"RabEstSubscription\"") != std::string::npos) {
RnisAPI__TypesAndValues::RabEstSubscription rab_est_subscription;
rab_est_subscription.decode(RnisAPI__TypesAndValues::RabEstSubscription_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
......@@ -421,6 +305,11 @@ int json_codec::decode (const OCTETSTRING& p_data, LibItsHttp__JsonMessageBodyTy
RnisAPI__TypesAndValues::RabRelSubscription rab_rel_subscription;
rab_rel_subscription.decode(RnisAPI__TypesAndValues::RabRelSubscription_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.rabRelSubscription() = rab_rel_subscription;
} else if ((it->second.find("\"_links\"") != std::string::npos) && (it->second.find("subscriptions") != std::string::npos)) { // SubscriptionLinkList
// FIXME Conflict with MEC-028 SubscriptionLinkList data type
RnisAPI__TypesAndValues::SubscriptionLinkList subscription_link_list;
subscription_link_list.decode(RnisAPI__TypesAndValues::SubscriptionLinkList_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
msg.subscriptionLinkList() = subscription_link_list;
} else if (it->second.find("\"AppContext\"") != std::string::npos) {
UEAppInterfaceAPI__TypesAndValues::AppContext appContext;
appContext.decode(UEAppInterfaceAPI__TypesAndValues::AppContext_descr_, decoding_buffer, TTCN_EncDec::CT_JSON);
......
......@@ -14,7 +14,7 @@ LibItsHttp_Pics.PICS_HEADER_CONTENT_TYPE := "application/json"
LibItsHttp_Pics.PICS_USE_TOKEN_HEADER := true
#LibItsHttp_Pics.PICS_TOKEN_HEADER := "Basic WrongToken"
LibMec_Pics.PICS_ROOT_API := "/sbxyvsiu5t/mep1" # Need to sign in on https://try-mec.etsi.org/, section 'Try-it from your MEC application'
LibMec_Pics.PICS_ROOT_API := "/sbxn4ozxg2/mep1" # Need to sign in on https://try-mec.etsi.org/, section 'Try-it from your MEC application'
# LibMec_Pixits
LibMec_Pixits.PX_RNIS_SUBSCRITIONS_URI := "/rni/v2/subscriptions"
......@@ -43,10 +43,9 @@ AppEnablementAPI_Pixits.PX_TRAFFIC_RULE_ID := "trafficRuleId01"
# Mec-012 RnisAPI
RnisAPI_Pixits.PX_SUBSCRIPTION_HREF_VALUE := "cell_change"
RnisAPI_Pixits.PX_SUBSCRIPTION_TYPE := CELL_CHANGE
RnisAPI_Pixits.PX_SUBSCRIPTION_ID := "7777"
RnisAPI_Pixits.PX_ASSOCIATE_ID_VALUE := "192.0.0.2"
RnisAPI_Pixits.PX_CELL_ID := "0x4040404"
RnisAPI_Pixits.PX_CALLBACK_REFERENCE := "http://yanngarcia.ddns.net/rni/v2/notif/1"
RnisAPI_Pixits.PX_ASSOCIATE_ID_VALUE := "10.100.0.1"
RnisAPI_Pixits.PX_CELL_ID := "1010101"
RnisAPI_Pixits.PX_C_ID := "0xFFFFFFFF"
RnisAPI_Pixits.PX_APP_INS_ID := "01"
RnisAPI_Pixits.PX_APP_ID := "19"
......@@ -102,7 +101,8 @@ LogEventTypes:= Yes
# In this section you can specify parameters that are passed to Test Ports.
#system.httpPort.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server=192.168.1.39,port=30030,use_ssl=0)"
system.httpPort.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server=try-mec.etsi.org,port=443,use_ssl=1)"
system.httpPort_notif.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server_mode=1,local_port=443,use_ssl=1)"
#system.httpPort_notif.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server_mode=1,local_port=443,use_ssl=1)"
system.httpPort_notif.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server_mode=1,local_port=80,use_ssl=0)"
[DEFINE]
# In this section you can create macro definitions,
......@@ -180,30 +180,64 @@ system.httpPort_notif.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server
#AtsMec_AppEnablementAPI_TestCases.TC_MEC_SRV_TRANS_001_OK
# ETSI GS MEC 012
# Check that the RNIS service sends an RNIS notification about cell change if the RNIS service has an associated subscription and the event is generated
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_001_OK
# Check that the RNIS service sends an RNIS notification about RAB establishment if the RNIS service has an associated subscription and the event is generated
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_002_OK
# Check that the RNIS service sends an RNIS notification about RAB modification if the RNIS service has an associated subscription and the event is generated
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_003_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_004_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_005_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_006_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_007_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_008_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_009_OK
# Check that the RNIS service sends the list of links to the relevant RNIS subscriptions when requested
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_011_OK
# Check that the RNIS service creates a new RNIS subscription
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_012_OK
# Check that the RNIS service responds with an error when it receives a request to get all RNIS subscriptions with a wrong subscription type
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_011_BR
# Check that the RNIS service responds with an error when it receives a request to create a new RNIS subscription with a wrong format
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_012_BR
# Check that the RNIS service sends a RNIS subscription when requested
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_013_OK
# Check that the RNIS service responds with error when a not existing RNIS subscription is requested
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_013_NF
# Check that the RNIS service modifies a RNIS subscription when requested
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_014_OK
# Check that the RNIS service sends an error when it receives a malformed modify request for a RNIS subscription
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_014_BR
# Check that the RNIS service responds with error when a modification for a not existing RNIS subscription is requested
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_014_NF
# Check that the RNIS service deletes a RNIS subscription when requested
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_015_OK
# Check that the RNIS service responds with error when the deletion of a not existing RNIS subscription is requested
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_015_NF
# Check that the RNIS service returns the RAB information when requested
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_016_OK
# Check that the RNIS service returns the PLMN information when requested
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_017_OK
# Check that the RNIS service returns the S1 bearer information
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_018_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_019_OK
# Check that the RNIS service returns the L2 measurements information
AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_019_OK
# Check that the RNIS service returns an error when the RAB information is requested with a malformatted message
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_016_BR
# Check that the RNIS service returns an error when the RAB information is requested with a malformatted message
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_016_NF
# Check that the RNIS service returns an error when the PLMN information is requested with a malformatted message
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_017_BR
# Check that the RNIS service returns an error when the PLMN information for a not existing element is requested
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_017_NF
# Check that the RNIS service returns an error when the S1 bearer information is requested with a malformatted message
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_018_BR
# Check that the RNIS service returns an error when the S1 bearer information for a not existing element is requested
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_018_NF
# Check that the RNIS service returns an error when the L2 measurements information is requested with a malformatted message
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_019_BR
# Check that the RNIS service returns an error when the L2 measurements information for a not existing element is requested
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_019_NF
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_001_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_002_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_003_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_004_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_005_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_006_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_007_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_MEC012_SRV_RNIS_008_OK
# ETSI GS MEC 013
# Check that the IUT responds with a list for the location of User Equipments when queried by a MEC Application
......@@ -211,7 +245,7 @@ system.httpPort_notif.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server
# Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application
#AtsMec_LocationAPI_TestCases.TC_MEC_MEC013_SRV_UELOCLOOK_001_BR
# Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application
AtsMec_LocationAPI_TestCases.TC_MEC_MEC013_SRV_UELOCLOOK_001_NF
#AtsMec_LocationAPI_TestCases.TC_MEC_MEC013_SRV_UELOCLOOK_001_NF
# Check that the IUT acknowledges the UE location change subscription request when commanded by a MEC Application and notifies it when the location changes
#AtsMec_LocationAPI_TestCases.TC_MEC_MEC013_SRV_UELOCSUB_001_OK
# Check that the IUT responds with an error when a request with incorrect parameters is sent by a MEC Application
......
This diff is collapsed.
......@@ -86,7 +86,13 @@ module AtsMec_TestControl {
}
}
if (PICS_RNIS) {
/*if (PICS_RNIS) {
if (PICS_RNIS_NOTIFICATIONS) {
execute(TC_MEC_MEC012_SRV_RNIS_001_OK());
execute(TC_MEC_MEC012_SRV_RNIS_002_OK());
execute(TC_MEC_MEC012_SRV_RNIS_003_OK());
execute(TC_MEC_MEC012_SRV_RNIS_004_OK());
}
if (PICS_RNIS_ALL_SUBSCRIPTIONS) {
execute(TC_MEC_MEC012_SRV_RNIS_011_OK());
execute(TC_MEC_MEC012_SRV_RNIS_012_OK());
......@@ -107,13 +113,7 @@ module AtsMec_TestControl {
execute(TC_MEC_MEC012_SRV_RNIS_019_BR());
execute(TC_MEC_MEC012_SRV_RNIS_019_NF());
}
if (PICS_RNIS_NOTIFICATIONS) {
execute(TC_MEC_MEC012_SRV_RNIS_001_OK());
execute(TC_MEC_MEC012_SRV_RNIS_002_OK());
execute(TC_MEC_MEC012_SRV_RNIS_003_OK());
execute(TC_MEC_MEC012_SRV_RNIS_004_OK());
}
}
}*/
if (PICS_MEC_PLAT and PICS_BWMANAGEMENT_API_SUPPORTED) {
execute(TC_MEC_MEC015_SRV_TM_001_OK());
......
......@@ -3,15 +3,17 @@ module RnisAPI_Pixits {
// JSON
import from JSON all;
// LibCommon
import from LibCommon_BasicTypesAndValues all;
// LibMec/Rnis
import from RnisAPI_TypesAndValues all;
modulepar JSON.String PX_SUBSCRIPTION_HREF_VALUE := "cell_change";
modulepar SubscriptionType PX_SUBSCRIPTION_TYPE := CELL_CHANGE;
modulepar JSON.String PX_SUBSCRIPTION_ID := "7777";
modulepar JSON.String PX_UNKNOWN_SUBSCRIPTION_ID := "0666";
modulepar Link PX_LINKS_SELF := { self_ := "http://example.com/exampleAPI/rni/v2/subscriptions" };
modulepar Link PX_LINKS_SELF := { self_ := { href := "http://example.com/exampleAPI/rni/v2/subscriptions" } };
modulepar charstring PX_CALLBACK_URI := "/";
......@@ -20,20 +22,21 @@ module RnisAPI_Pixits {
modulepar JSON.String PX_ASSOCIATE_ID_VALUE := "192.0.0.2";
modulepar CellId PX_CELL_ID := "0x0800000A";
modulepar CellId PX_UNKNOWN_CELL_ID := "0x0800000A";
modulepar CellId PX_C_ID := "0xFFFFFFFF";
modulepar CellId PX_NOT_EXISTENT_CELL_ID := "0x8000099";
modulepar AppInsId PX_APP_INS_ID := "01";
modulepar AppInstanceId PX_APP_INS_ID := "01";
modulepar AppInsId PX_APP_ID := "19";
modulepar AppInstanceId PX_APP_ID := "19";
modulepar AppInsId PX_NOT_EXISTENT_APP_INS_ID := "99";
modulepar AppInstanceId PX_NOT_EXISTENT_APP_INS_ID := "99";
modulepar ErabId PX_E_RAB_ID := 0;
modulepar UInt32 PX_E_RAB_ID := 0;
modulepar Qci PX_QCI := 0;
} // End of module RnisAPI_Pixits
......@@ -236,10 +236,10 @@ module LibMec_Functions {
// Send the request
httpPort.send(
m_http_request(
m_http_request_get(
p_uri,
p_headers,
m_http_message_body_json(p_json_body)
m_http_request_post(
p_uri,
p_headers,
m_http_message_body_json(p_json_body)
)));
// Await for the response
tc_ac.start;
......@@ -283,7 +283,7 @@ module LibMec_Functions {
alt {
[] httpPort.receive(
mw_http_response(
mw_http_response_ok
mw_http_response_204_no_content
)) -> value v_response {
tc_ac.stop;
......
......@@ -20,9 +20,9 @@ module LibMec_Pixits {
modulepar charstring PX_SVC_MGMT_APP_URI := "/mec_service_mgmt/v1/application";
modulepar charstring PX_RNIS_SUBSCRITIONS_URI := "/rni/v1/subscriptions";
modulepar charstring PX_RNIS_SUBSCRITIONS_URI := "/rni/v2/subscriptions";
modulepar charstring PX_RNIS_QUERIES_URI := "/rni/v1/queries";
modulepar charstring PX_RNIS_QUERIES_URI := "/rni/v2/queries";
modulepar charstring PX_ME_BWM_URI := "/bwm/v1/bw_allocations";
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment