diff --git a/Test Purposes/App/Mm1/AppPackageMgmt/AppPkgMgt2_BO-BI.tplan2 b/Test Purposes/App/Mm1/AppPackageMgmt/AppPkgMgt2_BO-BI.tplan2 index 043764ea6daa9d8f346137c919cd19b167b64111..2c607ae692592865ede56cc099cd7f758ced90e5 100644 --- a/Test Purposes/App/Mm1/AppPackageMgmt/AppPkgMgt2_BO-BI.tplan2 +++ b/Test Purposes/App/Mm1/AppPackageMgmt/AppPkgMgt2_BO-BI.tplan2 @@ -73,7 +73,7 @@ Package MEC010_2_MEO_MM1_PKGM_BO_BI { Expected behaviour ensure that { when { - the IUT entity receives a vPOST containing + the IUT entity receives a POST containing uri indicating value "/apmi/v1/app_packages", "not" authorization, //Token is mandatory body containing diff --git a/Test Purposes/App/Mp1/Rnis/RnisAllSubscriptions_BO_BI.tplan2 b/Test Purposes/App/Mp1/Rnis/RnisAllSubscriptions_BO_BI.tplan2 index c56b618351529756c02e51f058dc0c008c3f2b10..9b511458018141a2e64a0f58ab7cab64ee35542b 100644 --- a/Test Purposes/App/Mp1/Rnis/RnisAllSubscriptions_BO_BI.tplan2 +++ b/Test Purposes/App/Mp1/Rnis/RnisAllSubscriptions_BO_BI.tplan2 @@ -75,7 +75,7 @@ Package MEC012_APP_MP1_RNI_SUBS_BO_BI { Expected behaviour ensure that { when { - the IUT entity receives a vGET containing + the IUT entity receives a GET containing uri indicating value "/rni/v1/subscriptions", query_parameters containing subscriptionHref indicating value SUBSCRIPTION_HREF_VALUE, @@ -114,7 +114,7 @@ Package MEC012_APP_MP1_RNI_SUBS_BO_BI { Expected behaviour ensure that { when { - the IUT entity receives a vGET containing + the IUT entity receives a GET containing uri indicating value "/rni/v1/subscriptions", headers set to vHeadersInvalidToken, // Invalid token query_parameters containing diff --git a/Test Purposes/App/Mp1/Rnis/RnisRabQuery_BO_BI.tplan2 b/Test Purposes/App/Mp1/Rnis/RnisRabQuery_BO_BI.tplan2 index 8915adc4d5279242e3d03e6e3dcb7b7de36be3d2..10def0899ae61c9bb6e20e1531c466eb62645863 100644 --- a/Test Purposes/App/Mp1/Rnis/RnisRabQuery_BO_BI.tplan2 +++ b/Test Purposes/App/Mp1/Rnis/RnisRabQuery_BO_BI.tplan2 @@ -75,7 +75,7 @@ Package MEC012_APP_MP1_RNI_QUERY_BO_BI { Expected behaviour ensure that { when { - the IUT entity receives a vGET containing + the IUT entity receives a GET containing uri indicating value "/rni/v1/queries/rab_info", "not" authorization, query_parameters containing @@ -113,7 +113,7 @@ Package MEC012_APP_MP1_RNI_QUERY_BO_BI { Expected behaviour ensure that { when { - the IUT entity receives a vGET containing + the IUT entity receives a GET containing uri indicating value "/rni/v1/queries/rab_info", headers set to vHeadersInvalidToken, query_parameters containing diff --git a/Test Purposes/App/Mp1/Rnis/RnisSpecificSubscription_BO_BI.tplan2 b/Test Purposes/App/Mp1/Rnis/RnisSpecificSubscription_BO_BI.tplan2 index bd13d0af73155b3dcd8e4afacc9d27f1acf8ac9e..f4f8268f4de8ffb0cd9dc5281c86da92ab50df0c 100644 --- a/Test Purposes/App/Mp1/Rnis/RnisSpecificSubscription_BO_BI.tplan2 +++ b/Test Purposes/App/Mp1/Rnis/RnisSpecificSubscription_BO_BI.tplan2 @@ -42,7 +42,7 @@ Package MEC012_APP_MP1_RNI_SUB_BO_BI { Expected behaviour ensure that { when { - the IUT entity receives a vGET containing + the IUT entity receives a GET containing uri indicating value "/rni/v1/subscriptions/{SUBSCRIPTION_ID}", "not" authorization ; from the MEC_SUB entity @@ -81,7 +81,7 @@ Package MEC012_APP_MP1_RNI_SUB_BO_BI { Expected behaviour ensure that { when { - the IUT entity receives a vGET containing + the IUT entity receives a GET containing uri indicating value "/rni/v1/subscriptions/{SUBSCRIPTION_ID}", headers set to vHeadersInvalidToken ; from the MEC_SUB entity diff --git a/Test Purposes/Plat/Mp1/AppSAQ/PlatAppServices.tplan2 b/Test Purposes/Plat/Mp1/AppSAQ/PlatAppServices.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..5b72f13ce2ba354d727c52df7cff3434776cc741 --- /dev/null +++ b/Test Purposes/Plat/Mp1/AppSAQ/PlatAppServices.tplan2 @@ -0,0 +1,773 @@ +/* +Copyright (c) ETSI 2018. + +This software is subject to copyrights owned by ETSI. Non-exclusive permission +is hereby granted, free of charge, to copy, reproduce and amend this file +under the following conditions: It is provided "as is", without warranty of any +kind, expressed or implied. + +ETSI shall never be liable for any claim, damages, or other liability arising +from its use or inability of use.This permission does not apply to any documentation +associated with this file for which ETSI keeps all rights reserved. The present +copyright notice shall be included in all copies of whole or part of this +file and shall not imply any sub-license right. +*/ + +Package plat_app_services { + + import all from MEC_Common; + + + /* + * Application Service Availability Query (APPSAQ) + */ + Test Purpose { + TP Id "TP_MEC_PLAT_APPSAQ_001_OK" + + Test objective + "Check that the IUT responds with a list of available MEC services + for a given application instance when queried by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.15.3.1", + "https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/blob/master/Mp1.yaml#/definitions/ServiceInfo" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; + } + + // MEC 011, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/mec_service_mgmt/v1/applications/{APP_INSTANCE_ID}/services" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.15.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "200 OK" + body containing + ServiceInfoList containing + ServiceInfo set to any_value + ; + ; + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_APPSAQ_002_OK" + + Test objective + "Check that the IUT notifies the authorised relevant (subscribed) application + instances when a new service for a given application instance is registered" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.15.3.4", + "https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/blob/master/Mp1.yaml#/definitions/ServiceInfo" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES and PIC_NOTIFICATIONS + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the MEC_APP_Registrant entity being_in idle_state and + the MEC_APP_Subscriber entity subscribed_to the MP1_SUBSCRIPTION_A + } + + // MEC 011, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + Uri indicating value "/mec_service_mgmt/v1/applications/{APP_INSTANCE_ID}/services", + body containing + serName indicating value SERVICE_NAME + ; + ; + from the MEC_APP_Registrant entity + } + then { + // MEC 011, clause 7.15.3.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "201 Created", + Location set to LOCATION, + body containing + ServiceInfo containing + serName set to SERVICE_NAME + ; + ; + ; + to the MEC_APP_Registrant entity + and + // MEC 011, clause 6.4.2 + the IUT entity sends a notification_message containing + body containing + notificationType set to "SerAvailabilityNotification", + services containing + serName set to SERVICE_NAME + _links containing + subscription set to MP1_SUBSCRIPTION_A + ; + ; + ; + ; + to the MEC_APP_Subscriber entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_APPSAQ_003_OK" + + Test objective + "Check that the IUT responds with the information on a specific service + for a given application instance when queried by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.14.3.1", + "https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/blob/master/Mp1.yaml#/definitions/ServiceInfo" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity having a services_running containing + service_id indicating value SERVICE_ID + ; + } + + // MEC 011, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/mec_service_mgmt/v1/applications/{APP_INSTANCE_ID}/services/{SERVICE_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.14.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "200 OK" + body containing + ServiceInfo containing + serInstanceId set to SERVICE_ID + ; + ; + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_APPSAQ_004_OK" + + Test objective + "Check that the IUT updates a service information for a given + application instance when commanded by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.14.3.2", + "https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/blob/master/Mp1.yaml#/definitions/ServiceInfo" + + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity having a services_running containing + service_id indicating value SERVICE_ID + ; + } + + // MEC 011, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "/mec_service_mgmt/v1/applications/{APP_INSTANCE_ID}/services/{SERVICE_ID}", + If_Match indicating value PROPER_ETAG, + body containing + version indicating value NEW_VERSION + ; + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.14.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "200 OK" + body containing + ServiceInfo containing + version set to NEW_VERSION + ; + ; + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_APPSAQ_001_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.15.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; + } + + // MEC 011, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/mec_service_mgmt/v1/applications/{APP_INSTANCE_ID}/services" + query_parameters containing + // Wrong parameter name should trigger an error response. + instance_id indicating value any_value + ; + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.15.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_APPSAQ_002_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.15.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; + } + + // MEC 011, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "/mec_service_mgmt/v1/applications/{APP_INSTANCE_ID}/services" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.15.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_APPSAQ_003_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an URI that cannot be mapped to a valid resource URI + is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.15.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity "not" having a apps_instance containing + instance_id indicating value NON_EXISTENT_APP_INSTANCE_ID + ; + } + + // MEC 011, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/mec_service_mgmt/v1/applications/{NON_EXISTENT_APP_INSTANCE_ID}/services" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.15.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_APPSAQ_004_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.15.3.4" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES and PIC_NOTIFICATIONS + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the MEC_APP_Registrant entity being_in idle_state and + the MEC_APP_Subscriber entity subscribed_to the MP1_SUBSCRIPTION_A + } + + // MEC 011, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + Uri indicating value "/mec_service_mgmt/v1/applications/{APP_INSTANCE_ID}/services", + body containing + // Wrong parameter name should trigger an error response. + Name indicating value SERVICE_NAME + ; + ; + from the MEC_APP_Registrant entity + } + then { + // MEC 011, clause 7.15.3.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP_Registrant entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_APPSAQ_005_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.15.3.4" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES and PIC_NOTIFICATIONS + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the MEC_APP_Registrant entity being_in idle_state and + the MEC_APP_Subscriber entity subscribed_to the MP1_SUBSCRIPTION_A + } + + // MEC 011, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + Uri indicating value "/mec_service_mgmt/v1/applications/{APP_INSTANCE_ID}/services", + body containing + serName indicating value SERVICE_NAME + ; + ; + from the MEC_APP_Registrant entity + } + then { + // MEC 011, clause 7.15.3.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP_Registrant entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_APPSAQ_006_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.15.3.4" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES and PIC_NOTIFICATIONS + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity "not" having a apps_instance containing + instance_id indicating value NON_EXISTENT_APP_INSTANCE_ID + ; and + the MEC_APP_Registrant entity being_in idle_state and + the MEC_APP_Subscriber entity subscribed_to the MP1_SUBSCRIPTION_A + } + + // MEC 011, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + Uri indicating value "/mec_service_mgmt/v1/applications/{NON_EXISTENT_APP_INSTANCE_ID}/services", + body containing + serName indicating value SERVICE_NAME + ; + ; + from the MEC_APP_Registrant entity + } + then { + // MEC 011, clause 7.15.3.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP_Registrant entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_APPSAQ_007_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.14.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity having a services_running containing + service_id indicating value SERVICE_ID + ; + } + + // MEC 011, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "/mec_service_mgmt/v1/applications/{APP_INSTANCE_ID}/services/{SERVICE_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.14.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_APPSAQ_008_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.14.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity "not" having a services_running containing + service_id indicating value NON_EXISTENT_SERVICE_ID + ; + } + + // MEC 011, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/mec_service_mgmt/v1/applications/{APP_INSTANCE_ID}/services/{NON_EXISTENT_SERVICE_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.14.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_APPSAQ_009_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.14.3.2" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity having a services_running containing + service_id indicating value SERVICE_ID + ; + } + + // MEC 011, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "/mec_service_mgmt/v1/applications/{APP_INSTANCE_ID}/services/{SERVICE_ID}", + If_Match indicating value PROPER_ETAG, + body containing + // Wrong parameter name should trigger an error response. + a_version indicating value NEW_VERSION + ; + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.14.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_APPSAQ_010_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.14.3.2" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity having a services_running containing + service_id indicating value SERVICE_ID + ; + } + + // MEC 011, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a PUT containing + Uri indicating value "/mec_service_mgmt/v1/applications/{APP_INSTANCE_ID}/services/{SERVICE_ID}", + If_Match indicating value PROPER_ETAG, + body containing + version indicating value NEW_VERSION + ; + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.14.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_APPSAQ_011_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.14.3.2" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity "not" having a services_running containing + service_id indicating value NON_EXISTENT_SERVICE_ID + ; + } + + // MEC 011, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "/mec_service_mgmt/v1/applications/{APP_INSTANCE_ID}/services/{NON_EXISTENT_SERVICE_ID}", + If_Match indicating value PROPER_ETAG, + body containing + version indicating value NEW_VERSION + ; + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.14.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_APPSAQ_012_PF" + + Test objective + "Check that the IUT responds with an error when + a request sent by a MEC Application doesn't comply with a required condition" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.14.3.2" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity having a services_running containing + service_id indicating value SERVICE_ID + ; + } + + // MEC 011, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "/mec_service_mgmt/v1/applications/{APP_INSTANCE_ID}/services/{SERVICE_ID}", + If_Match indicating value INVALID_ETAG, + body containing + version indicating value NEW_VERSION + ; + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.14.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "412 Precondition Failed" + ; + to the MEC_APP entity + } + } + } +} diff --git a/Test Purposes/Plat/Mp1/Bandwidth/PlatBandwidthManager.tplan2 b/Test Purposes/Plat/Mp1/Bandwidth/PlatBandwidthManager.tplan2 index a78b4f834847723ca44612f9691e31c236930174..dfe235a89c4b70d8b3471a489ef7f0024cd988ce 100644 --- a/Test Purposes/Plat/Mp1/Bandwidth/PlatBandwidthManager.tplan2 +++ b/Test Purposes/Plat/Mp1/Bandwidth/PlatBandwidthManager.tplan2 @@ -13,7 +13,7 @@ copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. */ -Package plat_mp1_bandwidth_manager { +Package plat_bandwidth_manager { import all from MEC_Common; @@ -23,7 +23,7 @@ Package plat_mp1_bandwidth_manager { */ Test Purpose { - TP Id "TP_MEC_PLAT_MP1_BWA_BV_001" + TP Id "TP_MEC_PLAT_BWA_001_OK" Test objective "Check that the IUT responds with the list of configured bandwidth allocations @@ -57,7 +57,7 @@ Package plat_mp1_bandwidth_manager { } then { // MEC 015, clause 8.4.3.1 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing bwInfo containing @@ -72,7 +72,7 @@ Package plat_mp1_bandwidth_manager { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_BWA_BV_002" + TP Id "TP_MEC_PLAT_BWA_002_OK" Test objective "Check that the IUT responds with a registration and initialisation approval @@ -108,7 +108,7 @@ Package plat_mp1_bandwidth_manager { } then { // MEC 015, clause 8.4.3.4 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK", Location set to LOCATION, body containing @@ -126,7 +126,7 @@ Package plat_mp1_bandwidth_manager { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_BWA_BV_003" + TP Id "TP_MEC_PLAT_BWA_003_OK" Test objective "Check that the IUT responds with the configured bandwidth allocation @@ -160,7 +160,7 @@ Package plat_mp1_bandwidth_manager { } then { // MEC 015, clause 8.4.3.1 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing bwInfo containing @@ -175,7 +175,7 @@ Package plat_mp1_bandwidth_manager { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_BWA_BV_004" + TP Id "TP_MEC_PLAT_BWA_004_OK" Test objective "Check that the IUT updates the requested bandwidth requirements @@ -203,7 +203,8 @@ Package plat_mp1_bandwidth_manager { ensure that { when { the IUT entity receives a vPUT containing - Uri indicating value "bwm/v1/bw_allocations/{ALLOCATION_ID}" + Uri indicating value "bwm/v1/bw_allocations/{ALLOCATION_ID}", + If_Match indicating value PROPER_ETAG, body containing appInsId indicating value APP_INSTANCE_ID, fixedAllocation indicating value SOME_ALLOCATION, @@ -214,7 +215,7 @@ Package plat_mp1_bandwidth_manager { } then { // MEC 015, clause 8.3.3.2 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing bwInfo containing @@ -231,7 +232,7 @@ Package plat_mp1_bandwidth_manager { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_BWA_BV_005" + TP Id "TP_MEC_PLAT_BWA_005_OK" Test objective "Check that the IUT when provided with just the changes (deltas) @@ -239,7 +240,7 @@ Package plat_mp1_bandwidth_manager { when commanded by a MEC Application" Reference "ETSI GS MEC 015 V1.1.1, clause 8.3.3.3", - "https://forge.etsi.org/gitlab/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml#/definitions/BwInfo" + "https://forge.etsi.org/gitlab/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml#/definitions/BwInfoDeltas" Config Id Config_MEC_1 @@ -260,7 +261,8 @@ Package plat_mp1_bandwidth_manager { ensure that { when { the IUT entity receives a vPATCH containing - Uri indicating value "bwm/v1/bw_allocations/{ALLOCATION_ID}" + Uri indicating value "bwm/v1/bw_allocations/{ALLOCATION_ID}", + If_Match indicating value PROPER_ETAG, body containing appInsId indicating value APP_INSTANCE_ID, fixedAllocation indicating value SOME_ALLOCATION, @@ -271,7 +273,7 @@ Package plat_mp1_bandwidth_manager { } then { // MEC 015, clause 8.3.3.3 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing bwInfo containing @@ -288,7 +290,7 @@ Package plat_mp1_bandwidth_manager { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_BWA_BV_006" + TP Id "TP_MEC_PLAT_BWA_006_OK" Test objective "Check that the IUT unregisters from the Bandwidth Management Service @@ -318,7 +320,7 @@ Package plat_mp1_bandwidth_manager { } then { // MEC 015, clause 8.3.3.5 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "204 No Content" ; to the MEC_APP entity @@ -326,4 +328,749 @@ Package plat_mp1_bandwidth_manager { } } + + Test Purpose { + TP Id "TP_MEC_PLAT_BWA_001_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 015 V1.1.1, clause 8.4.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a bwInfo containing + appInsId indicating value APP_INSTANCE_ID + ; + } + + // MEC 015, clause 6.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "bwm/v1/bw_allocations", + query_parameters containing + // Wrong parameter name should trigger an error response. + app_id indicating value APP_INSTANCE_ID + ; + ; + from the MEC_APP entity + } + then { + // MEC 015, clause 8.4.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_BWA_002_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 015 V1.1.1, clause 8.4.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a bwInfo containing + appInsId indicating value APP_INSTANCE_ID + ; + } + + // MEC 015, clause 6.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "bwm/v1/bw_allocations", + query_parameters containing + app_instance_id indicating value APP_INSTANCE_ID + ; + ; + from the MEC_APP entity + } + then { + // MEC 015, clause 8.4.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_BWA_003_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 015 V1.1.1, clause 8.4.3.4", + "https://forge.etsi.org/gitlab/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml#/definitions/BwInfo" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + appInsId indicating value APP_INSTANCE_ID + ; + } + + // MEC 015, clause 6.2.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + Uri indicating value "bwm/v1/bw_allocations", + body containing + appInsId indicating value APP_INSTANCE_ID, + fixedAllocation indicating value SOME_ALLOCATION, + requestType indicating value INVALID_BW_ALLOCATION + ; + ; + from the MEC_APP entity + } + then { + // MEC 015, clause 8.4.3.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_BWA_004_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 015 V1.1.1, clause 8.4.3.4", + "https://forge.etsi.org/gitlab/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml#/definitions/BwInfo" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + appInsId indicating value APP_INSTANCE_ID + ; + } + + // MEC 015, clause 6.2.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + Uri indicating value "bwm/v1/bw_allocations", + body containing + appInsId indicating value APP_INSTANCE_ID, + fixedAllocation indicating value SOME_ALLOCATION, + requestType indicating value SOME_TYPE + ; + ; + from the MEC_APP entity + } + then { + // MEC 015, clause 8.4.3.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_BWA_005_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 015 V1.1.1, clause 8.3.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + appInsId indicating value APP_INSTANCE_ID + ; and + the MEC_APP entity having a allocation_instance containing + allocationId indicating value ALLOCATION_ID + ; + } + + // MEC 015, clause 6.2.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "bwm/v1/bw_allocations/{ALLOCATION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 015, clause 8.4.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_BWA_006_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 015 V1.1.1, clause 8.3.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + appInsId indicating value APP_INSTANCE_ID + ; and + the MEC_APP entity "not" having a allocation_instance containing + allocationId indicating value NON_EXISTENT_ALLOCATION_ID + ; + } + + // MEC 015, clause 6.2.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "bwm/v1/bw_allocations/{NON_EXISTENT_ALLOCATION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 015, clause 8.4.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_BWA_007_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 015 V1.1.1, clause 8.3.3.2", + "https://forge.etsi.org/gitlab/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml#/definitions/BwInfo" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + appInsId indicating value APP_INSTANCE_ID + ; and + the MEC_APP entity having a allocation_instance containing + allocationId indicating value ALLOCATION_ID + ; + } + + // MEC 015, clause 6.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "bwm/v1/bw_allocations/{ALLOCATION_ID}", + If_Match indicating value PROPER_ETAG, + body containing + appInsId indicating value APP_INSTANCE_ID, + fixedAllocation indicating value SOME_ALLOCATION, + allocationDirection indicating value INVALID_DIRECTION + ; + ; + from the MEC_APP entity + } + then { + // MEC 015, clause 8.3.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_BWA_008_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 015 V1.1.1, clause 8.3.3.2", + "https://forge.etsi.org/gitlab/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml#/definitions/BwInfo" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + appInsId indicating value APP_INSTANCE_ID + ; and + the MEC_APP entity having a allocation_instance containing + allocationId indicating value ALLOCATION_ID + ; + } + + // MEC 015, clause 6.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a PUT containing + Uri indicating value "bwm/v1/bw_allocations/{ALLOCATION_ID}", + If_Match indicating value PROPER_ETAG, + body containing + appInsId indicating value APP_INSTANCE_ID, + fixedAllocation indicating value SOME_ALLOCATION, + allocationDirection indicating value INVALID_DIRECTION + ; + ; + from the MEC_APP entity + } + then { + // MEC 015, clause 8.3.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_BWA_009_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 015 V1.1.1, clause 8.3.3.2", + "https://forge.etsi.org/gitlab/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml#/definitions/BwInfo" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + appInsId indicating value APP_INSTANCE_ID + ; and + the MEC_APP entity "not" having a allocation_instance containing + allocationId indicating value NON_EXISTENT_ALLOCATION_ID + ; + } + + // MEC 015, clause 6.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "bwm/v1/bw_allocations/{NON_EXISTENT_ALLOCATION_ID}", + If_Match indicating value PROPER_ETAG, + body containing + appInsId indicating value APP_INSTANCE_ID, + fixedAllocation indicating value SOME_ALLOCATION, + allocationDirection indicating value SOME_DIRECTION + ; + ; + from the MEC_APP entity + } + then { + // MEC 015, clause 8.3.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_BWA_010_PF" + + Test objective + "Check that the IUT responds with an error when + a request sent by a MEC Application doesn't comply with a required condition" + + Reference "ETSI GS MEC 015 V1.1.1, clause 8.3.3.2", + "https://forge.etsi.org/gitlab/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml#/definitions/BwInfo" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + appInsId indicating value APP_INSTANCE_ID + ; and + the MEC_APP entity having a allocation_instance containing + allocationId indicating value ALLOCATION_ID + ; + } + + // MEC 015, clause 6.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "bwm/v1/bw_allocations/{ALLOCATION_ID}", + If_Match indicating value INVALID_ETAG, + body containing + appInsId indicating value APP_INSTANCE_ID, + fixedAllocation indicating value SOME_ALLOCATION, + allocationDirection indicating value SOME_DIRECTION + ; + ; + from the MEC_APP entity + } + then { + // MEC 015, clause 8.3.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "412 Precondition Failed" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_BWA_011_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 015 V1.1.1, clause 8.3.3.3", + "https://forge.etsi.org/gitlab/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml#/definitions/BwInfoDeltas" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + appInsId indicating value APP_INSTANCE_ID + ; and + the MEC_APP entity having a allocation_instance containing + allocationId indicating value ALLOCATION_ID + ; + } + + // MEC 015, clause 6.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPATCH containing + Uri indicating value "bwm/v1/bw_allocations/{ALLOCATION_ID}", + If_Match indicating value PROPER_ETAG, + body containing + appInsId indicating value APP_INSTANCE_ID, + requestType indicating value INVALID_TYPE, + fixedAllocation indicating value SOME_ALLOCATION, + allocationDirection indicating value SOME_DIRECTION + ; + ; + from the MEC_APP entity + } + then { + // MEC 015, clause 8.3.3.3 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_BWA_012_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 015 V1.1.1, clause 8.3.3.3", + "https://forge.etsi.org/gitlab/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml#/definitions/BwInfoDeltas" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + appInsId indicating value APP_INSTANCE_ID + ; and + the MEC_APP entity having a allocation_instance containing + allocationId indicating value ALLOCATION_ID + ; + } + + // MEC 015, clause 6.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a PATCH containing + Uri indicating value "bwm/v1/bw_allocations/{ALLOCATION_ID}", + If_Match indicating value PROPER_ETAG, + body containing + appInsId indicating value APP_INSTANCE_ID, + fixedAllocation indicating value SOME_ALLOCATION, + allocationDirection indicating value SOME_DIRECTION + ; + ; + from the MEC_APP entity + } + then { + // MEC 015, clause 8.3.3.3 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_BWA_013_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 015 V1.1.1, clause 8.3.3.3", + "https://forge.etsi.org/gitlab/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml#/definitions/BwInfoDeltas" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + appInsId indicating value APP_INSTANCE_ID + ; and + the MEC_APP entity "not" having a allocation_instance containing + allocationId indicating value NON_EXISTENT_ALLOCATION_ID + ; + } + + // MEC 015, clause 6.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPATCH containing + Uri indicating value "bwm/v1/bw_allocations/{NON_EXISTENT_ALLOCATION_ID}", + If_Match indicating value PROPER_ETAG, + body containing + appInsId indicating value APP_INSTANCE_ID, + fixedAllocation indicating value SOME_ALLOCATION, + allocationDirection indicating value SOME_DIRECTION + ; + ; + from the MEC_APP entity + } + then { + // MEC 015, clause 8.3.3.3 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_BWA_014_PF" + + Test objective + "Check that the IUT responds with an error when + a request sent by a MEC Application doesn't comply with a required condition" + + Reference "ETSI GS MEC 015 V1.1.1, clause 8.3.3.3", + "https://forge.etsi.org/gitlab/mec/gs015-bandwith-mgmt-api/blob/master/BwManagementApi.yaml#/definitions/BwInfoDeltas" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + appInsId indicating value APP_INSTANCE_ID + ; and + the MEC_APP entity having a allocation_instance containing + allocationId indicating value ALLOCATION_ID + ; + } + + // MEC 015, clause 6.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPATCH containing + Uri indicating value "bwm/v1/bw_allocations/{ALLOCATION_ID}", + If_Match indicating value INVALID_ETAG, + body containing + appInsId indicating value APP_INSTANCE_ID, + fixedAllocation indicating value SOME_ALLOCATION, + allocationDirection indicating value SOME_DIRECTION + ; + ; + from the MEC_APP entity + } + then { + // MEC 015, clause 8.3.3.3 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "412 Precondition Failed" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_BWA_015_OK" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 015 V1.1.1, clause 8.3.3.5" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a allocation_instance containing + allocationId indicating value ALLOCATION_ID + ; + } + + // MEC 015, clause 6.2.3 + Expected behaviour + ensure that { + when { + the IUT entity receives a DELETE containing + Uri indicating value "bwm/v1/bw_allocations/{ALLOCATION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 015, clause 8.3.3.5 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_BWA_016_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 015 V1.1.1, clause 8.3.3.5" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity "not" having a allocation_instance containing + allocationId indicating value NON_EXISTENT_ALLOCATION_ID + ; + } + + // MEC 015, clause 6.2.3 + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + Uri indicating value "bwm/v1/bw_allocations/{NON_EXISTENT_ALLOCATION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 015, clause 8.3.3.5 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } } diff --git a/Test Purposes/Plat/Mp1/DnsRules/PlatDnsRules.tplan2 b/Test Purposes/Plat/Mp1/DnsRules/PlatDnsRules.tplan2 index 605dee247329be83d2dd1680913d723e5e7a5f4f..274b43c302c117ddb65ea5956199b7ff78d9f262 100644 --- a/Test Purposes/Plat/Mp1/DnsRules/PlatDnsRules.tplan2 +++ b/Test Purposes/Plat/Mp1/DnsRules/PlatDnsRules.tplan2 @@ -13,7 +13,7 @@ copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. */ -Package plat_mp1_dns_rules { +Package plat_dns_rules { import all from MEC_Common; @@ -22,7 +22,7 @@ Package plat_mp1_dns_rules { * DNS rules (DNS) */ Test Purpose { - TP Id "TP_MEC_PLAT_MP1_DNS_BV_001" + TP Id "TP_MEC_PLAT_DNS_001_OK" Test objective "Check that the IUT responds with a list of active DNS rules @@ -47,13 +47,13 @@ Package plat_mp1_dns_rules { ensure that { when { the IUT entity receives a vGET containing - Uri indicating value "mp1/v1/applications/{APP_INSTANCE_ID}/dns_rules" + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/dns_rules" ; from the MEC_APP entity } then { // MEC 011, clause 7.12.3.1 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing DnsRuleList containing @@ -68,7 +68,7 @@ Package plat_mp1_dns_rules { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_DNS_BV_002" + TP Id "TP_MEC_PLAT_DNS_002_OK" Test objective "Check that the IUT responds with the information on a specific DNS rule @@ -96,19 +96,17 @@ Package plat_mp1_dns_rules { ensure that { when { the IUT entity receives a vGET containing - Uri indicating value "mp1/v1/applications/{APP_INSTANCE_ID}/dns_rules/{DNS_RULE_ID}" + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/dns_rules/{DNS_RULE_ID}" ; from the MEC_APP entity } then { // MEC 011, clause 7.13.3.1 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing - DnsRuleList containing - DnsRule containing - dnsRuleId set to DNS_RULE_ID - ; + DnsRule containing + dnsRuleId set to DNS_RULE_ID ; ; ; @@ -119,7 +117,7 @@ Package plat_mp1_dns_rules { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_DNS_BV_003" + TP Id "TP_MEC_PLAT_DNS_003_OK" Test objective "Check that the IUT updates a specific DNS rule @@ -147,7 +145,8 @@ Package plat_mp1_dns_rules { ensure that { when { the IUT entity receives a vPUT containing - Uri indicating value "mp1/v1/applications/{APP_INSTANCE_ID}/dns_rules/{DNS_RULE_ID}" + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/dns_rules/{DNS_RULE_ID}", + If_Match indicating value PROPER_ETAG body containing dnsRuleId indicating value DNS_RULE_NAME, ipAddress indicating value SOME_IP_ADDRESS @@ -157,7 +156,7 @@ Package plat_mp1_dns_rules { } then { // MEC 011, clause 7.13.3.2 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing DnsRule containing @@ -173,15 +172,99 @@ Package plat_mp1_dns_rules { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_DNS_BI_001" + TP Id "TP_MEC_PLAT_DNS_001_BI" Test objective "Check that the IUT responds with an error when - non compliant data is sent for an update to a specific DNS rule - by a MEC Application" + an unauthorised request is sent by a MEC Application" - Reference "ETSI GS MEC 011 V2.0.4, clause 7.13.3.2", - "https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/blob/master/Mp1.yaml#/definitions/ProblemDetails" + Reference "ETSI GS MEC 011 V2.0.4, clause 7.13.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity having a dns_rules containing + rule_id indicating value DNS_RULE_ID + ; + } + + // MEC 011, clause 5.2.8 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/dns_rules/{DNS_RULE_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.13.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_DNS_002_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.13.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity "not" having a dns_rules containing + rule_id indicating value NON_EXISTENT_DNS_RULE_ID + ; + } + + // MEC 011, clause 5.2.8 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/dns_rules/{NON_EXISTENT_DNS_RULE_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.13.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_DNS_003_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.13.3.2" Config Id Config_MEC_1 @@ -202,9 +285,11 @@ Package plat_mp1_dns_rules { ensure that { when { the IUT entity receives a vPUT containing - Uri indicating value "mp1/v1/applications/{APP_INSTANCE_ID}/dns_rules/{DNS_RULE_ID}" + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/dns_rules/{DNS_RULE_ID}", + If_Match indicating value PROPER_ETAG body containing dnsRuleId indicating value DNS_RULE_NAME, + // Unknown parameter value should trigger an error response. state indicating value UNKNOWN_VALUE ; ; @@ -212,13 +297,8 @@ Package plat_mp1_dns_rules { } then { // MEC 011, clause 7.13.3.2 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "400 Bad Request" - body containing - ProblemDetails containing - detail set to any_value - ; - ; ; to the MEC_APP entity } @@ -227,14 +307,13 @@ Package plat_mp1_dns_rules { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_DNS_BI_002" + TP Id "TP_MEC_PLAT_DNS_004_BI" Test objective - "Check that the IUT responds with an error when queried by a MEC Application - which provides a non-existing DNS rule identifier" + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" - Reference "ETSI GS MEC 011 V2.0.4, clause 7.13.3.1", - "https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/blob/master/Mp1.yaml#/definitions/ProblemDetails" + Reference "ETSI GS MEC 011 V2.0.4, clause 7.13.3.2" Config Id Config_MEC_1 @@ -254,24 +333,119 @@ Package plat_mp1_dns_rules { Expected behaviour ensure that { when { - the IUT entity receives a vGET containing - Uri indicating value "mp1/v1/applications/{APP_INSTANCE_ID}/dns_rules/NON_EXISTING_DNS_RULE_ID" + the IUT entity receives a PUT containing + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/dns_rules/{DNS_RULE_ID}", + If_Match indicating value PROPER_ETAG + body containing + dnsRuleId indicating value DNS_RULE_NAME, + state indicating value STATE_VALUE + ; ; from the MEC_APP entity } then { - // MEC 011, clause 7.13.3.1 - the IUT entity sends a HttpMsg containing - status_code set to "404 Not Found" + // MEC 011, clause 7.13.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_DNS_005_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.13.3.2" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity "not" having a dns_rules containing + rule_id indicating value NON_EXISTENT_DNS_RULE_ID + ; + } + + // MEC 011, clause 5.2.8 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/dns_rules/{NON_EXISTENT_DNS_RULE_ID}", + If_Match indicating value PROPER_ETAG body containing - ProblemDetails containing - detail set to any_value - ; - ; + dnsRuleId indicating value DNS_RULE_NAME, + ipAddress indicating value SOME_IP_ADDRESS + ; + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.13.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" ; to the MEC_APP entity } } } + + Test Purpose { + TP Id "TP_MEC_PLAT_DNS_006_PF" + + Test objective + "Check that the IUT responds with an error when + a request sent by a MEC Application doesn't comply with a required condition" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.13.3.2" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity having a dns_rules containing + rule_id indicating value DNS_RULE_ID + ; + } + + // MEC 011, clause 5.2.8 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/dns_rules/{DNS_RULE_ID}", + If_Match indicating value INVALID_ETAG + body containing + dnsRuleId indicating value DNS_RULE_NAME, + ipAddress indicating value SOME_IP_ADDRESS + ; + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.13.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "412 Precondition Failed" + ; + to the MEC_APP entity + } + } + } } diff --git a/Test Purposes/Plat/Mp1/FAIS/PlatFixedAcessInfo.tplan2 b/Test Purposes/Plat/Mp1/FAIS/PlatFixedAcessInfo.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..9e9d5765d290edfbe5042acc865e2773613b5478 --- /dev/null +++ b/Test Purposes/Plat/Mp1/FAIS/PlatFixedAcessInfo.tplan2 @@ -0,0 +1,1901 @@ +/* +Copyright (c) ETSI 2018. + +This software is subject to copyrights owned by ETSI. Non-exclusive permission +is hereby granted, free of charge, to copy, reproduce and amend this file +under the following conditions: It is provided "as is", without warranty of any +kind, expressed or implied. + +ETSI shall never be liable for any claim, damages, or other liability arising +from its use or inability of use.This permission does not apply to any documentation +associated with this file for which ETSI keeps all rights reserved. The present +copyright notice shall be included in all copies of whole or part of this +file and shall not imply any sub-license right. +*/ + +Package plat_mp1_fixed_access_info{ + + import all from MEC_Common; + + + /* + * Fixed Access Information Service (FAIS) + */ + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_001_OK" + + Test objective + "Check that the IUT responds with the current status of the fixed access information + when queried by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.3.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/queries/fa_info" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.3.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "200 OK" + body containing + FaInfo set to any_value + ; + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_002_OK" + + Test objective + "Check that the IUT responds with the current status of the device information + when queried by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.4.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.3 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/queries/device_info" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.4.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "200 OK" + body containing + DeviceInfo set to any_value + ; + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_003_OK" + + Test objective + "Check that the IUT responds with the current status of the cable line information + when queried by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.5.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/queries/cable_line_info" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.5.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "200 OK" + body containing + CableLineInfo set to any_value + ; + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_004_OK" + + Test objective + "Check that the IUT responds with the current status of the optical network information + when queried by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.6.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/queries/optical_network_info" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.6.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "200 OK" + body containing + PonInfo set to any_value + ; + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_005_OK" + + Test objective + "Check that the IUT responds with the subscriptions for fixed access information notifications + when queried by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.7.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.6.1 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/subscriptions" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.7.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "200 OK" + body containing + SubscriptionLinkList set to any_value + ; + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_006_OK" + + Test objective + "Check that the IUT acknowledges the subscription by a MEC Application + to notifications on Optical Network Unit alarm events" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.7.3.4" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.6.1 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + Uri indicating value "fai/v1/subscriptions" + body containing + OnuAlarmSubscription containing + subscriptionType indicating value "OnuAlarmSubscription", + callbackReference indicating value CALLBACK_URL + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.7.3.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "201 Created", + Location set to LOCATION, + body containing + OnuAlarmSubscription containing + subscriptionType set to "OnuAlarmSubscription" + ; + ; + ; + to the MEC_APP entity + and + // MEC 029, clause 7.7.3.4 + the IUT entity sends a vPOST containing + Uri indicating value CALLBACK_URL + body containing + OnuAlarmNotification containing + notificationType set to "OnuAlarmSubscription" + ; + ; + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_007_OK" + + Test objective + "Check that the IUT responds with the information on a given subscription + when queried by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscription_id indicating value SUBSCRIPTION_ID + ; + } + + // MEC 029, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.8.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "200 OK" + body containing + OnuAlarmSubscription containing + subscriptionType set to "OnuAlarmSubscription" + ; + ; + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_008_OK" + + Test objective + "Check that the IUT updates an existing subscription + when commanded by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.2" + + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscription_id indicating value SUBSCRIPTION_ID + ; + } + + // MEC 029, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "/fai/v1/subscriptions/{SUBSCRIPTION_ID}", + body containing + OnuAlarmSubscription containing + subscriptionType set to "OnuAlarmSubscription" + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.8.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "200 OK" + body containing + OnuAlarmSubscription containing + subscriptionType set to "OnuAlarmSubscription" + ; + ; + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_009_OK" + + Test objective + "Check that the IUT cancels an existing subscription + when commanded by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.5" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscription_id indicating value SUBSCRIPTION_ID + ; + } + + // MEC 029, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + Uri indicating value "/fai/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.8.3.5 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "204 No Content" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_010_OK" + + Test objective + "Check that the IUT sends notification on expiry of Fixed Access Information event subscription + to a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.7.3.4" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.6.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + Uri indicating value "fai/v1/subscriptions" + body containing + OnuAlarmSubscription containing + subscriptionType indicating value "DevInfoSubscription", + callbackReference indicating value CALLBACK_URL, + expiryDeadline indicating value NOW_PLUS_X_SECONDS // TODO: how to set this? + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.7.3.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "201 Created", + Location set to LOCATION, + body containing + DevInfoSubscription containing + subscriptionType set to "DevInfoSubscription" + ; + ; + ; + to the MEC_APP entity + + // TODO: how to wait for a timeout of (NOW_PLUS_X_SECONDS - guard time)? which guard time value to use? + and + // MEC 029, clause 5.2.6.2 + the IUT entity sends a vPOST containing + Uri indicating value CALLBACK_URL + body containing + ExpiryNotification containing + expiryDeadline indicating value NOW_PLUS_X_SECONDS // TODO: how to set this? + ; + ; + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_011_OK" + + Test objective + "Check that the IUT sends notifications on Fixed Access Information events + to a subscribed MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 5.2.7" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscriptionType indicating value "OnuAlarmSubscription", + callbackReference indicating value CALLBACK_URL + ; + } + + // MEC 029, clause 5.2.7 + Expected behaviour + ensure that { + when { + the IUT entity generates a onu_alarm_event + } + then { + // // MEC 029, clause 5.2.7 + the IUT entity sends a vPOST containing + Uri set to CALLBACK_URL + body containing + OnuAlarmSubscription containing + notificationType set to "OnuAlarmSubscription" + ; + ; + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_001_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.3.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/queries/fa_info" + query_parameters containing + // Wrong parameter name should trigger an error response. + interface indicating value any_value + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.3.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_002_BI" + + Test objective + "Check that the IUT responds with an error when + a non-authenticated request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.3.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a iGET containing + Uri indicating value "/fai/v1/queries/fa_info" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.3.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "401 Unauthorized" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_003_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.3.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "/fai/v1/queries/fa_info" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.3.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_004_NF" + + Test objective + "Check that the IUT responds with an error when + a request for non-existing data is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.3.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/queries/fa_info" + query_parameters containing + interfaceType indicating value 1 + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.3.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_005_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.4.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.3 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/queries/device_info" + query_parameters containing + // Wrong parameter name should trigger an error response. + device indicating value any_value + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.4.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_006_BI" + + Test objective + "Check that the IUT responds with an error when + a non-authenticated request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.4.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.3 + Expected behaviour + ensure that { + when { + the IUT entity receives a iGET containing + Uri indicating value "/fai/v1/queries/device_info" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.4.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "401 Unauthorized" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_007_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.4.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.3 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "/fai/v1/queries/device_info" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.4.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_008_NF" + + Test objective + "Check that the IUT responds with an error when + a request for non-existing data is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.4.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.3 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/queries/device_info" + query_parameters containing + gwId indicating value UNKNOWN_VALUE + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.4.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_009_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.5.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/queries/cable_line_info" + query_parameters containing + // Wrong parameter name should trigger an error response. + cm indicating value any_value + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.5.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_010_BI" + + Test objective + "Check that the IUT responds with an error when + a non-authenticated request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.5.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a iGET containing + Uri indicating value "/fai/v1/queries/cable_line_info" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.5.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "401 Unauthorized" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_011_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.5.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "/fai/v1/queries/cable_line_info" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.5.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_012_NF" + + Test objective + "Check that the IUT responds with an error when + a request for non-existing data is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.5.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/queries/cable_line_info" + query_parameters containing + cmId indicating value UNKNOWN_VALUE + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.5.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_013_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.6.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/queries/optical_network_info" + query_parameters containing + // Wrong parameter name should trigger an error response. + onu indicating value any_value + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.6.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_014_BI" + + Test objective + "Check that the IUT responds with an error when + a non-authenticated request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.6.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a iGET containing + Uri indicating value "/fai/v1/queries/optical_network_info" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.6.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "401 Unauthorized" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_015_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.6.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "/fai/v1/queries/optical_network_info" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.6.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_016_NF" + + Test objective + "Check that the IUT responds with an error when + a request for non-existing data is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.6.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/queries/optical_network_info" + query_parameters containing + onuId indicating value UNKNOWN_VALUE + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.7.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_017_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.7.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.6.1 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/subscriptions" + query_parameters containing + // Wrong parameter name should trigger an error response. + subscription indicating value any_value + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.7.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_018_BI" + + Test objective + "Check that the IUT responds with an error when + a non-authenticated request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.7.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.6.1 + Expected behaviour + ensure that { + when { + the IUT entity receives a iGET containing + Uri indicating value "/fai/v1/subscriptions" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.7.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "401 Unauthorized" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_019_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.7.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.6.1 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "/fai/v1/subscriptions" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.7.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_020_NF" + + Test objective + "Check that the IUT responds with an error when + a request for non-existing data is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.7.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.6.1 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/subscriptions" + query_parameters containing + subscription_type indicating value UNKNOWN_VALUE + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.7.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_021_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.7.3.4" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.6.1 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + Uri indicating value "fai/v1/subscriptions" + body containing + OnuAlarmSubscription containing + // Unknown value should trigger an error response. + subscriptionType indicating value UNKNOWN_SUSCRIPTION, + callbackReference indicating value CALLBACK_URL + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.7.3.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_022_BI" + + Test objective + "Check that the IUT responds with an error when + a non-authenticated request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.7.3.4" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.6.1 + Expected behaviour + ensure that { + when { + the IUT entity receives a iPOST containing + Uri indicating value "fai/v1/subscriptions" + body containing + OnuAlarmSubscription containing + subscriptionType indicating value "OnuAlarmSubscription", + callbackReference indicating value CALLBACK_URL + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.7.3.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "401 Unauthorized" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_023_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.7.3.4" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 029, clause 5.2.6.1 + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + Uri indicating value "fai/v1/subscriptions" + body containing + OnuAlarmSubscription containing + subscriptionType indicating value "OnuAlarmSubscription", + callbackReference indicating value CALLBACK_URL + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.7.3.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_024_BI" + + Test objective + "Check that the IUT responds with an error when + a non-authenticated request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscription_id indicating value SUBSCRIPTION_ID + ; + } + + // MEC 029, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a iGET containing + Uri indicating value "/fai/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.8.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "401 Unauthorized" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_025_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscription_id indicating value SUBSCRIPTION_ID + ; + } + + // MEC 029, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "/fai/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.8.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_026_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscription_id indicating value NON_EXISTENT_SUBSCRIPTION_ID + ; + } + + // MEC 029, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "/fai/v1/subscriptions/{NON_EXISTENT_SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.8.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_027_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.2" + + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscription_id indicating value SUBSCRIPTION_ID + ; + } + + // MEC 029, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "/fai/v1/subscriptions/{SUBSCRIPTION_ID}", + body containing + OnuAlarmSubscription containing + // Wrong parameter name should trigger an error response. + subscription set to "OnuAlarmSubscription" + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.8.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_028_BI" + + Test objective + "Check that the IUT responds with an error when + a non-authenticated request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.2" + + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscription_id indicating value SUBSCRIPTION_ID + ; + } + + // MEC 029, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a iPUT containing + Uri indicating value "/fai/v1/subscriptions/{SUBSCRIPTION_ID}", + body containing + OnuAlarmSubscription containing + subscriptionType set to "OnuAlarmSubscription" + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.8.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "401 Unauthorized" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_029_BI" + + Test objective + "Check that the IUT responds with an error when + a non-authorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.2" + + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscription_id indicating value SUBSCRIPTION_ID + ; + } + + // MEC 029, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a PUT containing + Uri indicating value "/fai/v1/subscriptions/{SUBSCRIPTION_ID}", + body containing + OnuAlarmSubscription containing + subscriptionType set to "OnuAlarmSubscription" + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.8.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_030_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.2" + + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity "not" having a subscriptions containing + subscription_id indicating value NON_EXISTENT_SUBSCRIPTION_ID + ; + } + + // MEC 029, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "/fai/v1/subscriptions/{NON_EXISTENT_SUBSCRIPTION_ID}", + body containing + OnuAlarmSubscription containing + subscriptionType set to "OnuAlarmSubscription" + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.8.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_031_PF" + + Test objective + "Check that the IUT responds with an error when + a request sent by a MEC Application doesn't comply with a required condition" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.2" + + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscription_id indicating value SUBSCRIPTION_ID + ; + } + + // MEC 029, clause 5.2.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "/fai/v1/subscriptions/{SUBSCRIPTION_ID}", + If_Match indicating value INVALID_ETAG, + body containing + OnuAlarmSubscription containing + subscriptionType set to "OnuAlarmSubscription" + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.8.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "412 Precondition Failed" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_032_BI" + + Test objective + "Check that the IUT responds with an error when + a non-authenticated request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.5" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscription_id indicating value SUBSCRIPTION_ID + ; + } + + // MEC 029, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a iDELETE containing + Uri indicating value "/fai/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.8.3.5 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "401 Unauthorized" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_033_BI" + + Test objective + "Check that the IUT responds with an error when + a non-authenticated request is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.5" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscription_id indicating value SUBSCRIPTION_ID + ; + } + + // MEC 029, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a DELETE containing + Uri indicating value "/fai/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.8.3.5 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_FAIS_034_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 029 V2.0.7, clause 7.8.3.5" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity "not" having a subscriptions containing + subscription_id indicating value NON_EXISTENT_SUBSCRIPTION_ID + ; + } + + // MEC 029, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + Uri indicating value "/fai/v1/subscriptions/{NON_EXISTENT_SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 029, clause 7.8.3.5 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } +} diff --git a/Test Purposes/Plat/Mp1/Notifications/PlatNotifications.tplan2 b/Test Purposes/Plat/Mp1/Notifications/PlatNotifications.tplan2 index 14fd9bef717f7df625179497f32091221a935932..1ef75c001ada0c061fb8ba3c37672c88a13c9913 100644 --- a/Test Purposes/Plat/Mp1/Notifications/PlatNotifications.tplan2 +++ b/Test Purposes/Plat/Mp1/Notifications/PlatNotifications.tplan2 @@ -12,27 +12,27 @@ associated with this file for which ETSI keeps all rights reserved. The present copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. */ - -Package plat_mp1_notifications { - + +Package plat_notifications { + import all from MEC_Common; - + /* * Notifications (NTF) */ Test Purpose { - TP Id "TP_MEC_PLAT_MP1_NTF_BV_001" - - Test objective - "Check that the IUT responds with a list of subscriptions for notifications + TP Id "TP_MEC_PLAT_NTF_001_OK" + + Test objective + "Check that the IUT responds with a list of subscriptions for notifications on services availability when queried by a MEC Application" - + Reference "ETSI GS MEC 011 V2.0.4, clause 7.6.3.1", "https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/blob/master/Mp1.yaml#/definitions/Mp1SubscriptionLinkList" - + Config Id Config_MEC_1 - + PICS Selection PIC_MEC_PLAT and PIC_NOTIFICATIONS Initial conditions with { @@ -47,16 +47,16 @@ Package plat_mp1_notifications { ensure that { when { the IUT entity receives a vGET containing - Uri indicating value "mp1/v1/applications/{APP_INSTANCE_ID}/subscriptions" + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/subscriptions" ; from the MEC_APP entity } then { // MEC 011, clause 7.6.3.1 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing - Mp1SubscriptionLinkList set to any_value + SubscriptionLinkList set to any_value ; ; to the MEC_APP entity @@ -66,17 +66,17 @@ Package plat_mp1_notifications { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_NTF_BV_002" - - Test objective + TP Id "TP_MEC_PLAT_NTF_002_OK" + + Test objective "Check that the IUT acknowledges the subscription by a MEC Application to notifications on service availability events" - + Reference "ETSI GS MEC 011 V2.0.4, clause 7.6.3.4", "https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/blob/master/Mp1.yaml#/definitions/SerAvailabilityNotificationSubscription" - + Config Id Config_MEC_1 - + PICS Selection PIC_MEC_PLAT and PIC_SERVICES Initial conditions with { @@ -91,21 +91,23 @@ Package plat_mp1_notifications { ensure that { when { the IUT entity receives a vPOST containing - Uri indicating value "mp1/v1/applications/{APP_INSTANCE_ID}/subscriptions" + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/subscriptions" body containing - subscriptionType indicating value "SerAvailabilityNotificationSubscription", - callbackReference indicating value some_uri + AppTerminationNotificationSubscription containing + subscriptionType indicating value "SerAvailabilityNotificationSubscription", + callbackReference indicating value some_uri + ; ; ; from the MEC_APP entity } then { // MEC 011, clause 7.6.3.4 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "201 Created", Location set to LOCATION, body containing - SerAvailabilityNotificationSubscription containing + SerAvailabilityNotificationSubscription containing subscriptionType set to "SerAvailabilityNotificationSubscription", callbackReference set to some_uri ; @@ -118,17 +120,17 @@ Package plat_mp1_notifications { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_NTF_BV_003" - - Test objective - "Check that the IUT responds with the information on a specific subscription + TP Id "TP_MEC_PLAT_NTF_003_OK" + + Test objective + "Check that the IUT responds with the information on a specific subscription when queried by a MEC Application" - + Reference "ETSI GS MEC 011 V2.0.4, clause 7.5.3.1", "https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/blob/master/Mp1.yaml#/definitions/SerAvailabilityNotificationSubscription" - + Config Id Config_MEC_1 - + PICS Selection PIC_MEC_PLAT and PIC_NOTIFICATIONS Initial conditions with { @@ -146,16 +148,16 @@ Package plat_mp1_notifications { ensure that { when { the IUT entity receives a vGET containing - Uri indicating value "mp1/v1/applications/{APP_INSTANCE_ID}/subscriptions/{SUBSCRIPTION_ID}" + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/subscriptions/{SUBSCRIPTION_ID}" ; from the MEC_APP entity } then { // MEC 011, clause 7.5.3.1 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing - SerAvailabilityNotificationSubscription containing + SerAvailabilityNotificationSubscription containing subscriptionType set to "SerAvailabilityNotificationSubscription" ; ; @@ -167,16 +169,16 @@ Package plat_mp1_notifications { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_NTF_BV_004" - - Test objective + TP Id "TP_MEC_PLAT_NTF_004_OK" + + Test objective "Check that the IUT acknowledges the unsubscribe from service availability event notifications when commanded by a MEC Application" - + Reference "ETSI GS MEC 011 V2.0.4, clause 7.5.3.5" - + Config Id Config_MEC_1 - + PICS Selection PIC_MEC_PLAT and PIC_NOTIFICATIONS Initial conditions with { @@ -194,13 +196,13 @@ Package plat_mp1_notifications { ensure that { when { the IUT entity receives a vDELETE containing - Uri indicating value "mp1/v1/applications/{APP_INSTANCE_ID}/subscriptions/{SUBSCRIPTION_ID}" + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/subscriptions/{SUBSCRIPTION_ID}" ; from the MEC_APP entity } then { // MEC 011, clause 7.5.3.5 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "204 No Content" ; to the MEC_APP entity @@ -208,4 +210,346 @@ Package plat_mp1_notifications { } } + + Test Purpose { + TP Id "TP_MEC_PLAT_NTF_001_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.6.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_NOTIFICATIONS + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; + } + + // MEC 011, clause 5.2.6 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/subscriptions" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.6.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_PLAT_NTF_002_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.6.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_NOTIFICATIONS + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity "not" having a apps_instance containing + instance_id indicating value NON_EXISTENT_APP_INSTANCE_ID + ; + } + + // MEC 011, clause 5.2.6 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "mec_app_support/v1/applications/{NON_EXISTENT_APP_INSTANCE_ID}/subscriptions" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.6.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_NTF_003_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.6.3.4" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; + } + + // MEC 011, clause 5.2.6.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/subscriptions" + body containing + // Unknown value should trigger an error response. + subscriptionType indicating value INVALID_SUBSCRIPTION, + callbackReference indicating value some_uri + ; + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.6.3.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_NTF_004_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.6.3.4", + "https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/blob/master/Mp1.yaml#/definitions/SerAvailabilityNotificationSubscription" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; + } + + // MEC 011, clause 5.2.6.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/subscriptions" + body containing + subscriptionType indicating value "SerAvailabilityNotificationSubscription", + callbackReference indicating value some_uri + ; + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.6.3.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_NTF_005_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.5.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_NOTIFICATIONS + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity having a subscriptions containing + subscription_id indicating value SUBSCRIPTION_ID + ; + } + + // MEC 011, clause 5.2.6 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/subscriptions/{SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.5.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_NTF_006_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an URI that cannot be mapped to a valid resource URI + is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.5.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_NOTIFICATIONS + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity "not" having a subscriptions containing + subscription_id indicating value NON_EXISTENT_SUBSCRIPTION_ID + ; + } + + // MEC 011, clause 5.2.6 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/subscriptions/{NON_EXISTENT_SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.5.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_NTF_007_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.5.3.5" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_NOTIFICATIONS + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity having a subscriptions containing + subscription_id indicating value SUBSCRIPTION_ID + ; + } + + // MEC 011, clause 5.2.6 + Expected behaviour + ensure that { + when { + the IUT entity receives a DELETE containing + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/subscriptions/{SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.5.3.5 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_NTF_008_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an URI that cannot be mapped to a valid resource URI + is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.5.3.5" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_NOTIFICATIONS + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity "not" having a apps_instance containing + instance_id indicating value NON_EXISTENT_APP_INSTANCE_ID + ; and + the IUT entity having a subscriptions containing + subscription_id indicating value SUBSCRIPTION_ID + ; + } + + // MEC 011, clause 5.2.6 + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + Uri indicating value "mec_app_support/v1/applications/{NON_EXISTENT_APP_INSTANCE_ID}/subscriptions/{SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.5.3.5 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } } diff --git a/Test Purposes/Plat/Mp1/RadioNode/PlatRadioNodeLocation.tplan2 b/Test Purposes/Plat/Mp1/RadioNode/PlatRadioNodeLocation.tplan2 index 4739d6781f152d5f744dfeaf9ea8bdc0d5e78a0d..91db9e27790c3742a181f716babff452f630eaef 100644 --- a/Test Purposes/Plat/Mp1/RadioNode/PlatRadioNodeLocation.tplan2 +++ b/Test Purposes/Plat/Mp1/RadioNode/PlatRadioNodeLocation.tplan2 @@ -13,7 +13,7 @@ copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. */ -Package plat_mp1_radio_node_location_lookup { +Package plat_radio_node_location_lookup { import all from MEC_Common; @@ -23,7 +23,7 @@ Package plat_mp1_radio_node_location_lookup { */ Test Purpose { - TP Id "TP_MEC_PLAT_MP1_RLOC_BV_001" + TP Id "TP_MEC_PLAT_RLOC_001_OK" Test objective "Check that the IUT responds with the list of radio nodes currently associated with the MEC host and the location of each radio node @@ -56,7 +56,7 @@ Package plat_mp1_radio_node_location_lookup { } then { // MEC 013, clause 7.3.7 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing accessPointList containing diff --git a/Test Purposes/Plat/Mp1/SAQ/PlatServices.tplan2 b/Test Purposes/Plat/Mp1/SAQ/PlatServices.tplan2 index 59de2e1e494c9dd07011ddd85bec5532dc209256..49669cc6c0af880debff532b609b610d26c02799 100644 --- a/Test Purposes/Plat/Mp1/SAQ/PlatServices.tplan2 +++ b/Test Purposes/Plat/Mp1/SAQ/PlatServices.tplan2 @@ -13,7 +13,7 @@ copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. */ -Package plat_mp1_services { +Package plat_services { import all from MEC_Common; @@ -22,13 +22,13 @@ Package plat_mp1_services { * Service Availability Query (SAQ) */ Test Purpose { - TP Id "TP_MEC_PLAT_MP1_SAQ_BV_001" + TP Id "TP_MEC_PLAT_SAQ_001_OK" Test objective "Check that the IUT responds with a list of available MEC services when queried by a MEC Application" - Reference "ETSI GS MEC 011 V2.0.4, clause 7.4.3.1", + Reference "ETSI GS MEC 011 V2.0.8, clause 7.4.3.1", "https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/blob/master/Mp1.yaml#/definitions/ServiceInfo" Config Id Config_MEC_1 @@ -44,13 +44,13 @@ Package plat_mp1_services { ensure that { when { the IUT entity receives a vGET containing - Uri indicating value "/mp1/v1/services" + Uri indicating value"/mec_service_mgmt/v1/services" ; from the MEC_APP entity } then { // MEC 011, clause 7.4.3.1 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing ServiceInfoList containing @@ -65,87 +65,66 @@ Package plat_mp1_services { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_SAQ_BV_002" + TP Id "TP_MEC_PLAT_SAQ_003_OK" Test objective - "Check that the IUT notifies the authorised relevant application instances - when a new service is registered when they are subscribed" + "Check that the IUT responds with the information on a specific service + when queried by a MEC Application" - Reference "ETSI GS MEC 011 V2.0.4, clause 7.4.3.4", + Reference "ETSI GS MEC 011 V2.0.8, clause 7.3.3.1", "https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/blob/master/Mp1.yaml#/definitions/ServiceInfo" Config Id Config_MEC_1 - PICS Selection PIC_MEC_PLAT and PIC_SERVICES and PIC_NOTIFICATIONS + PICS Selection PIC_MEC_PLAT and PIC_SERVICES Initial conditions with { the IUT entity being_in idle_state and - the MEC_APP_Registrant entity being_in idle_state and - the MEC_APP_Subscriber entity subscribed_to the MP1_SUBSCRIPTION_A + the IUT entity having a services_running containing + service_id indicating value SERVICE_ID + ; } - // MEC 011, clause 5.2.4 + // MEC 011, clause 5.2.5 Expected behaviour ensure that { when { - the IUT entity receives a vPOST containing - Uri indicating value "/mp1/v1/services", - body containing - serName indicating value SERVICE_NAME - ; + the IUT entity receives a vGET containing + Uri indicating value"/mec_service_mgmt/v1/services/{SERVICE_ID}" ; - from the MEC_APP_Registrant entity + from the MEC_APP entity } then { - // MEC 011, clause 7.4.3.4 - the IUT entity sends a HttpMsg containing - status_code set to "201 Created", - Location set to LOCATION, + // MEC 011, clause 7.3.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "200 OK" body containing ServiceInfo containing - serName set to SERVICE_NAME - ; - ; - ; - to the MEC_APP_Registrant entity - and - // MEC 011, clause 6.4.2 - the IUT entity sends a notification_message containing - body containing - notificationType set to "SerAvailabilityNotification", - services containing - serName set to SERVICE_NAME - _links containing - subscription set to MP1_SUBSCRIPTION_A - ; + serInstanceId set to SERVICE_ID ; ; ; - to the MEC_APP_Subscriber entity + to the MEC_APP entity } } } Test Purpose { - TP Id "TP_MEC_PLAT_MP1_SAQ_BV_003" + TP Id "TP_MEC_PLAT_SAQ_001_BR" Test objective - "Check that the IUT responds with the information on a specific service - when queried by a MEC Application" + "Check that the IUT responds with an error when + incorrect parameters were sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.4.3.1" - Reference "ETSI GS MEC 011 V2.0.4, clause 7.3.3.1", - "https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/blob/master/Mp1.yaml#/definitions/ServiceInfo" - Config Id Config_MEC_1 PICS Selection PIC_MEC_PLAT and PIC_SERVICES Initial conditions with { - the IUT entity being_in idle_state and - the IUT entity having a services_running containing - service_id indicating value SERVICE_ID - ; + the IUT entity being_in idle_state } // MEC 011, clause 5.2.5 @@ -153,19 +132,18 @@ Package plat_mp1_services { ensure that { when { the IUT entity receives a vGET containing - Uri indicating value "/mp1/v1/services/{SERVICE_ID}" + Uri indicating value"/mec_service_mgmt/v1/services" + query_parameters containing + // Wrong parameter name should trigger an error response. + instance_id indicating value any_value + ; ; from the MEC_APP entity } then { - // MEC 011, clause 7.3.3.1 - the IUT entity sends a HttpMsg containing - status_code set to "200 OK" - body containing - ServiceInfo containing - serInstanceId set to SERVICE_ID - ; - ; + // MEC 011, clause 7.4.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" ; to the MEC_APP entity } @@ -174,52 +152,79 @@ Package plat_mp1_services { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_SAQ_BV_004" + TP Id "TP_MEC_PLAT_SAQ_002_BI" Test objective - "Check that the IUT updates a service information - when commanded by a MEC Application" + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" - Reference "ETSI GS MEC 011 V2.0.4, clause 7.3.3.2", - "https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/blob/master/Mp1.yaml#/definitions/ServiceInfo" - + Reference "ETSI GS MEC 011 V2.0.8, clause 7.4.3.1" Config Id Config_MEC_1 PICS Selection PIC_MEC_PLAT and PIC_SERVICES + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 011, clause 5.2.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value"/mec_service_mgmt/v1/services" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.4.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_SAQ_003_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an URI that cannot be mapped to a valid resource URI + is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.8, clause 7.3.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + Initial conditions with { the IUT entity being_in idle_state and - the IUT entity having a services_running containing - service_id indicating value SERVICE_ID + the IUT entity "not" having a services_running containing + service_id indicating value NON_EXISTENT_SERVICE_ID ; } - // MEC 011, clause 5.2.4 + // MEC 011, clause 5.2.5 Expected behaviour ensure that { when { - the IUT entity receives a vPUT containing - Uri indicating value "/mp1/v1/services/{SERVICE_ID}", - body containing - version indicating value NEW_VERSION - ; + the IUT entity receives a vGET containing + Uri indicating value"/mec_service_mgmt/v1/services/{NON_EXISTENT_SERVICE_ID}" ; from the MEC_APP entity } then { - // MEC 011, clause 7.3.3.2 - the IUT entity sends a HttpMsg containing - status_code set to "200 OK" - body containing - ServiceInfo containing - version set to NEW_VERSION - ; - ; + // MEC 011, clause 7.3.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" ; to the MEC_APP entity } } } - } diff --git a/Test Purposes/Plat/Mp1/Timing/PlatTiming.tplan2 b/Test Purposes/Plat/Mp1/Timing/PlatTiming.tplan2 index f2314b283d1580012e1515f036511d92aa743825..089db23391ee92ad99dd1017e02bac30cb6548bd 100644 --- a/Test Purposes/Plat/Mp1/Timing/PlatTiming.tplan2 +++ b/Test Purposes/Plat/Mp1/Timing/PlatTiming.tplan2 @@ -13,7 +13,7 @@ copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. */ -Package plat_mp1_timing { +Package plat_timing { import all from MEC_Common; @@ -22,7 +22,7 @@ Package plat_mp1_timing { * Timing capabilities (TIME) */ Test Purpose { - TP Id "TP_MEC_PLAT_MP1_TIME_BV_001" + TP Id "TP_MEC_PLAT_TIME_001_OK" Test objective "Check that the IUT responds with timing capabilities @@ -44,13 +44,13 @@ Package plat_mp1_timing { ensure that { when { the IUT entity receives a vGET containing - Uri indicating value "mp1/v1/timing/timing_caps" + Uri indicating value "mec_app_support/v1/timing/timing_caps" ; from the MEC_APP entity } then { // MEC 011, clause 7.7.3.1 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing TimingCaps set to any_value @@ -63,7 +63,7 @@ Package plat_mp1_timing { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_TIME_BV_002" + TP Id "TP_MEC_PLAT_TIME_002_OK" Test objective "Check that the IUT responds with current time @@ -85,13 +85,13 @@ Package plat_mp1_timing { ensure that { when { the IUT entity receives a vGET containing - Uri indicating value "mp1/v1/timing/current_time" + Uri indicating value "mec_app_support/v1/timing/current_time" ; from the MEC_APP entity } then { // MEC 011, clause 7.8.3.1 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing CurrentTime set to any_value @@ -102,4 +102,77 @@ Package plat_mp1_timing { } } + + Test Purpose { + TP Id "TP_MEC_PLAT_TIME_001_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.7.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 011, clause 5.2.10.3 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "mec_app_support/v1/timing/timing_caps" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.7.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_TIME_002_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.8.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 011, clause 5.2.10.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "mec_app_support/v1/timing/current_time" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.8.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } } diff --git a/Test Purposes/Plat/Mp1/TrafficRules/PlatTrafficRules.tplan2 b/Test Purposes/Plat/Mp1/TrafficRules/PlatTrafficRules.tplan2 index 0cc08afc49775dd6c05a5410f63f15c76d38f9f9..5155b11d8a817980c2fefbdf6a1018d4add10f30 100644 --- a/Test Purposes/Plat/Mp1/TrafficRules/PlatTrafficRules.tplan2 +++ b/Test Purposes/Plat/Mp1/TrafficRules/PlatTrafficRules.tplan2 @@ -13,7 +13,7 @@ copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. */ -Package plat_mp1_traffic_rules { +Package plat_traffic_rules { import all from MEC_Common; @@ -22,7 +22,7 @@ Package plat_mp1_traffic_rules { * Traffic rules (TFR) */ Test Purpose { - TP Id "TP_MEC_PLAT_MP1_TFR_BV_001" + TP Id "TP_MEC_PLAT_TFR_001_OK" Test objective "Check that the IUT responds with a list of available traffic rules @@ -47,13 +47,13 @@ Package plat_mp1_traffic_rules { ensure that { when { the IUT entity receives a vGET containing - Uri indicating value "mp1/v1/applications/{APP_INSTANCE_ID}/traffic_rules" + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/traffic_rules" ; from the MEC_APP entity } then { // MEC 011, clause 7.10.3.1 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing TrafficRuleList containing @@ -68,7 +68,7 @@ Package plat_mp1_traffic_rules { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_TFR_BV_002" + TP Id "TP_MEC_PLAT_TFR_002_OK" Test objective "Check that the IUT responds with the information on a specific traffic rule @@ -96,13 +96,13 @@ Package plat_mp1_traffic_rules { ensure that { when { the IUT entity receives a vGET containing - Uri indicating value "mp1/v1/applications/{APP_INSTANCE_ID}/traffic_rules/{TRAFFIC_RULE_ID}" + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/traffic_rules/{TRAFFIC_RULE_ID}" ; from the MEC_APP entity } then { // MEC 011, clause 7.11.3.1 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing TrafficRule containing @@ -117,7 +117,7 @@ Package plat_mp1_traffic_rules { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_TFR_BV_003" + TP Id "TP_MEC_PLAT_TFR_003_OK" Test objective "Check that the IUT updates a specific traffic rule @@ -145,16 +145,19 @@ Package plat_mp1_traffic_rules { ensure that { when { the IUT entity receives a vPUT containing - Uri indicating value "mp1/v1/applications/{APP_INSTANCE_ID}/traffic_rules/{TRAFFIC_RULE_ID}" + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/traffic_rules/{TRAFFIC_RULE_ID}", + If_Match indicating value PROPER_ETAG body containing - action indicating value "DROP" + TrafficRule containing + action indicating value "DROP" + ; ; ; from the MEC_APP entity } then { // MEC 011, clause 7.11.3.2 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing TrafficRule containing @@ -168,4 +171,278 @@ Package plat_mp1_traffic_rules { } } + + Test Purpose { + TP Id "TP_MEC_PLAT_TFR_001_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.10.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; + } + + // MEC 011, clause 5.2.7 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/traffic_rules" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.10.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_TFR_002_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.10.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity "not" having a apps_instance containing + instance_id indicating value NON_EXISTENT_APP_INSTANCE_ID + ; + } + + // MEC 011, clause 5.2.7 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "mec_app_support/v1/applications/{NON_EXISTENT_APP_INSTANCE_ID}/traffic_rules" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.10.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_TFR_003_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.11.3.2" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity having a traffic_rules containing + rule_id indicating value TRAFFIC_RULE_ID + ; + } + + // MEC 011, clause 5.2.7 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/traffic_rules/{TRAFFIC_RULE_ID}", + If_Match indicating value PROPER_ETAG + body containing + TrafficRule containing + // Invalid parameter value should trigger an error response. + action indicating value UNKNOWN_VALUE + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.11.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_TFR_004_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.11.3.2" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity having a traffic_rules containing + rule_id indicating value TRAFFIC_RULE_ID + ; + } + + // MEC 011, clause 5.2.7 + Expected behaviour + ensure that { + when { + the IUT entity receives a PUT containing + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/traffic_rules/{TRAFFIC_RULE_ID}", + If_Match indicating value PROPER_ETAG + body containing + action indicating value "DROP" + ; + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.11.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_TFR_005_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.11.3.2" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity "not" having a traffic_rules containing + rule_id indicating value NON_EXISTENT_TRAFFIC_RULE_ID + ; + } + + // MEC 011, clause 5.2.7 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/traffic_rules/{NON_EXISTENT_TRAFFIC_RULE_ID}", + If_Match indicating value PROPER_ETAG + body containing + TrafficRule containing + action indicating value "DROP" + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.11.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_TFR_006_PF" + + Test objective + "Check that the IUT responds with an error when + a request sent by a MEC Application doesn't comply with a required condition" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.11.3.2" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a apps_instance containing + instance_id indicating value APP_INSTANCE_ID + ; and + the IUT entity having a traffic_rules containing + rule_id indicating value TRAFFIC_RULE_ID + ; + } + + // MEC 011, clause 5.2.7 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "mec_app_support/v1/applications/{APP_INSTANCE_ID}/traffic_rules/{TRAFFIC_RULE_ID}", + If_Match indicating value INVALID_ETAG + body containing + TrafficRule containing + action indicating value "DROP" + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.11.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "412 Precondition Failed" + ; + to the MEC_APP entity + } + } + } } diff --git a/Test Purposes/Plat/Mp1/Transport/PlatTransport.tplan2 b/Test Purposes/Plat/Mp1/Transport/PlatTransport.tplan2 index bfbdc5444d10fc61f9e558619648a8d2f67bd5c9..3528cb4e7ec0266b95f77a7c20d04eb02486aa51 100644 --- a/Test Purposes/Plat/Mp1/Transport/PlatTransport.tplan2 +++ b/Test Purposes/Plat/Mp1/Transport/PlatTransport.tplan2 @@ -22,7 +22,7 @@ Package plat_mp1_transport{ * Transport (TRP) */ Test Purpose { - TP Id "TP_MEC_PLAT_MP1_TRP_BV_001" + TP Id "TP_MEC_PLAT_TRP_001_OK" Test objective "Check that the IUT responds with a list of available transports @@ -44,13 +44,13 @@ Package plat_mp1_transport{ ensure that { when { the IUT entity receives a vGET containing - Uri indicating value "mp1/v1/transports" + Uri indicating value "mec_service_mgmt/v1/transports" ; from the MEC_APP entity } then { // MEC 011, clause 7.9.3.1 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing TransportInfoList containing @@ -63,4 +63,40 @@ Package plat_mp1_transport{ } } + + Test Purpose { + TP Id "TP_MEC_PLAT_TRP_001_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 011 V2.0.4, clause 7.9.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 011, clause 5.2.9 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "mec_service_mgmt/v1/transports" + ; + from the MEC_APP entity + } + then { + // MEC 011, clause 7.9.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } } diff --git a/Test Purposes/Plat/Mp1/UeAreaSubscription/PlatUeAreaSubscription.tplan2 b/Test Purposes/Plat/Mp1/UeAreaSubscription/PlatUeAreaSubscription.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..7102e2f1bec9da94013834316c9066ae32ec4421 --- /dev/null +++ b/Test Purposes/Plat/Mp1/UeAreaSubscription/PlatUeAreaSubscription.tplan2 @@ -0,0 +1,127 @@ +/* +Copyright (c) ETSI 2018. + +This software is subject to copyrights owned by ETSI. Non-exclusive permission +is hereby granted, free of charge, to copy, reproduce and amend this file +under the following conditions: It is provided "as is", without warranty of any +kind, expressed or implied. + +ETSI shall never be liable for any claim, damages, or other liability arising +from its use or inability of use.This permission does not apply to any documentation +associated with this file for which ETSI keeps all rights reserved. The present +copyright notice shall be included in all copies of whole or part of this +file and shall not imply any sub-license right. +*/ + +Package plat_ue_area_subscription { + + import all from MEC_Common; + + + /* + * UE Area Subscribe (AREASUB) + */ + + Test Purpose { + TP Id "TP_MEC_PLAT_AREASUB_001_OK" + + Test objective + "Check that the IUT acknowledges the UE area change subscription request when + commanded by a MEC Application and notifies it when the UE enters the specified circle" + + Reference "ETSI GS MEC 013 V2.0.3, clause 7.3.11" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 013, clause 5.3.11 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + Uri indicating value "location/v2/subscriptions/area/circle", + body containing + circleNotificationSubscription containing + clientCorrelator indicating value CLIENT_ID, + callbackReference indicating value CALLBACK_URL, + address indicating value IP_ADDRESS + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 013, clause 7.3.11.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "201 Created" + body containing + circleNotificationSubscription containing + clientCorrelator indicating value CLIENT_ID, + callbackReference indicating value CALLBACK_URL, + address indicating value IP_ADDRESS + ; + ; + ; + to the MEC_APP entity + and + // MEC 013, clause 7.3.11.3 + the IUT entity sends a vPOST containing + Uri indicating value CALLBACK_URL, + body containing + subscriptionNotification containing + terminalLocation containing + address set to IP_ADDRESS + ; + ; + ; + ; + to the MEC_APP entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_PLAT_AREASUB_002_OK" + + Test objective + "Check that the IUT acknowledges the cancellation of UE area change notifications + when commanded by a MEC Application" + + Reference "ETSI GS MEC 013 V2.0.3, clause 7.3.6" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscriptionId indicating value SUBSCRIPTION_ID + ; + } + + // MEC 013, clause 5.3.6 + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + Uri indicating value "location/v2/subscriptions/area/circle/{SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 013, clause 7.3.6.6 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "204 No Content" + ; + to the MEC_APP entity + } + } + } + +} diff --git a/Test Purposes/Plat/Mp1/UeDistance/PlatUeDistance.tplan2 b/Test Purposes/Plat/Mp1/UeDistance/PlatUeDistance.tplan2 deleted file mode 100644 index 181d3ad3a03d7be3e92c8f31eb38d586cf5ad332..0000000000000000000000000000000000000000 --- a/Test Purposes/Plat/Mp1/UeDistance/PlatUeDistance.tplan2 +++ /dev/null @@ -1,67 +0,0 @@ -/* -Copyright (c) ETSI 2018. - -This software is subject to copyrights owned by ETSI. Non-exclusive permission -is hereby granted, free of charge, to copy, reproduce and amend this file -under the following conditions: It is provided "as is", without warranty of any -kind, expressed or implied. - -ETSI shall never be liable for any claim, damages, or other liability arising -from its use or inability of use.This permission does not apply to any documentation -associated with this file for which ETSI keeps all rights reserved. The present -copyright notice shall be included in all copies of whole or part of this -file and shall not imply any sub-license right. -*/ - -Package plat_mp1_ue_distance { - - import all from MEC_Common; - - - /* - * UE Distance Subscribe (DIST) - */ - - Test Purpose { - TP Id "TP_MEC_PLAT_MP1_DIST_BV_001" - - Test objective - "Check that the IUT acknowledges the subscription by a MEC Application - to the notifications on UE distance" - - Reference "ETSI GS MEC 013 V1.5.0, clause 7.3.10" - - Config Id Config_MEC_1 - - PICS Selection PIC_MEC_PLAT and PIC_SERVICES - - Initial conditions with { - the IUT entity being_in idle_state - } - - // MEC 013, clause 5.3.10 - Expected behaviour - ensure that { - when { - the IUT entity receives a vPOST containing - Uri indicating value "location/v2/subscriptions/distance", - body containing - distanceNotificationSubscription indicating value any_value - ; - ; - from the MEC_APP entity - } - then { - // MEC 013, clause 7.3.10.2 - the IUT entity sends a HttpMsg containing - status_code set to "201 Created" - body containing - distanceNotificationSubscription set to any_value - ; - ; - to the MEC_APP entity - } - } - } - -} diff --git a/Test Purposes/Plat/Mp1/UeArea/PlatUeArea.tplan2 b/Test Purposes/Plat/Mp1/UeDistanceLookup/PlatUeDistanceLookup.tplan2 similarity index 57% rename from Test Purposes/Plat/Mp1/UeArea/PlatUeArea.tplan2 rename to Test Purposes/Plat/Mp1/UeDistanceLookup/PlatUeDistanceLookup.tplan2 index 92e0c208a98510a2eefee47facab6d2d45e10129..38e40c8aee9787e674e5c53a90245ef1e2544ed5 100644 --- a/Test Purposes/Plat/Mp1/UeArea/PlatUeArea.tplan2 +++ b/Test Purposes/Plat/Mp1/UeDistanceLookup/PlatUeDistanceLookup.tplan2 @@ -13,50 +13,51 @@ copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. */ -Package plat_mp1_ue_area { +Package plat_ue_distance_lookup { import all from MEC_Common; - /* - * UE Area Subscribe (AREA) + * UE Distance Lookup (DISTLOOK) */ - Test Purpose { - TP Id "TP_MEC_PLAT_MP1_AREA_BV_001" - + Test Purpose { + TP Id "TP_MEC_PLAT_DISTLOOK_001_OK" + Test objective - "Check that the IUT acknowledges the subscription by a MEC Application - to the notifications on UE movement in relation to a geographic area" - - Reference "ETSI GS MEC 013 V1.5.0, clause 7.3.11" - + "Check that the IUT responds with the distance to a UE + when queried by a MEC Application" + + Reference "ETSI GS MEC 013 V2.0.3, clause 7.3.9" + Config Id Config_MEC_1 - + PICS Selection PIC_MEC_PLAT and PIC_SERVICES Initial conditions with { the IUT entity being_in idle_state } - - // MEC 013, clause 5.3.11 + + // MEC 013, clause 5.3.9 Expected behaviour ensure that { when { - the IUT entity receives a vPOST containing - Uri indicating value "location/v2/subscriptions/area/circle", - body containing - circleNotificationSubscription indicating value any_value + the IUT entity receives a vGET containing + Uri indicating value "location/v2/queries", + query_parameters containing + address indicating value any_value, + latitude indicating value any_value, + longitude indicating value any_value ; ; from the MEC_APP entity } then { - // MEC 013, clause 7.3.11.2 - the IUT entity sends a HttpMsg containing - status_code set to "201 Created" + // MEC 013, clause 7.3.9.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "200 OK" body containing - circleNotificationSubscription set to any_value + terminalDistance set to any_value ; ; to the MEC_APP entity diff --git a/Test Purposes/Plat/Mp1/UeDistanceSubscription/PlatUeDistanceSubscription.tplan2 b/Test Purposes/Plat/Mp1/UeDistanceSubscription/PlatUeDistanceSubscription.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..385f55d5825cf3d48e85062139119f92bc44855b --- /dev/null +++ b/Test Purposes/Plat/Mp1/UeDistanceSubscription/PlatUeDistanceSubscription.tplan2 @@ -0,0 +1,129 @@ +/* +Copyright (c) ETSI 2018. + +This software is subject to copyrights owned by ETSI. Non-exclusive permission +is hereby granted, free of charge, to copy, reproduce and amend this file +under the following conditions: It is provided "as is", without warranty of any +kind, expressed or implied. + +ETSI shall never be liable for any claim, damages, or other liability arising +from its use or inability of use.This permission does not apply to any documentation +associated with this file for which ETSI keeps all rights reserved. The present +copyright notice shall be included in all copies of whole or part of this +file and shall not imply any sub-license right. +*/ + +Package plat_ue_distance_subscription { + + import all from MEC_Common; + + + /* + * UE Distance Subscribe (DISTSUB) + */ + + Test Purpose { + TP Id "TP_MEC_PLAT_DISTSUB_001_OK" + + Test objective + "Check that the IUT acknowledges the UE distance subscription request when commanded by a + MEC Application and notifies it when (all) the requested UE(s) is (are) within the specified distance" + + Reference "ETSI GS MEC 013 V2.0.3, clause 7.3.10" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 013, clause 5.3.10 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + Uri indicating value "location/v2/subscriptions/distance", + body containing + distanceNotificationSubscription containing + clientCorrelator indicating value CLIENT_ID, + callbackReference indicating value CALLBACK_URL, + monitoredAddress indicating value MONITORED_IP_ADDRESS, + referenceAddress indicating value IP_ADDRESS + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 013, clause 7.3.10.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "201 Created" + body containing + distanceNotificationSubscription containing + clientCorrelator indicating value CLIENT_ID, + callbackReference indicating value CALLBACK_URL, + monitoredAddress indicating value MONITORED_IP_ADDRESS, + referenceAddress indicating value IP_ADDRESS + ; + ; + ; + to the MEC_APP entity + and + // MEC 013, clause 7.3.10.3 + the IUT entity sends a vPOST containing + Uri set to CALLBACK_URL + body containing + subscriptionNotification containing + terminalLocation containing + address set to IP_ADDRESS + ; + ; + ; + ; + to the MEC_APP entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_PLAT_DISTSUB_002_OK" + + Test objective + "Check that the IUT acknowledges the cancellation of UE distance notifications + when commanded by a MEC Application" + + Reference "ETSI GS MEC 013 V2.0.3, clause 7.3.6" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscriptionId indicating value SUBSCRIPTION_ID + ; + } + + // MEC 013, clause 5.3.6 + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + Uri indicating value "location/v2/subscriptions/distance/{SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 013, clause 7.3.6.5 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "204 No Content" + ; + to the MEC_APP entity + } + } + } + +} diff --git a/Test Purposes/Plat/Mp1/UeIdentity/PlatUeIdentity.tplan2 b/Test Purposes/Plat/Mp1/UeIdentity/PlatUeIdentity.tplan2 index 18ecfed4aea724b33791b4f75b1635b577b30126..e8595eabdbb0dbdb5854a9b01782f554c44c983b 100644 --- a/Test Purposes/Plat/Mp1/UeIdentity/PlatUeIdentity.tplan2 +++ b/Test Purposes/Plat/Mp1/UeIdentity/PlatUeIdentity.tplan2 @@ -13,7 +13,7 @@ copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. */ -Package plat_mp1_ue_identity { +Package plat_ue_identity { import all from MEC_Common; @@ -23,7 +23,7 @@ Package plat_mp1_ue_identity { */ Test Purpose { - TP Id "TP_MEC_PLAT_MP1_UETAG_BV_001" + TP Id "TP_MEC_PLAT_UETAG_001_OK" Test objective "Check that the IUT responds with the information on a UE Identity tag @@ -57,7 +57,7 @@ Package plat_mp1_ue_identity { } then { // MEC 014, clause 7.3.3.1 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing UeIdentityTagInfo containing @@ -76,7 +76,7 @@ Package plat_mp1_ue_identity { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_UETAG_BV_002" + TP Id "TP_MEC_PLAT_UETAG_002_OK" Test objective "Check that the IUT registers a tag (representing a UE) or a list of tags @@ -102,6 +102,7 @@ Package plat_mp1_ue_identity { when { the IUT entity receives a vPUT containing Uri indicating value "ui/v1/{APP_INSTANCE_ID}/ue_identity_tag_info", + If_Match indicating value PROPER_ETAG, body containing ueIdentityTagsList containing ueIdentityTags containing @@ -115,7 +116,7 @@ Package plat_mp1_ue_identity { } then { // MEC 014, clause 7.3.3.2 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing UeIdentityTagInfo containing @@ -136,13 +137,14 @@ Package plat_mp1_ue_identity { Test Purpose { - TP Id "TP_MEC_PLAT_MP1_UETAG_BV_003" + TP Id "TP_MEC_PLAT_UETAG_003_OK" Test objective "Check that the IUT deregisters a tag (representing a UE) or a list of tags when commanded by a MEC Application" Reference "ETSI GS MEC 014 V1.1.1, clause 7.3.3.2", + "https://forge.etsi.org/gitlab/mec/gs014-ue-identity-api/blob/master/UEidentityAPI.yaml#/definitions/ueIdentityTagsList", "https://forge.etsi.org/gitlab/mec/gs014-ue-identity-api/blob/master/UEidentityAPI.yaml#/definitions/UeIdentityTagInfo" Config Id Config_MEC_1 @@ -162,11 +164,12 @@ Package plat_mp1_ue_identity { when { the IUT entity receives a vPUT containing Uri indicating value "ui/v1/{APP_INSTANCE_ID}/ue_identity_tag_info", + If_Match indicating value PROPER_ETAG, body containing ueIdentityTagsList containing ueIdentityTags containing - ueIdentityTag set to UE_IDENTITY_TAG, - state set to UNREGISTERED + ueIdentityTag indicating value UE_IDENTITY_TAG, + state indicating value UNREGISTERED ; ; ; @@ -175,7 +178,7 @@ Package plat_mp1_ue_identity { } then { // MEC 014, clause 7.3.3.2 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing UeIdentityTagInfo containing @@ -193,4 +196,334 @@ Package plat_mp1_ue_identity { } } + + Test Purpose { + TP Id "TP_MEC_PLAT_UETAG_001_BI" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 014 V1.1.1, clause 7.3.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + instance_id indicating value APP_INSTANCE_ID + ; + } + + // MEC 014, clause 5.2.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "ui/v1/{APP_INSTANCE_ID}/ue_identity_tag_info", + query_parameters containing + // Wrong parameter name should trigger an error response. + ueTag indicating value UE_IDENTITY_TAG + ; + ; + from the MEC_APP entity + } + then { + // MEC 014, clause 7.3.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_UETAG_002_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 014 V1.1.1, clause 7.3.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + instance_id indicating value APP_INSTANCE_ID + ; + } + + // MEC 014, clause 5.2.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "ui/v1/{APP_INSTANCE_ID}/ue_identity_tag_info", + query_parameters containing + ueIdentityTag indicating value UE_IDENTITY_TAG + ; + ; + from the MEC_APP entity + } + then { + // MEC 014, clause 7.3.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_UETAG_003_BI" + + Test objective + "Check that the IUT responds with an error when + a request for an URI that cannot be mapped to a valid resource URI + is sent by a MEC Application" + + Reference "ETSI GS MEC 014 V1.1.1, clause 7.3.3.1" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity "not" having a app_instance containing + instance_id indicating value NON_EXISTENT_APP_INSTANCE_ID + ; + } + + // MEC 014, clause 5.2.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "ui/v1/{NON_EXISTENT_APP_INSTANCE_ID}/ue_identity_tag_info", + query_parameters containing + ueIdentityTag indicating value UE_IDENTITY_TAG + ; + ; + from the MEC_APP entity + } + then { + // MEC 014, clause 7.3.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_UETAG_004_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 014 V1.1.1, clause 7.3.3.2", + "https://forge.etsi.org/gitlab/mec/gs014-ue-identity-api/blob/master/UEidentityAPI.yaml#/definitions/ueIdentityTagsList" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + instance_id indicating value APP_INSTANCE_ID + ; + } + + // MEC 014, clause 5.2.3 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "ui/v1/{APP_INSTANCE_ID}/ue_identity_tag_info", +x If_Match indicating value PROPER_ETAG, + body containing + ueIdentityTagsList containing + ueIdentityTags containing + ueIdentityTag set to UE_IDENTITY_TAG, + state set to INVALID_STATE + ; + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 014, clause 7.3.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_UETAG_005_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 014 V1.1.1, clause 7.3.3.2", + "https://forge.etsi.org/gitlab/mec/gs014-ue-identity-api/blob/master/UEidentityAPI.yaml#/definitions/ueIdentityTagsList" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + instance_id indicating value APP_INSTANCE_ID + ; + } + + // MEC 014, clause 5.2.3 + Expected behaviour + ensure that { + when { + the IUT entity receives a PUT containing + Uri indicating value "ui/v1/{APP_INSTANCE_ID}/ue_identity_tag_info", + If_Match indicating value PROPER_ETAG, + body containing + ueIdentityTagsList containing + ueIdentityTags containing + ueIdentityTag set to UE_IDENTITY_TAG, + state set to REGISTERED + ; + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 014, clause 7.3.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_UETAG_006_BI" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 014 V1.1.1, clause 7.3.3.2", + "https://forge.etsi.org/gitlab/mec/gs014-ue-identity-api/blob/master/UEidentityAPI.yaml#/definitions/ueIdentityTagsList" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity "not" having a app_instance containing + instance_id indicating value NON_EXISTENT_APP_INSTANCE_ID + ; + } + + // MEC 014, clause 5.2.3 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "ui/v1/{NON_EXISTENT_APP_INSTANCE_ID}/ue_identity_tag_info", +x If_Match indicating value PROPER_ETAG, + body containing + ueIdentityTagsList containing + ueIdentityTags containing + ueIdentityTag set to UE_IDENTITY_TAG, + state set to REGISTERED + ; + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 014, clause 7.3.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_UETAG_007_BI" + + Test objective + "Check that the IUT responds with an error when + a request sent by a MEC Application doesn't comply with a required condition" + + Reference "ETSI GS MEC 014 V1.1.1, clause 7.3.3.2", + "https://forge.etsi.org/gitlab/mec/gs014-ue-identity-api/blob/master/UEidentityAPI.yaml#/definitions/ueIdentityTagsList" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the MEC_APP entity having a app_instance containing + instance_id indicating value APP_INSTANCE_ID + ; + } + + // MEC 014, clause 5.2.3 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "ui/v1/{APP_INSTANCE_ID}/ue_identity_tag_info", +x If_Match indicating value INVALID_ETAG, + body containing + ueIdentityTagsList containing + ueIdentityTags containing + ueIdentityTag set to UE_IDENTITY_TAG, + state set to UNREGISTERED + ; + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 014, clause 7.3.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "412 Precondition Failed" + ; + to the MEC_APP entity + } + } + } } diff --git a/Test Purposes/Plat/Mp1/UeInformation/PlatUeInformation.tplan2 b/Test Purposes/Plat/Mp1/UeInformationLookup/PlatUeInformationLookup.tplan2 similarity index 89% rename from Test Purposes/Plat/Mp1/UeInformation/PlatUeInformation.tplan2 rename to Test Purposes/Plat/Mp1/UeInformationLookup/PlatUeInformationLookup.tplan2 index 3252fda6f14cdb007620c642c584309e0d907be0..92172e2ead9ea99207c8cc6b14c624d1e5350b27 100644 --- a/Test Purposes/Plat/Mp1/UeInformation/PlatUeInformation.tplan2 +++ b/Test Purposes/Plat/Mp1/UeInformationLookup/PlatUeInformationLookup.tplan2 @@ -13,23 +13,23 @@ copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. */ -Package plat_mp1_ue_information_lookup { +Package plat_ue_information_lookup { import all from MEC_Common; /* - * UE Information Lookup (INF) + * UE Information Lookup (INFLOOK) */ Test Purpose { - TP Id "TP_MEC_PLAT_MP1_INF_BV_001" + TP Id "TP_MEC_PLAT_INFLOOK_001_OK" Test objective "Check that the IUT responds with the information pertaining to one or more UEs in a particular location when queried by a MEC Application" - Reference "ETSI GS MEC 013 V1.5.0, clause 7.3.3", + Reference "ETSI GS MEC 013 V2.0.3, clause 7.3.3", "https://forge.etsi.org/gitlab/mec/gs013-location-api/blob/master/LocationAPI.yaml#/definitions/UserList" Config Id Config_MEC_1 @@ -58,7 +58,7 @@ Package plat_mp1_ue_information_lookup { } then { // MEC 013, clause 7.3.3 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing userList set to any_value diff --git a/Test Purposes/Plat/Mp1/UeInformationSubscription/PlatUeInformationSubscription.tplan2 b/Test Purposes/Plat/Mp1/UeInformationSubscription/PlatUeInformationSubscription.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..98ea422847ecc9fe8f154b64acd70833a06e46ca --- /dev/null +++ b/Test Purposes/Plat/Mp1/UeInformationSubscription/PlatUeInformationSubscription.tplan2 @@ -0,0 +1,127 @@ +/* +Copyright (c) ETSI 2018. + +This software is subject to copyrights owned by ETSI. Non-exclusive permission +is hereby granted, free of charge, to copy, reproduce and amend this file +under the following conditions: It is provided "as is", without warranty of any +kind, expressed or implied. + +ETSI shall never be liable for any claim, damages, or other liability arising +from its use or inability of use.This permission does not apply to any documentation +associated with this file for which ETSI keeps all rights reserved. The present +copyright notice shall be included in all copies of whole or part of this +file and shall not imply any sub-license right. +*/ + +Package plat_ue_information_subscription { + + import all from MEC_Common; + + /* + * UE Information Subscription (INFSUB) + */ + + Test Purpose { + TP Id "TP_MEC_PLAT_INFSUB_001_OK" + + Test objective + "Check that the IUT acknowledges the UE information change subscription request + when commanded by a MEC Application and notifies it when the location changes" + + Reference "ETSI GS MEC 013 V2.0.3, clause 7.3.5", + "https://forge.etsi.org/gitlab/mec/gs013-location-api/blob/master/LocationAPI.yaml#/definitions/zonalTrafficSubscription" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 013, clause 5.3.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + Uri indicating value "location/v2/subscriptions/zonalTraffic" + body containing + zonalTrafficSubscription containing + clientCorrelator indicating value CLIENT_ID, + callbackReference indicating value CALLBACK_URL, + zoneId indicating value ZONE_ID + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 013, clause 7.3.5.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "201 Created" + body containing + zonalTrafficSubscription containing + clientCorrelator indicating value CLIENT_ID, + callbackReference indicating value CALLBACK_URL, + zoneId indicating value ZONE_ID + ; + ; + ; + to the MEC_APP entity + and + // MEC 013, clause 7.3.5.3 + the IUT entity sends a vPOST containing + Uri set to CALLBACK_URL + body containing + zonalPresenceNotification containing + clientCorrelator set to CLIENT_ID, + zoneId indicating value ZONE_ID + ; + ; + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_INFSUB_002_OK" + + Test objective + "Check that the IUT acknowledges the cancellation of UE information change notifications + when commanded by a MEC Application" + + Reference "ETSI GS MEC 013 V2.0.3, clause 7.3.6" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscriptionId indicating value SUBSCRIPTION_ID + ; + } + + // MEC 013, clause 5.3.6 + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + Uri indicating value "location/v2/subscriptions/zonalTraffic/{SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 013, clause 7.3.6.3 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "204 No Content" + ; + to the MEC_APP entity + } + } + } + +} diff --git a/Test Purposes/Plat/Mp1/UeLocation/PlatUeLocation.tplan2 b/Test Purposes/Plat/Mp1/UeLocationLookup/PlatUeLocationLookup.tplan2 similarity index 91% rename from Test Purposes/Plat/Mp1/UeLocation/PlatUeLocation.tplan2 rename to Test Purposes/Plat/Mp1/UeLocationLookup/PlatUeLocationLookup.tplan2 index 949661c85e3a4e3bc6a98bd3d9f283ea94273e63..64f51cacfc111b6abbaae3d9830c0bc87f8006e6 100644 --- a/Test Purposes/Plat/Mp1/UeLocation/PlatUeLocation.tplan2 +++ b/Test Purposes/Plat/Mp1/UeLocationLookup/PlatUeLocationLookup.tplan2 @@ -13,7 +13,7 @@ copyright notice shall be included in all copies of whole or part of this file and shall not imply any sub-license right. */ -Package plat_mp1_ue_location_lookup { +Package plat_ue_location_lookup { import all from MEC_Common; @@ -22,13 +22,13 @@ Package plat_mp1_ue_location_lookup { */ Test Purpose { - TP Id "TP_MEC_PLAT_MP1_LOC_BV_001" + TP Id "TP_MEC_PLAT_LOC_001_OK" Test objective "Check that the IUT responds with a list for the location of User Equipments when queried by a MEC Application" - Reference "ETSI GS MEC 013 V1.5.0, clause 7.3.2", + Reference "ETSI GS MEC 013 V2.0.3, clause 7.3.2", "https://forge.etsi.org/gitlab/mec/gs013-location-api/blob/master/LocationAPI.yaml#/definitions/UserInfo" Config Id Config_MEC_1 @@ -56,7 +56,7 @@ Package plat_mp1_ue_location_lookup { } then { // MEC 013, clause 7.3.2 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing userInfo containing diff --git a/Test Purposes/Plat/Mp1/UeLocationSubscription/PlatUeLocationSubscription.tplan2 b/Test Purposes/Plat/Mp1/UeLocationSubscription/PlatUeLocationSubscription.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..cbca4de7f9c3118b9145d338940bd6875e7fd5f6 --- /dev/null +++ b/Test Purposes/Plat/Mp1/UeLocationSubscription/PlatUeLocationSubscription.tplan2 @@ -0,0 +1,127 @@ +/* +Copyright (c) ETSI 2018. + +This software is subject to copyrights owned by ETSI. Non-exclusive permission +is hereby granted, free of charge, to copy, reproduce and amend this file +under the following conditions: It is provided "as is", without warranty of any +kind, expressed or implied. + +ETSI shall never be liable for any claim, damages, or other liability arising +from its use or inability of use.This permission does not apply to any documentation +associated with this file for which ETSI keeps all rights reserved. The present +copyright notice shall be included in all copies of whole or part of this +file and shall not imply any sub-license right. +*/ + +Package plat_ue_location_subscription { + + import all from MEC_Common; + + /* + * UE Location Subscription (LOCSUB) + */ + + Test Purpose { + TP Id "TP_MEC_PLAT_LOCSUB_001_OK" + + Test objective + "Check that the IUT acknowledges the UE location change subscription request + when commanded by a MEC Application and notifies it when the location changes" + + Reference "ETSI GS MEC 013 V2.0.3, clause 7.3.4", + "https://forge.etsi.org/gitlab/mec/gs013-location-api/blob/master/LocationAPI.yaml#/definitions/UserTrackingSubscription" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 013, clause 5.3.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + Uri indicating value "location/v2/subscriptions/userTracking" + body containing + userTrackingSubscription containing + clientCorrelator indicating value CLIENT_ID, + callbackReference indicating value CALLBACK_URL, + address indicating value IP_ADDRESS + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 013, clause 7.3.4.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "201 Created" + body containing + userTrackingSubscription containing + clientCorrelator indicating value CLIENT_ID, + callbackReference indicating value CALLBACK_URL, + address indicating value IP_ADDRESS + ; + ; + ; + to the MEC_APP entity + and + // MEC 013, clause 7.3.4.3 + the IUT entity sends a vPOST containing + Uri set to CALLBACK_URL + body containing + zonalPresenceNotification containing + clientCorrelator set to CLIENT_ID, + address set to IP_ADDRESS + ; + ; + ; + to the MEC_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_PLAT_LOCSUB_002_OK" + + Test objective + "Check that the IUT acknowledges the cancellation of UE location change notifications + when commanded by a MEC Application" + + Reference "ETSI GS MEC 013 V2.0.3, clause 7.3.6" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscriptionId indicating value SUBSCRIPTION_ID + ; + } + + // MEC 013, clause 5.3.6 + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + Uri indicating value "location/v2/subscriptions/userTracking/{SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 013, clause 7.3.6.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "204 No Content" + ; + to the MEC_APP entity + } + } + } + +} diff --git a/Test Purposes/Plat/Mp1/UeTrackingSubscription/PlatUeTrackingSubscription.tplan2 b/Test Purposes/Plat/Mp1/UeTrackingSubscription/PlatUeTrackingSubscription.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..7ab3b8667e9f5b5bd33661851150e9158f177f5b --- /dev/null +++ b/Test Purposes/Plat/Mp1/UeTrackingSubscription/PlatUeTrackingSubscription.tplan2 @@ -0,0 +1,128 @@ +/* +Copyright (c) ETSI 2018. + +This software is subject to copyrights owned by ETSI. Non-exclusive permission +is hereby granted, free of charge, to copy, reproduce and amend this file +under the following conditions: It is provided "as is", without warranty of any +kind, expressed or implied. + +ETSI shall never be liable for any claim, damages, or other liability arising +from its use or inability of use.This permission does not apply to any documentation +associated with this file for which ETSI keeps all rights reserved. The present +copyright notice shall be included in all copies of whole or part of this +file and shall not imply any sub-license right. +*/ + +Package plat_ue_tracking_subscription { + + import all from MEC_Common; + + + /* + * UE Tracking Subscribe (TRACKSUB) + */ + + + Test Purpose { + TP Id "TP_MEC_PLAT_TRACKSUB_001_OK" + + Test objective + "Check that the IUT acknowledges the UE location change subscription request + when commanded by a MEC Application and notifies it when the UE changes location" + + Reference "ETSI GS MEC 013 V2.0.3, clause 7.3.4" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 013, clause 5.3.8 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + Uri indicating value "location/v2/subscriptions/periodic" + body containing + periodicNotificationSubscription containing + clientCorrelator indicating value CLIENT_ID, + callbackReference indicating value CALLBACK_URL, + address indicating value IP_ADDRESS + ; + ; + ; + from the MEC_APP entity + } + then { + // MEC 013, clause 7.3.8.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "201 Created" + body containing + periodicNotificationSubscription containing + clientCorrelator indicating value CLIENT_ID, + callbackReference indicating value CALLBACK_URL, + address indicating value IP_ADDRESS + ; + ; + ; + to the MEC_APP entity + and + // MEC 013, clause 7.3.8.3 + the IUT entity sends a vPOST containing + Uri indicating value CALLBACK_URL + body containing + subscriptionNotification containing + terminalLocation containing + address set to IP_ADDRESS + ; + ; + ; + ; + to the MEC_APP entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_PLAT_TRACKSUB_002_OK" + + Test objective + "Check that the IUT acknowledges the cancellation of UE tracking notifications + when commanded by a MEC Application" + + Reference "ETSI GS MEC 013 V2.0.3, clause 7.3.6" + + Config Id Config_MEC_1 + + PICS Selection PIC_MEC_PLAT and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the IUT entity having a subscriptions containing + subscriptionId indicating value SUBSCRIPTION_ID + ; + } + + // MEC 013, clause 5.3.6 + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + Uri indicating value "location/v2/subscriptions/periodic/{SUBSCRIPTION_ID}" + ; + from the MEC_APP entity + } + then { + // MEC 013, clause 7.3.6.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "204 No Content" + ; + to the MEC_APP entity + } + } + } + +} diff --git a/Test Purposes/Sys/Mx2/UeAppCtx/SysUeAppsContext.tplan2 b/Test Purposes/Sys/Mx2/UeAppCtx/SysUeAppsContext.tplan2 index 2be73e6290321faaa53c7c9d0f81ecb512ac9463..19db695ddf01a8dd54131118229c925b46289f77 100644 --- a/Test Purposes/Sys/Mx2/UeAppCtx/SysUeAppsContext.tplan2 +++ b/Test Purposes/Sys/Mx2/UeAppCtx/SysUeAppsContext.tplan2 @@ -23,13 +23,13 @@ Package sys_mx2_ue_apps_context { */ Test Purpose { - TP Id "TP_MEC_SYS_MX2_APPCTX_BV_001" + TP Id "TP_MEC_SYS_APPCTX_001_OK" Test objective - "Check that the IUT responds with the description of the created application context + "Check that the IUT acknowledges the creation of the application context when requested by an UE Application" - Reference "ETSI GS MEC 016 V1.2.0, clause 7.4.3.4", + Reference "ETSI GS MEC 016 V2.1.1, clause 7.4.3.4", "https://forge.etsi.org/gitlab/mec/gs016-ue-app-api/blob/master/UEAppInterfaceApi.yaml#/definitions/AppContext" Config Id Config_MEC_4 @@ -45,10 +45,12 @@ Package sys_mx2_ue_apps_context { ensure that { when { the IUT entity receives a vPOST containing - Uri indicating value "mx2/v1/app_contexts", + Uri indicating value "mx2/v2/app_contexts", body containing - appInfo containing - appName set to APP_NAME + AppContext containing + appInfo containing + appName set to APP_NAME + ; ; ; ; @@ -56,8 +58,9 @@ Package sys_mx2_ue_apps_context { } then { // MEC 016, clause 7.4.3.4 - the IUT entity sends a HttpMsg containing - status_code set to "201 Created" + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "201 Created", + Location set to LOCATION, body containing AppContext containing appInfo containing @@ -73,13 +76,14 @@ Package sys_mx2_ue_apps_context { Test Purpose { - TP Id "TP_MEC_SYS_MX2_APPCTX_BV_002" + TP Id "TP_MEC_SYS_APPCTX_002_OK" Test objective "Check that the IUT updates the application callback reference when commanded by an UE Application" - Reference "ETSI GS MEC 016 V1.2.0, clause 7.5.3.2" + Reference "ETSI GS MEC 016 V2.1.1, clause 7.5.3.2", + "https://forge.etsi.org/gitlab/mec/gs016-ue-app-api/blob/master/UEAppInterfaceApi.yaml#/definitions/AppContext" Config Id Config_MEC_4 @@ -97,16 +101,18 @@ Package sys_mx2_ue_apps_context { ensure that { when { the IUT entity receives a vPUT containing - Uri indicating value "mx2/v1/app_contexts/{CONTEXT_ID}" + Uri indicating value "mx2/v2/app_contexts/{CONTEXT_ID}" body containing - callbackReference indicating value some_uri + AppContext containing + callbackReference indicating value some_uri + ; ; ; from the UE_APP entity } then { // MEC 017, clause 7.5.3.2 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "204 No Content" ; to the UE_APP entity @@ -116,13 +122,13 @@ Package sys_mx2_ue_apps_context { Test Purpose { - TP Id "TP_MEC_SYS_MX2_APPCTX_BV_003" + TP Id "TP_MEC_SYS_APPCTX_003_OK" Test objective - "Check that the IUT deletes the application context + "Check that the IUT deletes the application context when commanded by an UE Application" - Reference "ETSI GS MEC 016 V1.2.0, clause 7.5.3.5" + Reference "ETSI GS MEC 016 V2.1.1, clause 7.5.3.5" Config Id Config_MEC_4 @@ -140,13 +146,13 @@ Package sys_mx2_ue_apps_context { ensure that { when { the IUT entity receives a vDELETE containing - Uri indicating value "mx2/v1/app_contexts/{CONTEXT_ID}" + Uri indicating value "mx2/v2/app_contexts/{CONTEXT_ID}" ; from the UE_APP entity } then { // MEC 016, clause 7.5.3.5 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "204 No Content" ; to the UE_APP entity @@ -154,4 +160,444 @@ Package sys_mx2_ue_apps_context { } } + + Test Purpose { + TP Id "TP_MEC_SYS_APPCTX_001_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 016 V2.1.1, clause 7.4.3.4", + "https://forge.etsi.org/gitlab/mec/gs016-ue-app-api/blob/master/UEAppInterfaceApi.yaml#/definitions/AppContext" + + Config Id Config_MEC_4 + + PICS Selection PIC_MEC_SYSTEM and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 016, clause 5.1.3 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + Uri indicating value "mx2/v2/app_contexts", + body containing + AppContext containing + appInfo containing + // Wrong parameter name should trigger an error response. + app set to APP_NAME + ; + ; + ; + ; + from the UE_APP entity + } + then { + // MEC 016, clause 7.4.3.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the UE_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SYS_APPCTX_002_BI" + + Test objective + "Check that the IUT responds with an error when + a non-authenticated request is sent by a MEC Application" + + Reference "ETSI GS MEC 016 V2.1.1, clause 7.4.3.4", + "https://forge.etsi.org/gitlab/mec/gs016-ue-app-api/blob/master/UEAppInterfaceApi.yaml#/definitions/AppContext" + + Config Id Config_MEC_4 + + PICS Selection PIC_MEC_SYSTEM and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 016, clause 5.1.3 + Expected behaviour + ensure that { + when { + the IUT entity receives a iPOST containing + Uri indicating value "mx2/v2/app_contexts", + body containing + AppContext containing + appInfo containing + appName set to APP_NAME + ; + ; + ; + ; + from the UE_APP entity + } + then { + // MEC 016, clause 7.4.3.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "401 Unauthorized" + ; + to the UE_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SYS_APPCTX_003_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 016 V2.1.1, clause 7.4.3.4", + "https://forge.etsi.org/gitlab/mec/gs016-ue-app-api/blob/master/UEAppInterfaceApi.yaml#/definitions/AppContext" + + Config Id Config_MEC_4 + + PICS Selection PIC_MEC_SYSTEM and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state + } + + // MEC 016, clause 5.1.3 + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + Uri indicating value "mx2/v2/app_contexts", + body containing + AppContext containing + appInfo containing + appName set to APP_NAME + ; + ; + ; + ; + from the UE_APP entity + } + then { + // MEC 016, clause 7.4.3.4 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the UE_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SYS_APPCTX_004_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 016 V2.1.1, clause 7.5.3.2", + "https://forge.etsi.org/gitlab/mec/gs016-ue-app-api/blob/master/UEAppInterfaceApi.yaml#/definitions/AppContext" + + Config Id Config_MEC_4 + + PICS Selection PIC_MEC_SYSTEM and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the UE_APP entity having a appContext containing + contextId indicating value CONTEXT_ID + ; + } + + // MEC 016, clause 5.1.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "mx2/v2/app_contexts/{CONTEXT_ID}" + body containing + AppContext containing + // A parameter not legible for update should trigger an error response. + associateUeAppId indicating value some_value + ; + ; + ; + from the UE_APP entity + } + then { + // MEC 017, clause 7.5.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the UE_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SYS_APPCTX_005_BI" + + Test objective + "Check that the IUT responds with an error when + a non-authenticated request is sent by a MEC Application" + + Reference "ETSI GS MEC 016 V2.1.1, clause 7.5.3.2", + "https://forge.etsi.org/gitlab/mec/gs016-ue-app-api/blob/master/UEAppInterfaceApi.yaml#/definitions/AppContext" + + Config Id Config_MEC_4 + + PICS Selection PIC_MEC_SYSTEM and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the UE_APP entity having a appContext containing + contextId indicating value CONTEXT_ID + ; + } + + // MEC 016, clause 5.1.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a iPUT containing + Uri indicating value "mx2/v2/app_contexts/{CONTEXT_ID}", + body containing + AppContext containing + callbackReference indicating value some_uri + ; + ; + ; + from the UE_APP entity + } + then { + // MEC 017, clause 7.5.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "401 Unauthorized" + ; + to the UE_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SYS_APPCTX_006_BI" + + Test objective + "Check that the IUT responds with an error when + a non-authorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 016 V2.1.1, clause 7.5.3.2", + "https://forge.etsi.org/gitlab/mec/gs016-ue-app-api/blob/master/UEAppInterfaceApi.yaml#/definitions/AppContext" + + Config Id Config_MEC_4 + + PICS Selection PIC_MEC_SYSTEM and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the UE_APP entity having a appContext containing + contextId indicating value CONTEXT_ID + ; + } + + // MEC 016, clause 5.1.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a PUT containing + Uri indicating value "mx2/v2/app_contexts/{CONTEXT_ID}" + body containing + AppContext containing + callbackReference indicating value some_uri + ; + ; + ; + from the UE_APP entity + } + then { + // MEC 017, clause 7.5.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the UE_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SYS_APPCTX_007_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 016 V2.1.1, clause 7.5.3.2", + "https://forge.etsi.org/gitlab/mec/gs016-ue-app-api/blob/master/UEAppInterfaceApi.yaml#/definitions/AppContext" + + Config Id Config_MEC_4 + + PICS Selection PIC_MEC_SYSTEM and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the UE_APP entity "not" having a appContext containing + contextId indicating value NON_EXISTENT_CONTEXT_ID + ; + } + + // MEC 016, clause 5.1.5 + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + Uri indicating value "mx2/v2/app_contexts/{NON_EXISTENT_CONTEXT_ID}", + body containing + AppContext containing + callbackReference indicating value some_uri + ; + ; + ; + from the UE_APP entity + } + then { + // MEC 017, clause 7.5.3.2 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the UE_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SYS_APPCTX_008_BI" + + Test objective + "Check that the IUT responds with an error when + a non-authenticated request is sent by a MEC Application" + + Reference "ETSI GS MEC 016 V2.1.1, clause 7.5.3.5" + + Config Id Config_MEC_4 + + PICS Selection PIC_MEC_SYSTEM and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the UE_APP entity having a appContext containing + contextId indicating value CONTEXT_ID + ; + } + + // MEC 016, clause 5.1.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a iDELETE containing + Uri indicating value "mx2/v2/app_contexts/{CONTEXT_ID}" + ; + from the UE_APP entity + } + then { + // MEC 016, clause 7.5.3.5 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "401 Unauthorized" + ; + to the UE_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SYS_APPCTX_009_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 016 V2.1.1, clause 7.5.3.5" + + Config Id Config_MEC_4 + + PICS Selection PIC_MEC_SYSTEM and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the UE_APP entity having a appContext containing + contextId indicating value CONTEXT_ID + ; + } + + // MEC 016, clause 5.1.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a DELETE containing + Uri indicating value "mx2/v2/app_contexts/{CONTEXT_ID}" + ; + from the UE_APP entity + } + then { + // MEC 016, clause 7.5.3.5 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the UE_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SYS_APPCTX_010_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 016 V2.1.1, clause 7.5.3.5" + + Config Id Config_MEC_4 + + PICS Selection PIC_MEC_SYSTEM and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the UE_APP entity "not" having a appContext containing + contextId indicating value NON_EXISTENT_CONTEXT_ID + ; + } + + // MEC 016, clause 5.1.4 + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + Uri indicating value "mx2/v2/app_contexts/{NON_EXISTENT_CONTEXT_ID}" + ; + from the UE_APP entity + } + then { + // MEC 016, clause 7.5.3.5 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the UE_APP entity + } + } + } } diff --git a/Test Purposes/Sys/Mx2/UeApps/SysUeApplications.tplan2 b/Test Purposes/Sys/Mx2/UeApps/SysUeApplications.tplan2 index 099859413726e677c60c59bdf50f3f98c7282aab..f97b4f161a06c8f4d6b1b3c7975fa72431abac25 100644 --- a/Test Purposes/Sys/Mx2/UeApps/SysUeApplications.tplan2 +++ b/Test Purposes/Sys/Mx2/UeApps/SysUeApplications.tplan2 @@ -23,13 +23,13 @@ Package sys_mx2_ue_applications { */ Test Purpose { - TP Id "TP_MEC_SYS_MX2_UEAPPS_BV_001" + TP Id "TP_MEC_SYS_UEAPPS_001_OK" Test objective "Check that the IUT responds with the list of user applications available when requested by an UE Application" - Reference "ETSI GS MEC 016 V1.2.0, clause 7.3.3.1", + Reference "ETSI GS MEC 016 V2.1.1, clause 7.3.3.1", "https://forge.etsi.org/gitlab/mec/gs016-ue-app-api/blob/master/UEAppInterfaceApi.yaml#/definitions/ApplicationList" Config Id Config_MEC_4 @@ -48,7 +48,7 @@ Package sys_mx2_ue_applications { ensure that { when { the IUT entity receives a vGET containing - Uri indicating value "mx2/v1/app_list", + Uri indicating value "mx2/v2/app_list", query_parameters containing appName indicating value APP_NAME ; @@ -57,7 +57,7 @@ Package sys_mx2_ue_applications { } then { // MEC 016, clause 7.3.3.1 - the IUT entity sends a HttpMsg containing + the IUT entity sends a HTTP_RESPONSE containing status_code set to "200 OK" body containing ApplicationList containing @@ -72,4 +72,178 @@ Package sys_mx2_ue_applications { } } + + Test Purpose { + TP Id "TP_MEC_SYS_UEAPPS_001_BR" + + Test objective + "Check that the IUT responds with an error when + a request with incorrect parameters is sent by a MEC Application" + + Reference "ETSI GS MEC 016 V2.1.1, clause 7.3.3.1" + + Config Id Config_MEC_4 + + PICS Selection PIC_MEC_SYSTEM and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the UE_APP entity having a appInfo containing + appName indicating value APP_NAME + ; + } + + // MEC 016, clause 5.1.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "mx2/v2/app_list", + query_parameters containing + appName indicating value APP_NAME, + // Wrong name should trigger an error response. + serviceCont indicating value INVALID_VALUE + ; + ; + from the UE_APP entity + } + then { + // MEC 016, clause 7.3.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "400 Bad Request" + ; + to the UE_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SYS_UEAPPS_002_BI" + + Test objective + "Check that the IUT responds with an error when + a non-authenticated request is sent by a MEC Application" + + Reference "ETSI GS MEC 016 V2.1.1, clause 7.3.3.1" + + Config Id Config_MEC_4 + + PICS Selection PIC_MEC_SYSTEM and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the UE_APP entity having a appInfo containing + appName indicating value APP_NAME + ; + } + + // MEC 016, clause 5.1.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a iGET containing + Uri indicating value "mx2/v2/app_list", + query_parameters containing + appName indicating value APP_NAME + ; + ; + from the UE_APP entity + } + then { + // MEC 016, clause 7.3.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "401 Unauthorized" + ; + to the UE_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SYS_UEAPPS_003_BI" + + Test objective + "Check that the IUT responds with an error when + an unauthorised request is sent by a MEC Application" + + Reference "ETSI GS MEC 016 V2.1.1, clause 7.3.3.1" + + Config Id Config_MEC_4 + + PICS Selection PIC_MEC_SYSTEM and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the UE_APP entity having a appInfo containing + appName indicating value APP_NAME + ; + } + + // MEC 016, clause 5.1.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + Uri indicating value "mx2/v2/app_list", + query_parameters containing + appName indicating value APP_NAME + ; + ; + from the UE_APP entity + } + then { + // MEC 016, clause 7.3.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "403 Forbidden" + ; + to the UE_APP entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SYS_UEAPPS_004_NF" + + Test objective + "Check that the IUT responds with an error when + a request for an unknown URI is sent by a MEC Application" + + Reference "ETSI GS MEC 016 V2.1.1, clause 7.3.3.1" + + Config Id Config_MEC_4 + + PICS Selection PIC_MEC_SYSTEM and PIC_SERVICES + + Initial conditions with { + the IUT entity being_in idle_state and + the UE_APP entity having a appInfo containing + appName indicating value APP_NAME + ; + } + + // MEC 016, clause 5.1.2 + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + Uri indicating value "mx2/v2/app_list", + query_parameters containing + // Wrong value should trigger an error response. + appName indicating value UNKNOWN_APP_NAME + ; + ; + from the UE_APP entity + } + then { + // MEC 016, clause 7.3.3.1 + the IUT entity sends a HTTP_RESPONSE containing + status_code set to "404 Not Found" + ; + to the UE_APP entity + } + } + } } diff --git a/Test Purposes/mec-common.tplan2 b/Test Purposes/mec-common.tplan2 index 123145bbb2947ee22c70dc86d48690562dd6d54f..fe087cf51f980e9eeaf9cb4c1ccabefbfe573141 100644 --- a/Test Purposes/mec-common.tplan2 +++ b/Test Purposes/mec-common.tplan2 @@ -88,30 +88,6 @@ Package MEC_Common { STRING "application/json;charset=utf-8"; string CONTENT_JSON containing s set to "application/json;charset=utf-8"; - string HTTP_200_OK containing s set to "200 OK"; - STRING "200 OK"; - - STRING "201 CREATED"; - string HTTP_201_CREATED containing s set to "201 CREATED"; - - STRING "204 NO CONTENT"; - string HTTP_204_NO_CONTENT containing s set to "204 NO CONTENT"; - - STRING "400 BAD REQUEST"; - string HTTP_400_BAD_REQUEST containing s set to "400 BAD REQUEST"; - - STRING "401 UNAUTHORIZED"; - string HTTP_401_UNAUTHORIZED containing s set to "401 UNAUTHORIZED"; - - STRING "403 FORBIDDEN"; - string HTTP_403_FORBIDDEN containing s set to "403 FORBIDDEN"; - - STRING "404 NOT FOUND"; - string HTTP_404_NOT_FOUND containing s set to "404 NOT FOUND"; - - STRING "406 NOT ACCEPTABLE"; - string HTTP_406_NOT_ACCEPTABLE containing s set to "406 NOT ACCEPTABLE"; - STRING VALID_TOKEN; STRING NOT_VALID_TOKEN; @@ -163,7 +139,33 @@ Package MEC_Common { HttpMsg HTTP_RESPONSE containing headers set to vHeadersResponse ; + + HttpHeaders iHeadersGet containing + accept set to "application/json", + authorization set to NOT_VALID_TOKEN + ; + HttpHeaders iHeaders containing + accept set to CONTENT_JSON, + content_type set to CONTENT_JSON, + authorization set to NOT_VALID_TOKEN + ; + + HttpMsg iGET containing + headers set to iHeadersGet + ; + + HttpMsg iPOST containing + headers set to iHeaders + ; + + HttpMsg iPUT containing + headers set to iHeaders + ; + + HttpMsg iDELETE containing + headers set to iHeadersGet + ; } Configuration {