Commit dc97fcc0 authored by Elian Kraja's avatar Elian Kraja

Added LCM Test cases

parent 57cd07aa
This diff is collapsed.
module AppLCM_Pics {
/**
* @desc Does the IUT support LocationAPI?
*/
modulepar boolean PICS_LCM_API_SUPPORTED := true;
} // End of module LocationAPI_Pics
module AppLCM_Pixits {
// JSON
import from JSON all;
import from AppLCM_TypesAndValues all;
modulepar JSON.String PX_APP_D_ID := "5lkj4782-2c70-4e47-9a4e-0ee3a1a0fd1f"
modulepar InstantiationState PX_INSTANTIATION_STATE := NOT_INSTANTIATED
modulepar JSON.String PX_APP_INSTANCE_ID := "5abe4782-2c70-4e47-9a4e-0ee3a1a0fd1f"
modulepar JSON.String PX_NON_EXISTENT_APP_INSTANCE_ID := "PX_NON_EXISTENT_APP_INSTANCE_ID"
modulepar TerminationType PX_APP_TERMINATION_TYPE := GRACEFUL
modulepar TerminationTypeWithError PX_APP_TERMINATION_TYPE_WITH_ERROR := GRACE
modulepar OperationType PX_CHANGE_STATE_TO := STARTED
modulepar OperationTypeWithError PX_CHANGE_STATE_TO_WITH_ERROR := START
modulepar JSON.String PX_APP_LCM_OP_OCC_ID := "5abe4782-2c70-4e47-9a4e-0ee3a1a0fd1f"
modulepar JSON.String PX_NON_EXISTENT_APP_LCM_OP_OCC_ID := "PX_NON_EXISTENT_APP_LCM_OP_OCC_ID"
modulepar JSON.AnyURI PX_CALLBACK_URI := "http://127.0.0.1/callback"
modulepar SubscriptionType PX_SUBSCRIPTION_TYPE := AppInstanceStateChangeSubscription
modulepar JSON.String PX_SUBSCRIPTION_ID := "e0deee2b-6e50-4f33-ab09-8bf0585025d3"
modulepar JSON.String PX_NON_ESISTENT_SUBSCRIPTION_ID := "PX_NON_ESISTENT_SUBSCRIPTION_ID"
modulepar JSON.String PX_NOTIFICATION_ID := "208c95ec-121f-4bc2-b896-be3fe000d3ea"
modulepar NotificationType PX_NOTIFICATION_TYPE := AppInstNotification
} // End of module
\ No newline at end of file
module AppLCM_Templates {
// JSON
import from JSON all;
// LibCommon
import from LibCommon_BasicTypesAndValues all;
import from AppLCM_TypesAndValues all;
import from AppLCM_Pixits all;
template (present) CreateAppInstanceRequest m_lifecycle_management_create (
in template (present) String p_appDId := ?
) := {
appDId := p_appDId
}
template (present) CreateAppInstanceRequestWithError m_lifecycle_management_create_with_error (
in template (present) String p_appDIdWithError := ?
) := {
appDIdWithError := p_appDIdWithError
}
template (present) AppInstanceInfo mw_lcm_instance_info (
in template (present) String p_app_instance_id := ?,
in template (present) String p_app_d_id := ?,
in template (present) InstantiationState p_instantiation_state := ?
) := {
appInstanceId := p_app_instance_id,
appDId := p_app_d_id,
instantiationState := p_instantiation_state
}
template (present) InstantiateAppRequest m_lifecycle_management_instantiate (
in template (present) String p_app_instance_id
) := {
appInstanceId := p_app_instance_id
}
template (present) InstantiateAppRequestWithError m_lifecycle_management_instantiate_with_error (
in template (present) String p_app_instance_id
) := {
appId := p_app_instance_id
}
template (present) TerminateAppRequest m_lifecycle_management_terminate (
in template (present) TerminationType p_termination_type
) := {
terminationType := p_termination_type
}
template (present) TerminateAppRequestWithError m_lifecycle_management_terminate_with_error (
in template (present) TerminationTypeWithError p_termination_type_with_error
) := {
terminationTypeWithError := p_termination_type_with_error
}
template (present) OperateAppRequest m_lifecycle_management_operate (
in template (present) OperationType p_change_state_to_type
) := {
changeStateTo := p_change_state_to_type
}
template (present) OperateAppRequestWithError m_lifecycle_management_operate_with_error (
in template (present) OperationTypeWithError p_change_state_to_type_with_error
) := {
changeStateToWithError := p_change_state_to_type_with_error
}
template (present) AppInstanceLcmOpOcc mw_lifecycle_management_op_occ (
in template (present) JSON.String p_app_lcm_op_occ_id := ?
) := {
appLcmOpOccId := p_app_lcm_op_occ_id
}
template (present) SubscriptionRequest m_app_lcm_subscribe_request (
in template (present) SubscriptionType p_subscription_type,
in template (present) AnyURI p_callback_uri
) := {
subscriptionType := p_subscription_type,
callbackUri := p_callback_uri
}
template (present) SubscriptionRequestWithError m_app_lcm_subscribe_request_with_error (
in template (present) SubscriptionType p_subscription_type,
in template (present) AnyURI p_callback_uri_with_error
) := {
subscriptionType := p_subscription_type,
callbackUriWithError := p_callback_uri_with_error
}
template (present) SubscriptionInfo mw_app_lcm_subscription_info (
in template (present) String p_subscription_id := ?,
in template (present) SubscriptionType p_subscription_type := ?,
in template (present) AnyURI p_callback_uri := ?
) := {
subscriptionId := p_subscription_id,
subscriptionType := p_subscription_type,
callbackUri := p_callback_uri
}
template (present) Notification mw_app_lcm_notification (
in template (present) String p_notification_id := ?,
in template (present) NotificationType p_notification_type := ?,
in template (present) String p_subscription_id := ?
) := {
notificationId := p_notification_id,
notificationType := p_notification_type
}
}
\ No newline at end of file
module AppLCM_TypesAndValues {
// JSON
import from JSON all;
// LibCommon
import from LibCommon_BasicTypesAndValues all;
type enumerated InstantiationState {
NOT_INSTANTIATED,
INSTANTIATED
}
type enumerated TerminationType {
FORCEFUL,
GRACEFUL
}
type enumerated TerminationTypeWithError {
FORCE,
GRACE
}
type enumerated OperationType {
STARTED,
STOPPED
}
type enumerated OperationTypeWithError {
START,
STOP
}
type enumerated SubscriptionType {
AppInstanceStateChangeSubscription,
AppLcmOpOccStateChangeSubscription
}
type enumerated NotificationType {
AppInstNotification,
AppLcmOpOccNotification
}
type record CreateAppInstanceRequest {
String appDId
}
type record CreateAppInstanceRequestWithError {
String appDIdWithError
}
type record of AppInstanceInfo AppInstanceInfoList;
type record AppInstanceInfo {
String appInstanceId,
String appDId,
InstantiationState instantiationState
}
type record of SelectedMECHostInfo SelectedMECHostInfoList
type record SelectedMECHostInfo {
}
type record InstantiateAppRequest {
String appInstanceId,
SelectedMECHostInfoList selectedMECHostInfo
}
type record InstantiateAppRequestWithError {
String appId,
SelectedMECHostInfoList selectedMECHostInfo
}
type record TerminateAppRequest {
TerminationType terminationType
}
type record TerminateAppRequestWithError {
TerminationTypeWithError terminationTypeWithError
}
type record OperateAppRequest {
OperationType changeStateTo
}
type record OperateAppRequestWithError {
OperationTypeWithError changeStateToWithError
}
type record of AppInstanceLcmOpOcc AppInstanceLcmOpOccList;
type record AppInstanceLcmOpOcc {
String appLcmOpOccId
}
type record SubscriptionRequest {
AnyURI callbackUri,
SubscriptionType subscriptionType
}
type record SubscriptionRequestWithError {
AnyURI callbackUriWithError,
SubscriptionType subscriptionType
}
type record of SubscriptionInfo SubscriptionInfoList;
type record SubscriptionInfo {
String subscriptionId,
SubscriptionType subscriptionType,
AnyURI callbackUri
}
type record Notification {
String notificationId,
NotificationType notificationType,
String subscriptionId
}
/**
* @desc Problem Details for HTTP APIs
* @member type_ A URI reference according to IETF RFC 3986 that identifies the problem type
* @member title A short, human-readable summary of the problem type
* @member status The HTTP status code for this occurrence of the problem
* @member detail A human-readable explanation specific to this occurrence of the problem
* @member instance A URI reference that identifies the specific occurrence of the problem
* @see IETF RFC 7807 Clause 3. The Problem Details JSON Object
*/
type record ProblemDetails {
JSON.String type_,
JSON.String title,
UInt32 status,
JSON.String detail,
JSON.String instance
} with {
variant (type_) "name as 'type'";
}
} with {
encode "JSON"
}
......@@ -44,4 +44,6 @@ module LibMec_Pics {
modulepar boolean PIC_APP_LCM_MANAGEMENT := true;
modulepar boolean PIC_APP_LCM_NOTIFICATIONS := false;
} // End of module LibMec_Pics
......@@ -41,7 +41,8 @@ module LibMec_Pixits {
modulepar charstring PX_MEX_LCM_URI := "/alcmi/v1/app_instances"
modulepar charstring PX_MEX_LCM_SUBS := "/alcmi/v1/subscriptions"
modulepar charstring PX_MEX_LCM_OP_OCC_URI := "/alcmi/v1/app_lcm_op_occs"
modulepar charstring PX_UE_APP_CTX_URI := "/mx2/v2/app_contexts";
......
......@@ -94,8 +94,21 @@ module LibItsHttp_JsonMessageBodyTypes {
AppLCM_TypesAndValues.CreateAppInstanceRequestWithError createAppInstanceRequestWithError,
AppLCM_TypesAndValues.AppInstanceInfoList appInstanceInfoList,
AppLCM_TypesAndValues.InstantiateAppRequest appInstanceInstantiate,
AppLCM_TypesAndValues.InstantiateAppRequestWithError appInstanceInstantiateWithError,
AppLCM_TypesAndValues.TerminateAppRequest terminateType,
AppLCM_TypesAndValues.TerminateAppRequestWithError terminateTypeWithError,
AppLCM_TypesAndValues.OperateAppRequest changeStateTo,
AppLCM_TypesAndValues.OperateAppRequestWithError changeStateToWithError,
AppLCM_TypesAndValues.AppInstanceLcmOpOcc appInstanceLcmOpOcc,
AppLCM_TypesAndValues.AppInstanceLcmOpOccList appInstanceLcmOpOccList,
AppLCM_TypesAndValues.SubscriptionRequest subscriptionRequest,
AppLCM_TypesAndValues.SubscriptionRequestWithError subscriptionRequestWithError,
AppLCM_TypesAndValues.SubscriptionInfoList subscriptionInfoList,
AppLCM_TypesAndValues.SubscriptionInfo subscriptionInfo,
AppLCM_TypesAndValues.Notification lcmNotification,
AppContext appContext,
AppInfo appInfo,
UEAppInterfaceAPI_TypesAndValues.ProblemDetails problemDetails_ue_app_ctxt,
universal charstring raw
} with {
......
......@@ -235,6 +235,86 @@ group lcm_api {
) := {
appInstanceInstantiate := p_app_instance_instantiate
}
template (present) JsonBody m_body_json_lifecycle_management_instantiate_with_error (
in template (present) InstantiateAppRequestWithError p_app_instance_instantiate_with_error
) := {
appInstanceInstantiateWithError := p_app_instance_instantiate_with_error
}
template (present) JsonBody m_body_json_lifecycle_management_terminate (
in template (present) TerminateAppRequest p_app_instance_terminate
) := {
terminateType := p_app_instance_terminate
}
template (present) JsonBody m_body_json_lifecycle_management_terminate_with_error (
in template (present) TerminateAppRequestWithError p_app_instance_terminate_with_error
) := {
terminateTypeWithError := p_app_instance_terminate_with_error
}
template (present) JsonBody m_body_json_lifecycle_management_operate (
in template (present) OperateAppRequest p_app_instance_operate
) := {
changeStateTo := p_app_instance_operate
}
template (present) JsonBody m_body_json_lifecycle_management_operate_with_error (
in template (present) OperateAppRequestWithError p_app_instance_operate_with_error
) := {
changeStateToWithError := p_app_instance_operate_with_error
}
template (present) JsonBody mw_body_json_lifecycle_op_occ_list (
in template (present) AppInstanceLcmOpOccList p_app_instance_op_occ_list
) := {
appInstanceLcmOpOccList := p_app_instance_op_occ_list
}
template (present) JsonBody mw_body_json_lifecycle_op_occ (
in template (present) AppInstanceLcmOpOcc p_app_instance_op_occ
) := {
appInstanceLcmOpOcc := p_app_instance_op_occ
}
template (present) JsonBody m_body_json_lcm_subscribe(
in template (present) SubscriptionRequest p_app_lcm_request
) := {
subscriptionRequest := p_app_lcm_request
}
template (present) JsonBody m_body_json_lcm_subscribe_with_error(
in template (present) SubscriptionRequestWithError p_app_lcm_request_with_error
) := {
subscriptionRequestWithError := p_app_lcm_request_with_error
}
template (present) JsonBody mw_body_json_lcm_subscription_list(
in template (present) SubscriptionInfoList p_app_lcm_subscription_list
) := {
subscriptionInfoList := p_app_lcm_subscription_list
}
template (present) JsonBody mw_body_json_lcm_subscription(
in template (present) SubscriptionInfo p_app_lcm_subscription
) := {
subscriptionInfo := p_app_lcm_subscription
}
template (present) JsonBody mw_body_json_lcm_notification (
in template (present) Notification p_lcm_notification
) := {
lcmNotification := p_lcm_notification
}
}
group ams_api {
......
Markdown is supported
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