diff --git a/Test Purposes/App/Mm1/AppPackageMgmt/AppPkgMgt2_BO-BI.tplan2 b/Test Purposes/App/Mm1/AppPackageMgmt/AppPkgMgt2_BO-BI.tplan2 deleted file mode 100644 index 2c607ae692592865ede56cc099cd7f758ced90e5..0000000000000000000000000000000000000000 --- a/Test Purposes/App/Mm1/AppPackageMgmt/AppPkgMgt2_BO-BI.tplan2 +++ /dev/null @@ -1,208 +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 MEC010_2_MEO_MM1_PKGM_BO_BI { - - import all from MEC_Common; - - - Test Purpose { - TP Id "TP_MEC_MEO_MM1_PKGM_001_NEG_A" //Negative case 400 Bad request - - Test objective - "Check that MEO responds with an error when it receives - a malformed request for creating a new App Package" - - Reference "ETSI GS MEC 010-2 1.2.2, clause 7.3.1.3.1", - "ETSI GS MEC 010-2 1.2.2, Table 6.2.3.2.2-1" //AppPkg - Config Id Config_MEC_2 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_MANAGEMENT - - Initial conditions with { - the IUT entity being_in idle_state - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a vPOST containing - uri indicating value "/apmi/v1/app_packages", - body containing - AppPkg containing - "not" appPkgName //mandatory attribute - ; - ; - ; from the MEC_OSS entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "400 Bad Request" - ; to the MEC_OSS entity - } - } - } - - Test Purpose { - TP Id "TP_MEC_MEO_MM1_PKGM_001_NEG_B" //Negative case 401 Unauthorized - no token - - Test objective - "Check that MEO responds with an error when it receives - a request for creating a new App Package without credentials" - - Reference "ETSI GS MEC 010-2 1.2.2, clause 7.3.1.3.1", - "ETSI GS MEC 010-2 1.2.2, Table 6.2.3.2.2-1" //AppPkg - - Config Id Config_MEC_2 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_MANAGEMENT - - Initial conditions with { - the IUT entity being_in idle_state - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a POST containing - uri indicating value "/apmi/v1/app_packages", - "not" authorization, //Token is mandatory - body containing - AppPkg containing - appPkgName set to any_value - ; - ; - ; from the MEC_OSS entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "401 Unauthorized" - ; to the MEC_OSS entity - } - } - } - - Test Purpose { - TP Id "TP_MEC_MEO_MM1_PKGM_001_NEG_C" //Negative case 401 Unauthorized - wrong token - - Test objective - "Check that MEO responds with an error when it receives - a request for creating a new App Package with wrong credentials" - - Reference "ETSI GS MEC 010-2 1.2.2, clause 7.3.1.3.1", - "ETSI GS MEC 010-2 1.2.2, Table 6.2.3.2.2-1" //AppPkg - Config Id Config_MEC_2 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_MANAGEMENT - - Initial conditions with { - the IUT entity being_in idle_state - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a HttpMsg containing - headers set to vHeadersInvalidToken, //wrong token - uri indicating value "/apmi/v1/app_packages", - body containing - AppPkg containing - appPkgName set to any_value - ; - ; - ; from the MEC_OSS entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "401 Unauthorized" - ; to the MEC_OSS entity - } - } - } - - Test Purpose { - TP Id "TP_MEC_MEO_MM1_PKGM_001_NEG_D" //Negative case 404 Not found - - Test objective - "Check that MEO responds with an error when it receives - a request for creating a new App Package to a wrong URI" - - Reference "ETSI GS MEC 010-2 1.2.2, clause 7.3.1.3.1", - "ETSI GS MEC 010-2 1.2.2, Table 6.2.3.2.2-1" //AppPkg - Config Id Config_MEC_2 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_MANAGEMENT - - Initial conditions with { - the IUT entity being_in idle_state - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a vPOST containing - uri indicating value "/apmi/v1/appPackages", //wrong URI - body containing - AppPkg containing - appPkgName set to any_value - ; - ; - ; from the MEC_OSS entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "404 Not Found" - ; to the MEC_OSS entity - } - } - } - - - Test Purpose { - TP Id "TP_MEC_MEO_MM1_PKGM_004_NEG_A" //Negative case: 403 FORBIDDEN (operation not allowed due to the current status of the resource) - - Test objective - "Check that MEO responds with an error when it receives - a request to enable an App Package that is already enabled" - - Reference "ETSI GS MEC 010-2 1.2.2, clause 7.3.2.3.3" - - Config Id Config_MEC_2 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_MANAGEMENT - - Initial conditions with { - the IUT entity having a App_Package containing - appPkgId indicating value ON_BOARDED_APP_PKG_ID, - operationalState set to "ENABLED"; //Ref. Table 6.2.3.3.2-1 MEC 010-2 - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a vPUT containing - uri indicating value "/apmi/v1/app_packages/{ON_BOARDED_APP_PKG_ID}", - uri_parameter appPkgOperation indicating value "ENABLE"; //Wrong since the app package is already enabled - from the MEC_OSS entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "403 Forbidden", - body containing - problemDetails containing - status set to 403, - detail set to any_value - ; - ; - ; - to the MEC_OSS entity - } - } - } -} diff --git a/Test Purposes/App/Mm1/AppPackageMgmt/AppPkgMgt_BV.tplan2 b/Test Purposes/App/Mm1/AppPackageMgmt/AppPkgMgt_BV.tplan2 deleted file mode 100644 index 2e439f58775d3e9492613732735a252052cfec19..0000000000000000000000000000000000000000 --- a/Test Purposes/App/Mm1/AppPackageMgmt/AppPkgMgt_BV.tplan2 +++ /dev/null @@ -1,286 +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 MEC010_2_MEO_MM1_PKGM_BV { - - import all from MEC_Common; - - //All APP packages - - Test Purpose { - TP Id "TP_MEC_MEO_MM1_PKGM_001" - - Test objective - "Check that MEO creates a new App Package when requested" - - Reference "ETSI GS MEC 010-2 1.2.2, clause 7.3.1.3.1", - "ETSI GS MEC 010-2 1.2.2, Table 6.2.3.3.2-1", //OnboardedAppPkgInfo - "ETSI GS MEC 010-2 1.2.2, Table 6.2.3.2.2-1" //AppPkg - Config Id Config_MEC_2 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_MANAGEMENT - - Initial conditions with { - the IUT entity being_in idle_state - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a vPOST containing - uri indicating value "/apmi/v1/app_packages", - body containing - AppPkg containing - appPkgName set to APP_PKG_NAME, - appPkgVersion set to APP_PKG_VERSION, - appProvider set to APP_PROVIDER, - checksum set to CHECKSUM, - appPkgPath set to APP_PKG_PATH - ; - ; - ; from the MEC_OSS entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "200 OK", //TODO: it should return 201 - specification to be updated - body containing - OnboardedAppPkgInfoList containing - OnboardedAppPkgInfo containing - appPkgName set to APP_PKG_NAME, - appPkgVersion set to APP_PKG_VERSION, - appProvider set to APP_PROVIDER, - checksum set to CHECKSUM, - appPkgPath set to APP_PKG_PATH, - operationalState set to "ENABLED", - usageState set to "NOT_IN_USE" - ; - ; - ; - ; to the MEC_OSS entity - } - } - } - - Test Purpose { - TP Id "TP_MEC_MEO_MM1_PKGM_002a" - - Test objective - "Check that MEO returns the list of App Packages when requested" - - Reference "ETSI GS MEC 010-2 1.2.2, clause 7.3.1.3.2", - "ETSI GS MEC 010-2 1.2.2, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo - - Config Id Config_MEC_2 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_MANAGEMENT - - Initial conditions with { - the IUT entity having a App_Package containing - appPkgId indicating value ON_BOARDED_APP_PKG_ID, - appDId indicating value APPD_ID; - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a vGET containing - uri indicating value "/apmi/v1/app_packages"; - from the MEC_OSS entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "200 OK", - body containing - OnboardedAppPkgInfoList containing - OnboardedAppPkgInfo containing - appPkgId set to ON_BOARDED_APP_PKG_ID, - appDId set to APPD_ID - ; - ; - ; - ; to the MEC_OSS entity - } - } - } - - //Individual APP packages - - Test Purpose { - TP Id "TP_MEC_MEO_MM1_PKGM_002b" - - Test objective - "Check that MEO returns the an App Package when requested" - - Reference "ETSI GS MEC 010-2 1.2.2, clause 7.3.2.3.2", - "ETSI GS MEC 010-2 1.2.2, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo - - Config Id Config_MEC_2 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_MANAGEMENT - - Initial conditions with { - the IUT entity having a App_Package containing - appPkgId indicating value ON_BOARDED_APP_PKG_ID, - appDId indicating value APPD_ID; - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a vGET containing - uri indicating value "/apmi/v1/app_packages/{ON_BOARDED_APP_PKG_ID}"; - from the MEC_OSS entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "200 OK", - body containing - OnboardedAppPkgInfo containing - appPkgId set to ON_BOARDED_APP_PKG_ID, - appDId set to APPD_ID - ; - ; - ; to the MEC_OSS entity - } - } - } - - Test Purpose { - TP Id "TP_MEC_MEO_MM1_PKGM_003" - - Test objective - "Check that MEO deletes an App Package when requested" - - Reference "ETSI GS MEC 010-2 1.2.2, clause 7.3.2.3.4" - - Config Id Config_MEC_2 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_MANAGEMENT - - Initial conditions with { - the IUT entity having a App_Package containing - appPkgId indicating value ON_BOARDED_APP_PKG_ID; - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a vDELETE containing - uri indicating value "/apmi/v1/app_packages/{ON_BOARDED_APP_PKG_ID}"; - from the MEC_OSS entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "200 OK" //TODO: it should return 204 - specification to be updated - ; to the MEC_OSS entity - } - } - } - - Test Purpose { - TP Id "TP_MEC_MEO_MM1_PKGM_004" - - Test objective - "Check that MEO enables an App Package when requested" - - Reference "ETSI GS MEC 010-2 1.2.2, clause 7.3.2.3.3" - - Config Id Config_MEC_2 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_MANAGEMENT - - Initial conditions with { - the IUT entity having a App_Package containing - appPkgId indicating value ON_BOARDED_APP_PKG_ID, - operationalState set to "DISABLED"; //Ref. Table 6.2.3.3.2-1 MEC 010-2 - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a vPUT containing - uri indicating value "/apmi/v1/app_packages/{ON_BOARDED_APP_PKG_ID}", - uri_parameter appPkgOperation indicating value "ENABLE"; - from the MEC_OSS entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "200 OK"; - to the MEC_OSS entity - } - } - } - - - Test Purpose { - TP Id "TP_MEC_MEO_MM1_PKGM_005" - - Test objective - "Check that MEO disables an App Package when requested" - - Reference "ETSI GS MEC 010-2 1.2.2, clause 7.3.2.3.3" - - Config Id Config_MEC_2 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_MANAGEMENT - - Initial conditions with { - the IUT entity having a App_Package containing - appPkgId indicating value ON_BOARDED_APP_PKG_ID, - operationalState set to "ENABLED"; //Ref. Table 6.2.3.3.2-1 MEC 010-2 - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a vPUT containing - uri indicating value "/apmi/v1/app_packages/{ON_BOARDED_APP_PKG_ID}", - uri_parameter appPkgOperation indicating value "DISABLE"; - from the MEC_OSS entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "200 OK"; - to the MEC_OSS entity - } - } - } - - Test Purpose { - TP Id "TP_MEC_MEO_MEC25_MM1_PKGM_001" - - Test objective - "Check that MEO aborts an App Package deletion operation when requested" - - Reference "ETSI GS MEC 010-2 1.2.2, clause 7.3.2.3.3" - - Config Id Config_MEC_2 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_MANAGEMENT - - Initial conditions with { - the IUT entity having a App_Package containing - appPkgId indicating value ON_BOARDED_APP_PKG_ID, - operationalState set to "DELETION_PENDING"; //Ref. Table 6.2.3.3.2-1 MEC 010-2 - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a vPUT containing - uri indicating value "/apmi/v1/app_packages/{ON_BOARDED_APP_PKG_ID}", - uri_parameter appPkgOperation indicating value "ABORT"; - from the MEC_OSS entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "200 OK"; - to the MEC_OSS entity - } - } - } -} diff --git a/Test Purposes/App/Mp1/Rnis/RnisRabQuery_BO_BI.tplan2 b/Test Purposes/App/Mp1/Rnis/RnisRabQuery_BO_BI.tplan2 deleted file mode 100644 index 10def0899ae61c9bb6e20e1531c466eb62645863..0000000000000000000000000000000000000000 --- a/Test Purposes/App/Mp1/Rnis/RnisRabQuery_BO_BI.tplan2 +++ /dev/null @@ -1,207 +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 MEC012_APP_MP1_RNI_QUERY_BO_BI { - - import all from MEC_Common; - - Test Purpose { - TP Id "TP_MEC025_RNI_QUERY_01_NEG_A" // Negative test: 400 Bad request - - Test objective - "Check that the RNIS service returns an error when the RAB information when requested" - - Reference "ETSI GS MEC 012 2.0.3, clause 7.3.3.1", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/RabInfo" - - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_QUERY - - Initial conditions with { - the IUT entity having a RabInfo containing - cellId indicating value CELL_USER_INFO - ; - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a vGET containing - uri indicating value "/rni/v1/queries/rab_info", - query_parameters containing - cId indicating value C_ID - ; - ; from the RNIS_CLIENT entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "400 Bad Request" - ; to the RNIS_CLIENT entity - } - } - } - - - Test Purpose { - TP Id "TP_MEC025_RNI_QUERY_01_NEG_B" // Negative test: 401 Unauthorized (No token provided) - - Test objective - "Check that the RNIS service returns an error when the RAB information when requested" - - Reference "ETSI GS MEC 012 2.0.3, clause 7.3.3.1", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/RabInfo" - - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_QUERY - - Initial conditions with { - the IUT entity having a RabInfo containing - cellId indicating value CELL_USER_INFO - ; - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a GET containing - uri indicating value "/rni/v1/queries/rab_info", - "not" authorization, - query_parameters containing - cellId indicating value CELL_ID - ; - ; from the RNIS_CLIENT entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "401 Unauthorized" - ; to the RNIS_CLIENT entity - } - } - } - - - Test Purpose { - TP Id "TP_MEC025_RNI_QUERY_01_NEG_C" // Negative test: 401 Unauthorized (Invalid token provided) - - Test objective - "Check that the RNIS service returns an error when the RAB information when requested" - - Reference "ETSI GS MEC 012 2.0.3, clause 7.3.3.1", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/RabInfo" - - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_QUERY - - Initial conditions with { - the IUT entity having a RabInfo containing - cellId indicating value CELL_USER_INFO - ; - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a GET containing - uri indicating value "/rni/v1/queries/rab_info", - headers set to vHeadersInvalidToken, - query_parameters containing - cellId indicating value CELL_ID - ; - ; from the RNIS_CLIENT entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "401 Unauthorized" - ; to the RNIS_CLIENT entity - } - } - } - - - Test Purpose { - TP Id "TP_MEC025_RNI_QUERY_01_NEG_D" // Negative test: 404 Not found - - Test objective - "Check that the RNIS service returns an error when the RAB information when requested" - - Reference "ETSI GS MEC 012 2.0.3, clause 7.3.3.1", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/RabInfo" - - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_QUERY - - Initial conditions with { - the IUT entity having a RabInfo containing - cellId indicating value CELL_USER_INFO - ; - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a vGET containing - uri indicating value "/rnis/v1/query/rab_info", - headers set to vHeadersInvalidToken, - query_parameters containing - cellId indicating value CELL_ID - ; - ; from the RNIS_CLIENT entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "404 Not Found" - ; to the RNIS_CLIENT entity - } - } - } - - - Test Purpose { - TP Id "TP_MEC025_RNI_QUERY_01_NEG_E" // Negative test: 406 Not Acceptable - - Test objective - "Check that the RNIS service returns an error when the RAB information when requested" - - Reference "ETSI GS MEC 012 2.0.3, clause 7.3.3.1", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/RabInfo" - - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_QUERY - - Initial conditions with { - the IUT entity having a RabInfo containing - cellId indicating value CELL_USER_INFO - ; - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a vGET containing - uri indicating value "/rni/v1/queries/rab_info", - headers set to vHeadersAcceptKO, - query_parameters containing - cellId indicating value CELL_ID - ; - ; from the RNIS_CLIENT entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "406 Not Acceptable" - ; to the RNIS_CLIENT entity - } - } - } -} \ No newline at end of file diff --git a/Test Purposes/App/Mp1/Rnis/RnisSpecificSubscription_BO_BI.tplan2 b/Test Purposes/App/Mp1/Rnis/RnisSpecificSubscription_BO_BI.tplan2 deleted file mode 100644 index f4f8268f4de8ffb0cd9dc5281c86da92ab50df0c..0000000000000000000000000000000000000000 --- a/Test Purposes/App/Mp1/Rnis/RnisSpecificSubscription_BO_BI.tplan2 +++ /dev/null @@ -1,173 +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 MEC012_APP_MP1_RNI_SUB_BO_BI { - - import all from MEC_Common; - - - Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_06_NEG_A" // Negative test: 401 Unauthorized (No token) - - Test objective - "Check that the RNIS service responds with error when a RNIS subscription is requested" - - Reference "ETSI GS MEC 012 2.0.3, clause 7.8.3.1", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" - - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION - - Initial conditions with { - the IUT entity having a RNIS_subscription containing - subscriptionType indicating value "CellChangeSubscription", - callbackReference indicating value CALLBACK_URI, - _links containing - self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" - ; - ; - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a GET containing - uri indicating value "/rni/v1/subscriptions/{SUBSCRIPTION_ID}", - "not" authorization - ; from the MEC_SUB entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "401 Unauthorized" - ; to the MEC_SUB entity - } - } - } - - - Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_06_NEG_B" // Negative test: 401 Unauthorized (Invalid token) - - Test objective - "Check that the RNIS service responds with error when a RNIS subscription is requested" - - Reference "ETSI GS MEC 012 2.0.3, clause 7.8.3.1", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" - - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION - - Initial conditions with { - the IUT entity having a RNIS_subscription containing - subscriptionType indicating value "CellChangeSubscription", - callbackReference indicating value CALLBACK_URI, - _links containing - self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" - ; - ; - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a GET containing - uri indicating value "/rni/v1/subscriptions/{SUBSCRIPTION_ID}", - headers set to vHeadersInvalidToken - ; from the MEC_SUB entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "401 Unauthorized" - ; to the MEC_SUB entity - } - } - } - - - Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_06_NEG_C" // Negative test: 404 Not Found (Invalid token) - - Test objective - "Check that the RNIS service responds with error when a RNIS subscription is requested" - - Reference "ETSI GS MEC 012 2.0.3, clause 7.8.3.1", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" - - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION - - Initial conditions with { - the IUT entity having a RNIS_subscription containing - subscriptionType indicating value "CellChangeSubscription", - callbackReference indicating value CALLBACK_URI, - _links containing - self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" - ; - ; - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a vGET containing - uri indicating value "/rni/v1/subscription/{SUBSCRIPTION_ID}" - ; from the MEC_SUB entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "404 Not Found" - ; to the MEC_SUB entity - } - } - } - - - Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_06_NEG_D" // Negative test: 406 Not Acceptable (Content type format octet-stream requested by the client) - - Test objective - "Check that the RNIS service responds with error when a RNIS subscription is requested" - - Reference "ETSI GS MEC 012 2.0.3, clause 7.8.3.1", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" - - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION - - Initial conditions with { - the IUT entity having a RNIS_subscription containing - subscriptionType indicating value "CellChangeSubscription", - callbackReference indicating value CALLBACK_URI, - _links containing - self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" - ; - ; - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a vGET containing - uri indicating value "/rni/v1/subscriptions/{SUBSCRIPTION_ID}", - headers set to vHeadersAcceptKO - ; from the MEC_SUB entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "406 Not Acceptable" - ; to the MEC_SUB entity - } - } - } -} \ No newline at end of file diff --git a/Test Purposes/Common/CommonUnauthFailure_BI.tplan2 b/Test Purposes/Common/CommonUnauthFailure_BI.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..7fb33dd14b06c0e79882a0044b17bd47dcbdfd38 --- /dev/null +++ b/Test Purposes/Common/CommonUnauthFailure_BI.tplan2 @@ -0,0 +1,85 @@ +/* +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 MEC_COMMON_BI { + + import all from MEC_Common; + + + Test Purpose { + TP Id "TP_MEC_COMMON_001_NT" //Negative case 401 Unauthorized - no token + + Test objective + "Check that a MEC API provider responds with an error when it receives + a request without token" + + Reference "ETSI GS MEC 009 1.1.1, clause 6.16.1" + + Config Id Config_MEC_6 + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HTTP_REQUEST containing + uri indicating value ACCEPTABLE_URI, + "not" authorization + ; from the MEC_CONSUMER entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_CONSUMER entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_COMMON_001_WT" //Negative case 401 Unauthorized - wrong token + + Test objective + "Check that a MEC API provider responds with an error when it receives + a request with a wrong token" + + Reference "ETSI GS MEC 009 1.1.1, clause 6.16.1" + + Config Id Config_MEC_6 + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HTTP_REQUEST containing + uri indicating value ACCEPTABLE_URI, + headers containing + authorization set to NOT_VALID_TOKEN + ; + ; from the MEC_CONSUMER entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_CONSUMER entity + } + } + } + + +} diff --git a/Test Purposes/MEO/Mm1/AppLcmMgmt/AppInstanceMgmt_BO-BI.tplan2 b/Test Purposes/MEO/Mm1/AppLcmMgmt/AppInstanceMgmt_BO-BI.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..86b9d9cd8cb6435e8c9fbfceffb7b1342bcb5987 --- /dev/null +++ b/Test Purposes/MEO/Mm1/AppLcmMgmt/AppInstanceMgmt_BO-BI.tplan2 @@ -0,0 +1,1475 @@ +/* +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 MEC010_2_MEO_MM1_APP_INSTANCE_LCM_BO_BI { + + import all from MEC_Common; + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_001_BR" + + Test objective + "Check that MEO sends an error when it receives a malformed request for the creation of a new App Instance" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.1.3.1", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.3.2-1", //CreateAppInstanceRequest + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.4.2-1" //AppInstanceInfo + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/alcmi/v1/app_instances", + body containing + CreateAppInstanceRequest containing + appDDDId set to APP_D_ID + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; to the MEC_OSS entity + } + } + } + +/* + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_001_BO_BI_002" // No token + + Test objective + "Check that MEO fails on creation of a new App Instance when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.1.3.1", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.3.2-1", //CreateAppInstanceRequest + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.4.2-1" //AppInstanceInfo + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + uri indicating value "/alcmi/v1/app_instances", + "not" authorization, //Token is mandatory + body containing + CreateAppInstanceRequest containing + appDId set to APP_D_ID + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_001_BO_BI_003" // Wrong token + + Test objective + "Check that MEO fails on creation of a new App Instance when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.1.3.1", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.3.2-1", //CreateAppInstanceRequest + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.4.2-1" //AppInstanceInfo + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + headers set to vHeadersInvalidToken, //wrong token + uri indicating value "/alcmi/v1/app_instances", + body containing + CreateAppInstanceRequest containing + appDId set to APP_D_ID + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + + + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_002_BO_BI_001" // No token + + Test objective + "Check that MEO fails on retrieving the list of App Instances when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.1.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.4.2-1" //AppInstanceInfo + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/alcmi/v1/app_instances", + "not" authorization //Token is mandatory + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_002_BO_BI_002" // Wrong token + + Test objective + "Check that MEO fails on retrieving the list of App Instances when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.1.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.4.2-1" //AppInstanceInfo + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + headers set to vHeadersInvalidToken, //wrong token + uri indicating value "/alcmi/v1/app_instances" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_003_BO_BI_001" // No token + + Test objective + "Check that MEO fails on retrieving an App Instance when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.2.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.4.2-1" //AppInstanceInfo + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/alcmi/v1/app_instances/{appInstanceId}", + "not" authorization //Token is mandatory + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_003_BO_BI_002" // Wrong token + + Test objective + "Check that MEO fails on retrieving an App Instance when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.1.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.4.2-1" //AppInstanceInfo + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + headers set to vHeadersInvalidToken, //wrong token + uri indicating value "/alcmi/v1/app_instances/{appInstanceId}" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + * */ + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_003_NF" // Wrong APP_INSTANCE_ID + + Test objective + "Check that MEO fails on retrieving an App Instance when requested using wrong appInstanceId" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.2.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.4.2-1" //AppInstanceInfo + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity "not" having a App_Instance containing + appInstanceId indicating value NON_EXISTENT_APP_INSTANCE_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/alcmi/v1/app_instances/{NON_EXISTENT_APP_INSTANCE_ID}" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_OSS entity + } + } + } + +/* + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_004_BO_BI_001" // No token + + Test objective + "Check that MEO fails on deletion of an App Instance when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.2.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.4.2-1" //AppInstanceInfo + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a DELETE containing + uri indicating value "/alcmi/v1/app_instances/{appInstanceId}", + "not" authorization //Token is mandatory + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_004_BO_BI_002" // Wrong token + + Test objective + "Check that MEO fails on deletion of an App Instance when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.1.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.4.2-1" //AppInstanceInfo + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + headers set to vHeadersInvalidToken, //wrong token + uri indicating value "/alcmi/v1/app_instances/{appInstanceId}" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + * + * + */ + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_004_NF" // Wrong APP_INSTANCE_ID + + Test objective + "Check that MEO fails on deletion of an App Instance when requested using wrong appInstanceId" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.2.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.4.2-1" //AppInstanceInfo + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity "not" having a App_Instance containing + appInstanceId indicating value NON_EXISTENT_APP_INSTANCE_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + uri indicating value "/alcmi/v1/app_instances/{NON_EXISTENT_APP_INSTANCE_ID}" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_OSS entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_005_BR" + + Test objective + "Check that MEO service fails to instantiate an App Instance when it receives a malformed request" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.6.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.7.2-1" // InstantiateAppRequest + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID, + instantiationState indicating value NOT_INSTANTIATED + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/alcmi/v1/app_instances/{APP_INSTANCE_ID}/instantiate", + body containing + InstantiateAppRequest containing + appERRORId set to APP_INSTANCE_ID //wrong name of the parameter + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad request" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_005_NF" // Wrong APP_INSTANCE_ID + + Test objective + "Check that MEO service fails to instantiate an App Instance when it receives a request + related to a not existing App Instance" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.6.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.7.2-1" // InstantiateAppRequest + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity "not" having a App_Instance containing + appInstanceId indicating value NON_EXISTENT_APP_INSTANCE_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/alcmi/v1/app_instances/{NON_EXISTENT_APP_INSTANCE_ID}/instantiate" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_OSS entity + } + } + } + +/* + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_005_BO_BI_002" // No token + + Test objective + "Check that MEO fails on instantiating an App Instance when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.6.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.7.2-1" // InstantiateAppRequest + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID, + instantiationState indicating value NOT_INSTANTIATED + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + uri indicating value "/alcmi/v1/app_instances/{appInstanceId}/instantiate", + "not" authorization, //Token is mandatory + body containing + InstantiateAppRequest containing + appInstanceId set to APP_INSTANCE_ID, + selectedMECHostInfoList containing + selectedMECHostInfo containing + hostId set to HOST_ID + ; + ; + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_005_BO_BI_003" // Wrong token + + Test objective + "Check that MEO fails on instantiation of an App Instance when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.6.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.7.2-1" // InstantiateAppRequest + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID, + instantiationState indicating value NOT_INSTANTIATED + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + headers set to vHeadersInvalidToken, //wrong token + uri indicating value "/alcmi/v1/app_instances/{appInstanceId}/instantiate", + body containing + InstantiateAppRequest containing + appInstanceId set to APP_INSTANCE_ID, + selectedMECHostInfoList containing + selectedMECHostInfo containing + hostId set to HOST_ID + ; + ; + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + */ + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_006_BR" + + Test objective + "Check that MEO service fails to terminate an App Instance when it receives a malformed request" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.7.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.9.2-1" // TerminateAppRequest + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID, + instantiationState indicating value INSTANTIATED + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/alcmi/v1/app_instances/{APP_INSTANCE_ID}/terminate", + body containing + TerminateAppRequest containing + terminationERRORType set to GRACEFULL //wrong parameter + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad request" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_006_NF" // Wrong APP_INSTANCE_ID + + Test objective + "Check that MEO service fails to terminate an App Instance when it receives a request + related to a not existing App Instance" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.7.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.9.2-1" // TerminateAppRequest + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity "not" having a App_Instance containing + appInstanceId indicating value NON_EXISTENT_APP_INSTANCE_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/alcmi/v1/app_instances/{NON_EXISTENT_APP_INSTANCE_ID}/terminate" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_OSS entity + } + } + } + +/* + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_006_BO_BI_002" // No token + + Test objective + "Check that MEO fails to terminate an App Instance when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.7.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.9.2-1" // TerminateAppRequest + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID, + instantiationState indicating value INSTANTIATED + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + uri indicating value "/alcmi/v1/app_instances/{appInstanceId}/terminate", + "not" authorization, //Token is mandatory + body containing + TerminateAppRequest containing + terminationType set to GRACEFULL + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_006_BO_BI_003" // Wrong token + + Test objective + "Check that MEO fails to terminate an App Instance when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.7.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.9.2-1" // TerminateAppRequest + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID, + instantiationState indicating value INSTANTIATED + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + headers set to vHeadersInvalidToken, //wrong token + uri indicating value "/alcmi/v1/app_instances/{appInstanceId}/terminate", + body containing + TerminateAppRequest containing + terminationType set to GRACEFULL + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + * + * + */ + + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_007_BR" + + Test objective + "Check that MEO service fails to operate on an App Instance when it receives a malformed request" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.8.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.8.2-1" // OperateAppRequest + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/alcmi/v1/app_instances/{APP_INSTANCE_ID}/operate", + body containing + OperateAppRequest containing + changeERRORStateTo set to any_value //wrong parameter + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad request" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_007_NF" // Wrong APP_INSTANCE_ID + + Test objective + "Check that MEO service fails to change the status of an App Instance when it receives a request + related to a not existing App Instance" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.8.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.8.2-1" // OperateAppRequest + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity "not" having a App_Instance containing + appInstanceId indicating value NON_EXISTENT_APP_INSTANCE_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/alcmi/v1/app_instances/{NON_EXISTENT_APP_INSTANCE_ID}/operate" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_OSS entity + } + } + } + +/* + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_007_BO_BI_002" // No token + + Test objective + "Check that MEO fails to terminate an App Instance when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.8.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.8.2-1" // OperateAppRequest + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID, + instantiationState indicating value INSTANTIATED, + operationalState indicating value STARTED + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + uri indicating value "/alcmi/v1/app_instances/{appInstanceId}/operate", + "not" authorization, //Token is mandatory + body containing + OperateAppRequest containing + changeStateTo set to STOPPED + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_007_BO_BI_003" // Wrong token + + Test objective + "Check that MEO fails to terminate an App Instance when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.8.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.8.2-1" // OperateAppRequest + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID, + instantiationState indicating value INSTANTIATED, + operationalState indicating value STARTED + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + headers set to vHeadersInvalidToken, //wrong token + uri indicating value "/alcmi/v1/app_instances/{appInstanceId}/operate", + body containing + OperateAppRequest containing + changeStateTo set to STOPPED + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_008_BO_BI_001" + + Test objective + "Check that MEO service failing to retrieve info from LCM Operation Occurrencies on an App Instance when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.9.1.3.2", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.14.2-1" // AppLcmOpOcc + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/alcmi/v1/app_lcm_op_occs", + "not" authorization //Token is mandatory + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_008_BO_BI_002" + + Test objective + "Check that MEO service failing to retrieve info from LCM Operation Occurrencies on an App Instance when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.9.1.3.2", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.14.2-1" // AppLcmOpOcc + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/alcmi/v1/app_lcm_op_occs", + headers set to vHeadersInvalidToken //wrong token + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + + + + + + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_009_BO_BI_001a" + + Test objective + "Check that MEO service failing to retrieve info from LCM Operation Occurrencies on an App Instance when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.10.1.3.2", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.14.2-1" // AppLcmOpOcc + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Lcm_Op_Occ containing + appLcmOpOccId indicating value APP_LCM_OP_OCC_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/alcmi/v1/app_lcm_op_occs/{appLcmOpOccId}", + "not" authorization //Token is mandatory + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_009_BO_BI_001b" + + Test objective + "Check that MEO service failing to retrieve info from LCM Operation Occurrencies on an App Instance when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.10.1.3.2", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.14.2-1" // AppLcmOpOcc + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Lcm_Op_Occ containing + appLcmOpOccId indicating value APP_LCM_OP_OCC_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/alcmi/v1/app_lcm_op_occs/{appLcmOpOccId}", + headers set to vHeadersInvalidToken //wrong token + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + * + * + */ + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_009_NF" + + Test objective + "Check that MEO service sends an error when it receives a query for a not existing LCM Operation Occurrency" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.10.1.3.2", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.14.2-1" // AppLcmOpOcc + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity "not" having a App_Lcm_Op_Occ containing + appLcmOpOccId indicating value NON_EXISTENT_APP_LCM_OP_OCC_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/alcmi/v1/app_lcm_op_occs/{NON_EXISTENT_APP_LCM_OP_OCC_ID}" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_OSS entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_010_BR" + + Test objective + "Check that MEO service sends an error when it receives a malformed request to create a LCM Subscription" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.3.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.13.2-1", // AppInstSubscriptionRequest + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.16.2-1" // AppLcmOpOccSubscriptionInfo + + + Config Id Config_MEC_2 + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/alcmi/v1/subscriptions" + body containing + AppInstSubscriptionRequest containing + callbackERRORUri set to CALLBACK_URI //wrong parameter + ; + ; + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; + to the MEC_OSS entity + } + } + } + + + /* + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_001a_BO_BI_002" + + Test objective + "Check that MEO service fails to send a LCM Subscription when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.3.3.1" + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/alcmi/v1/subscriptions", + "not" authorization //Token is mandatory + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_001b_BO_BI_002" + + Test objective + "Check that MEO service fails to send a LCM Subscription when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.10.1.3.2" + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/alcmi/v1/subscriptions", + headers set to vHeadersInvalidToken //wrong token + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_SUB_002_BO_BI_001" + + Test objective + "Check that MEO service fails to retrieve the list of LCM Subscriptions when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.3.3.2" + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/alcmi/v1/subscriptions", + "not" authorization //Token is mandatory + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_SUB_002_BO_BI_002" + + Test objective + "Check that MEO service fails to retrieve the list of LCM Subscriptions when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.3.3.2" + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/alcmi/v1/subscriptions", + headers set to vHeadersInvalidToken //wrong token + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_SUB_003a_BO_BI_001" + + Test objective + "Check that MEO service fails to retrieve a LCM Subscription when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.3.3.2" + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance_Subscription containing + subscriptionId set to SUBSCRIPTION_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/alcmi/v1/subscriptions/{subscriptionId}", + "not" authorization //Token is mandatory + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_SUB_003b_BO_BI_001" + + Test objective + "Check that MEO service fails to retrieve a LCM Subscription when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.3.3.2" + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance_Subscription containing + subscriptionId set to SUBSCRIPTION_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/alcmi/v1/subscriptions/{subscriptionId}", + headers set to vHeadersInvalidToken //wrong token + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + * + */ + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_012_NF" + + Test objective + "Check that MEO service sends an error when it receives a query for a not existing LCM Subscription" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.3.3.2" + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity "not" having a App_Instance_Subscription containing + subscriptionId set to NON_EXISTENT_SUBSCRIPTION_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/alcmi/v1/subscriptions/{NON_EXISTENT_SUBSCRIPTION_ID}" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_OSS entity + } + } + } + + /* + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_SUB_004_BO_BI_001" + + Test objective + "Check that MEO service fails to delete a LCM Subscription when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.3.3.2" + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance_Subscription containing + subscriptionId set to SUBSCRIPTION_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a DELETE containing + uri indicating value "/alcmi/v1/subscriptions/{subscriptionId}", + "not" authorization //Token is mandatory + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_LCM_SUB_004_BO_BI_002" + + Test objective + "Check that MEO service fails to delete a LCM Subscription when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.3.3.2" + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM and PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance_Subscription containing + subscriptionId set to SUBSCRIPTION_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/alcmi/v1/subscriptions/{subscriptionId}", + headers set to vHeadersInvalidToken //wrong token + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + * + */ + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_013_NF" + + Test objective + "Check that MEO service sends an error when it receives a deletion request for a not existing LCM Subscription" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.3.3.2" + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity "not" having a App_Instance_Subscription containing + subscriptionId set to NON_EXISTENT_SUBSCRIPTION_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + uri indicating value "/alcmi/v1/subscriptions/{NON_EXISTENT_SUBSCRIPTION_ID}" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_OSS entity + } + } + } + +} diff --git a/Test Purposes/MEO/Mm1/AppLcmMgmt/AppInstanceMgmt_BV.tplan2 b/Test Purposes/MEO/Mm1/AppLcmMgmt/AppInstanceMgmt_BV.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..2aad776e496add4a7ce75b1ca75b1a541363beb6 --- /dev/null +++ b/Test Purposes/MEO/Mm1/AppLcmMgmt/AppInstanceMgmt_BV.tplan2 @@ -0,0 +1,689 @@ +/* +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 MEC010_2_MEO_MM1_APP_INSTANCE_LCM { + + import all from MEC_Common; + + //All APP packages + + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_001_OK" + + Test objective + "Check that MEO creates a new App Package when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.1.3.1", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.3.2-1", //CreateAppInstanceRequest + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.4.2-1" //AppInstanceInfo + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/alcmi/v1/app_instances", + body containing + CreateAppInstanceRequest containing + appDId set to APP_D_ID + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "201 Created", + body containing + AppInstanceInfo containing + appInstanceId set to any_value, + appDId set to APP_D_ID, + appProvider set to any_value, + appName set to any_value, + appSoftVersion set to any_value, + appDVersion set to any_value, + appPkgId set to any_value, + instantiationState set to NOT_INSTANTIATED, + attribute _links + ; + ; + ; to the MEC_OSS entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_002_OK" + + Test objective + "Check that MEO retrieves the list of App instances when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.1.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.4.2-1" //AppInstanceInfo + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/alcmi/v1/app_instances" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + AppInstanceInfoList containing // Definition of AppInstanceInfoList is missing. How to handle with arrays? + AppInstanceInfo containing + appInstanceId set to APP_INSTANCE_ID, + appDId set to any_value, + appProvider set to any_value, + appName set to any_value, + appSoftVersion set to any_value, + appDVersion set to any_value, + appPkgId set to any_value, + instantiationState set to any_value, + attribute _links + ; + ; + ; + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_003_OK" + + Test objective + "Check that MEO retrieves an App Package when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.2.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.2.4.2-1" //AppInstanceInfo + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/alcmi/v1/app_instances/{APP_INSTANCE_ID}" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + AppInstanceInfo containing + appInstanceId set to APP_INSTANCE_ID, + appDId set to any_value, + appProvider set to any_value, + appName set to any_value, + appSoftVersion set to any_value, + appDVersion set to any_value, + appPkgId set to any_value, + instantiationState set to any_value, + attribute _links + ; + ; + ; to the MEC_OSS entity + } + } + } + + + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_004_OK" + + Test objective + "Check that MEO service deletes an App Instance when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.2.3.4" + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + uri indicating value "/alcmi/v1/app_instances/{APP_INSTANCE_ID}" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "204 No Content" + ; to the MEC_OSS entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_005_OK" + + Test objective + "Check that MEO service instantiates an App Instance when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.6.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.7.2-1" // InstantiateAppRequest + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID, + instantiationState indicating value NOT_INSTANTIATED + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/alcmi/v1/app_instances/{APP_INSTANCE_ID}/instantiate", + body containing + InstantiateAppRequest containing + appInstanceId set to APP_INSTANCE_ID, + selectedMECHostInfo set to SELECTED_MEC_HOST_INFO + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "202 Accepted", + headers containing + Location set to any_value + ; + ; to the MEC_OSS entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_006_OK" + + Test objective + "Check that MEO service terminates an App Instance when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.7.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.9.2-1" // TerminateAppRequest + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID, + instantiationState indicating value INSTANTIATED + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/alcmi/v1/app_instances/{APP_INSTANCE_ID}/terminate", + body containing + TerminateAppRequest containing + terminationType set to TERMINATION_TYPE + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "202 Accepted", + headers containing + Location set to any_value + ; + ; to the MEC_OSS entity + } + } + } + + + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_007_OK" + + Test objective + "Check that MEO service changes the status of an App Instance from its INITIAL_STATE to a given FINAL_STATE, when requested. + The following combinations INITIAL_STATE - FINAL_STATE are supported: + - STARTED/STOP + - STOPPED/START" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.8.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.8.2-1" // OperateAppRequest + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Instance containing + appInstanceId indicating value APP_INSTANCE_ID, + instantiationState indicating value INSTANTIATED, + operationalState indicating value INITIAL_STATE + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/alcmi/v1/app_instances/{APP_INSTANCE_ID}/operate", + body containing + OperateAppRequest containing + changeStateTo set to FINAL_STATE + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "202 Accepted", + headers containing + Location set to any_value + ; + ; to the MEC_OSS entity + } + } + } + + + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_008_OK" + + Test objective + "Check that MEO service retrieves info about LCM Operation Occurrency on App Instances when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.9.1.3.2", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.14.2-1" // AppLcmOpOcc + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Lcm_Op_Occ containing + appLcmOpOccId indicating value APP_LCM_OP_OCC_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/alcmi/v1/app_lcm_op_occs" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + AppLcmOpOccList containing + AppInstanceLcmOpOcc containing + appLcmOpOccId set to APP_LCM_OP_OCC_ID, + operationState set to any_value, + stateEnteredTime set to any_value, + startTime set to any_value, + lcmOperation set to any_value, + attribute _links containing + self set to "/alcmi/v1/app_lcm_op_occs/{APP_LCM_OP_OCC_ID}", + appInstance set to any_value + ; + ; + ; + ; + ; to the MEC_OSS entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_009_OK" + + Test objective + "Check that MEO service retrieves info about LCM Operation Occurrency on an App Instance when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.10.1.3.2", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.14.2-1" // AppLcmOpOcc + + Config Id Config_MEC_2 + + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Lcm_Op_Occ containing + appLcmOpOccId indicating value APP_LCM_OP_OCC_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/alcmi/v1/app_lcm_op_occs/{APP_LCM_OP_OCC_ID}" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + AppLcmOpOccList containing + AppInstanceLcmOpOcc containing + appLcmOpOccId set to APP_LCM_OP_OCC_ID, + operationState set to any_value, + stateEnteredTime set to any_value, + startTime set to any_value, + lcmOperation set to any_value, + attribute _links containing + self set to "/alcmi/v1/app_lcm_op_occs/{APP_LCM_OP_OCC_ID}", + appInstance set to any_value + ; + ; + ; + ; + ; to the MEC_OSS entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_010_OK" + + Test objective + "Check that MEO service creates a LCM Subscription when requested, where the subscription request can + have SUBSCRIPTION_TYPE AppInstanceStateChangeSubscription or AppLcmOpOccStateChangeSubscription" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.3.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.13.2-1", // AppInstSubscriptionRequest + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.10.2-1" // AppInstSubscriptionInfo + + Config Id Config_MEC_2 + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/alcmi/v1/subscriptions" + body containing + SubscriptionRequest containing + callbackUri set to CALLBACK_URI, + subscriptionType set to SUBSCRIPTION_TYPE + ; + ; + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "201 Created", + body containing + SubscriptionInfo containing + subscriptionId set to any_value, + subscriptionType set to SUBSCRIPTION_TYPE, + callbackUri set to CALLBACK_URI, + attribute _links + ; + ; + ; + to the MEC_OSS entity + } + } + } + + + + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_011_OK" + + Test objective + "Check that MEO service sends the list of LCM Subscriptions when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.3.3.2", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.13.2-1", // AppInstSubscriptionRequest + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.15.2-1", // AppLcmOpOccSubscriptionRequest + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.10.2-1", // AppInstSubscriptionInfo + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.16.2-1" // AppLcmOpOccSubscriptionInfo + + Config Id Config_MEC_2 + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a Subscription containing + subscriptionId indicating value SUBSCRIPTION_ID, + subscriptionType indicating value SUBSCRIPTION_TYPE, + callbackUri indicating value URI + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/alcmi/v1/subscriptions" + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + SubscriptionInfo containing + subscriptionId set to SUBSCRIPTION_ID, + subscriptionType set to SUBSCRIPTION_TYPE, + callbackUri set to URI, + attribute _links + ; + ; + ; + to the MEC_OSS entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_012_OK" + + Test objective + "Check that MEO service sends the information about an existing LCM subscription when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.4.3.2", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.10.2-1", // AppInstSubscriptionInfo + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.16.2-1" // AppLcmOpOccSubscriptionInfo + + Config Id Config_MEC_2 + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a Subscription containing + subscriptionId indicating value SUBSCRIPTION_ID, + subscriptionType indicating value SUBSCRIPTION_TYPE, + callbackUri indicating value URI + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/alcmi/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + SubscriptionInfo containing + subscriptionId set to SUBSCRIPTION_ID, + subscriptionType set to SUBSCRIPTION_TYPE, + callbackUri set to URI, + attribute _links + ; + ; + ; + to the MEC_OSS entity + } + } + } + + + + + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_013_OK" + + Test objective + "Check that MEO service delete an existing LCM Subscription when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.4.3.4" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity having a Subscription containing + subscriptionId indicating value SUBSCRIPTION_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + uri indicating value "/alcmi/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "204 No Content" + ; + to the MEC_OSS entity + } + } + } + + + + Test Purpose { + + TP Id "TP_MEC_MEO_INSM_WORKFLOW" + + Test objective + "Check that MEO instantiates a new application when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.1.3.1" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_LCM_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/alcmi/v1/app_instances", + body containing + CreateAppInstanceRequest containing + appDId set to APPD_ID + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a vPOST containing + uri indicating value "/alcmi/v1/app_instances", + body containing + CreateAppInstanceRequest containing //Info model not yet defined + appDId set to APPD_ID + ; + ; + ; to the MEPM entity + and + the IUT entity receives a HTTP_RESPONSE containing + status set to "201 Created", // REST API not yet defined. Response should be 201, but should be checked when REST API is ready + body containing + INSTANCE_ID_TBD set to INSTANCE_ID + ; + ; from the MEPM entity + and + the IUT entity sends a HTTP_RESPONSE containing + status set to "201 Created" + body containing + AppInstanceInfo containing + appInstanceId set to any_value, + appDId set to APP_D_ID, + appPkgId set to any_value, + instantiationState set to NOT_INSTANTIATED + + ; + ; + ; to the MEC_OSS entity + } + } + } +} diff --git a/Test Purposes/MEO/Mm1/AppLcmMgmt/AppInstanceMgmt_notifications.tplan2 b/Test Purposes/MEO/Mm1/AppLcmMgmt/AppInstanceMgmt_notifications.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..fa360eb7b0bb41faa3f4e4a11405c9f630f0c1e3 --- /dev/null +++ b/Test Purposes/MEO/Mm1/AppLcmMgmt/AppInstanceMgmt_notifications.tplan2 @@ -0,0 +1,66 @@ +/* +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 MEC010_2_MEO_MM1_LCM_NOTIF { + + import all from MEC_Common; + + Test Purpose { + TP Id "TP_MEC_MEO_LCM_014_OK" + + Test objective + "Check that the MEO sends a notification to the subscriber when an application lcm change event occurs" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.5.5.3.1", + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.18.2-1", // AppLcmOpOccNotification + "ETSI GS MEC 010-2 2.0.9, table 6.2.2.12.2-1" // AppInstNotification + + + Config Id Config_MEC_3 + PICS Selection PIC_APP_LCM_NOTIFICATIONS + + Initial conditions with { + the IUT entity having a App_Instance_Subscription containing + subscriptionType indicating value SUBSCRIPTION_TYPE, + callbackUri indicating value CALLBACK_URI, + attribute _links + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity generates a application_lcm_change_event containing + notificationId set to NOTIFICATION_ID; + } + then { + the IUT entity sends a vPOST containing + uri indicating value CALLBACK_URI, + body containing + Notification containing + notificationId set to NOTIFICATION_ID, + notificationType set to NOTIFICATION_TYPE, + subscriptionId set to any_value, + timeStamp set to any_value, + appInstanceId set to any_value, + appDId set to any_value, + attribute _links + ; + ; + ; to the MEC_SUB entity + } + } + } + +} diff --git a/Test Purposes/MEO/Mm1/AppPackageMgmt/AppPkgMgt_BO-BI.tplan2 b/Test Purposes/MEO/Mm1/AppPackageMgmt/AppPkgMgt_BO-BI.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..5a0b561ea1a533bb39673f3b85b1ac3bef0f117c --- /dev/null +++ b/Test Purposes/MEO/Mm1/AppPackageMgmt/AppPkgMgt_BO-BI.tplan2 @@ -0,0 +1,1108 @@ +/* +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 MEC010_2_MEO_MM1_PKGM_BO_BI { + + import all from MEC_Common; + + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_001_BR" //Negative case 400 Bad request + + Test objective + "Check that MEO responds with an error when it receives + a malformed request for creating a new App Package" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.1.3.1", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.2.2-1" //AppPkg + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/apmi/v1/app_packages", + body containing + AppPkg containing + "not" appPkgName //mandatory attribute + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_002_BR" //Negative case 400 Bad request + + Test objective + "Check that MEO responds with an error when it receives + a malformed request for retrieving the list of existing App Packages" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.1.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/app_packages", + query_parameters containing + operationalStatus indicating value any_value // the query parameter should be operationalState not operationalStatus + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; to the MEC_OSS entity + } + } + } + +/* + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_001_BO_BI_002" //Negative case 401 Unauthorized - no token + + Test objective + "Check that MEO responds with an error when it receives + a request for creating a new App Package without credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.1.3.1", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.2.2-1" //AppPkg + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a ntPOST containing + uri indicating value "/apmi/v1/app_packages" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_001_BO_BI_003" //Negative case 401 Unauthorized - wrong token + + Test objective + "Check that MEO responds with an error when it receives + a request for creating a new App Package with wrong credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.1.3.1", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.2.2-1" //AppPkg + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a iPOST containing + uri indicating value "/apmi/v1/app_packages" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } +*/ + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_003_NF" //Negative case 404 Not found + + Test objective + "Check that MEO responds with an error when it receives + a request for retrieving a App Package referred with a wrong ID" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.2.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity "not" having a App_Package containing + appPkgId indicating value NON_EXISTENT_APP_PKG_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/app_packages/{NON_EXISTENT_APP_PKG_ID}" //wrong AppPackageID + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_OSS entity + } + } + } + + + + +/* + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_002a_BO_BI_002" //Negative case 401 Unauthorized - no token + + Test objective + "Check that MEO responds with an error when it receives + a request for an existing App Package without credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.1.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a ntGET containing + uri indicating value "/apmi/v1/app_packages" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_002a_BO_BI_003" //Negative case 401 Unauthorized - wrong token + + Test objective + "Check that MEO responds with an error when it receives + a request for an existing App Package with wrong credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.1.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a iGET containing + uri indicating value "/apmi/v1/app_packages" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_002b_BO_BI_001" //Negative case 401 Unauthorized - no token + + Test objective + "Check that MEO responds with an error when it receives + a request for an existing App Package without credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.2.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a ntGET containing + uri indicating value "/apmi/v1/app_packages/{ON_BOARDED_APP_PKG_ID}" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_002b_BO_BI_002" //Negative case 401 Unauthorized - wrong token + + Test objective + "Check that MEO responds with an error when it receives + a request for creating a new App Package with wrong credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.2.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a iGET containing + uri indicating value "/apmi/v1/app_packages/{ON_BOARDED_APP_PKG_ID}" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_003_BO_BI_001" //Negative case 401 Unauthorized - no token + + Test objective + "Check that MEO responds with an error when it receives + a request to delete an existing App Package without credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.2.3.4", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + appDId indicating value APPD_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a DELETE containing + uri indicating value "/apmi/v1/app_packages/{appPkgId}", + "not" authorization, //Token is mandatory + body containing + AppPkg containing + appPkgName set to any_value + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_003_BO_BI_002" //Negative case 401 Unauthorized - wrong token + + Test objective + "Check that MEO responds with an error when it receives + a request for creating a new App Package with wrong credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.2.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + appDId indicating value APPD_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + headers set to vHeadersInvalidToken, //wrong token + uri indicating value "/apmi/v1/app_packages/{appPkgId}", + body containing + AppPkg containing + appPkgName set to any_value + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + +*/ + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_004_NF" //Negative case 404 Not found + + Test objective + "Check that MEO responds with an error when it receives + a request for deleting an App Package referred with a wrong ID" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.2.3.4", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity "not" having a App_Package containing + appPkgId indicating value NON_EXISTENT_APP_PKG_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + uri indicating value "/apmi/v1/app_packages/{NON_EXISTENT_APP_PKG_ID}" //wrong AppPackageID + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_005_BR" + + Test objective + "Check that MEO sends an error when it receives a malformed request to modify + the operational state of an application package" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.2.3.3" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + uri indicating value "/apmi/v1/app_packages/{ON_BOARDED_APP_PKG_ID}", + uri_parameter appPkgOperation indicating value "DISABL"; //it should be DISABLE + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request"; + to the MEC_OSS entity + } + } + } + +/* + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_004_BO_BI_002" //Negative case 401 Unauthorized - no token + + Test objective + "Check that MEO responds with an error when it receives + a request to modify an existing App Package without credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.2.3.3", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + appDId indicating value APPD_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PUT containing + uri indicating value "/apmi/v1/app_packages/{appPkgId}", + uri_parameter appPkgOperation indicating value "ENABLED", + "not" authorization //Token is mandatory + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_004_BO_BI_003" //Negative case 401 Unauthorized - wrong token + + Test objective + "Check that MEO responds with an error when it receives + a request for creating a new App Package with wrong credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.2.3.3", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + appDId indicating value APPD_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + headers set to vHeadersInvalidToken, //wrong token + uri indicating value "/apmi/v1/app_packages/{appPkgId}", + uri_parameter appPkgOperation indicating value "ENABLED" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } +*/ + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_005_NF" //Negative case 404 Not found + + Test objective + "Check that MEO responds with an error when it receives + a request for updating an App Package referred with a wrong ID" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.2.3.4", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity "not" having a App_Package containing + appPkgId indicating value NON_EXISTENT_APP_PKG_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + uri indicating value "/apmi/v1/app_packages/{NON_EXISTENT_APP_PKG_ID}", //wrong AppPackageID + uri_parameter appPkgOperation indicating value "ENABLE" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_006_NF" //Negative case 404 Not found + + Test objective + "Check that MEO responds with an error when it receives + a request to retrieve an application descriptor referred with a wrong app package ID" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.6.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity "not" having a App_Package containing + appPkgId indicating value NON_EXISTENT_APP_PKG_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + uri indicating value "/apmi/v1/app_packages/{NON_EXISTENT_APP_PKG_ID}/appDId" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_OSS entity + } + } + } + +/* + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_005_BO_BI_001" + + Test objective + "Check that MEO fails to retrieve the AppD from an App Package when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.6.3.2" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/apmi/v1/app_packages/{appPkgId}/appDId" + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized"; + to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_005_BO_BI_002" //Negative case 401 Unauthorized - wrong token + + Test objective + "Check that MEO responds with an error when it receives + a request to retrieve the AppDescriptor from an existing App Package with wrong credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.6.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + appDId indicating value APPD_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/apmi/v1/app_packages/{appPkgId}/appDId" + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_SUB_002_BO_BI_001" + + Test objective + "Check that MEO service fails retrieving Subscriptions on AppPackages when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.3.3.2" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/apmi/v1/subscriptions" + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; + to the MEC_OSS entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_SUB_002_BO_BI_002" + + Test objective + "Check that MEO service fails retrieving Subscriptions on AppPackages when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.3.3.2" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/apmi/v1/subscriptions" + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; + to the MEC_OSS entity + } + } + } +*/ + + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_007_BR" + + Test objective + "Check that MEO service sends an error when it receives a + malformed request for creating a new subscription on AppPackages" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.3.3.1" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + uri indicating value "/apmi/v1/subscriptions", + body containing + AppPkgSubscription containing + callbackUri set to URI, + subscriptionType set to "ONBOARDING" // Enum should be "ON-BOARDING" + ; + ; + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; + to the MEC_OSS entity + } + } + } + +/* + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_SUB_001_BO_BI_002" + + Test objective + "Check that MEO service fails creating new Subscription on AppPackages when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.3.3.1" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + uri indicating value "/apmi/v1/subscriptions", + body containing + AppPkgSubscription containing + callbackUri set to URI, + subscriptionType set to "ON_BOARDING" + ; + ; + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; + to the MEC_OSS entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_SUB_001_BO_BI_003" + + Test objective + "Check that MEO service fails creating new Subscription on AppPackages when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.3.3.1" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/apmi/v1/subscriptions", + body containing + AppPkgSubscription containing + callbackUri set to URI, + subscriptionType set to "ON_BOARDING" + ; + ; + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; + to the MEC_OSS entity + } + } + } + + + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_007_NF" + + Test objective + "Check that MEO service retrieving a specific subscription on AppPackages when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.4.3.2" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + subscriptionId indicating value SUBSCRIPTION_ID + ; + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/apmi/v1/subscriptions/{subscriptionId}" + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; + to the MEC_OSS entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_SUB_004_BO_BI_002" + + Test objective + "Check that MEO service fails retrieving a specific subscription on AppPackages when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.4.3.2" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + subscriptionId indicating value SUBSCRIPTION_ID + ; + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/apmi/v1/subscriptions/{subscriptionId}" + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; + to the MEC_OSS entity + } + } + } + +*/ + + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_009_NF" + + Test objective + "Check that MEO service sends an error when it receives a query for a subscription on AppPackages + with a wrong identifier" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.4.3.2" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity "not" having a Subscription containing + subscriptionId indicating value NON_EXISTENT_SUBSCRIPTION_ID + ; + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/subscriptions/{NON_EXISTENT_SUBSCRIPTION_ID}" + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; + to the MEC_OSS entity + } + } + } + + +/* + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_SUB_003_BO_BI_001" + + Test objective + "Check that MEO service fails deleting a specific subscription on AppPackages when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.4.3.4" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + subscriptionId indicating value SUBSCRIPTION_ID + ; + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a DELETE containing + uri indicating value "/apmi/v1/subscriptions/{subscriptionId}" + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; + to the MEC_OSS entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEO_MM1_PKGM_SUB_003_BO_BI_002" + + Test objective + "Check that MEO service fails deleting a specific subscription on AppPackages when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.4.3.4" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + subscriptionId indicating value SUBSCRIPTION_ID + ; + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/apmi/v1/subscriptions/{subscriptionId}" + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; + to the MEC_OSS entity + } + } + } + +*/ + + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_010_NF" + + Test objective + "Check that MEO service sends an error when it receives a deletion request for a subscription on AppPackages + with a wrong identifier" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.4.3.4" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity "not" having a Subscription containing + subscriptionId indicating value NON_EXISTENT_SUBSCRIPTION_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + uri indicating value "/apmi/v1/subscriptions/{NON_EXISTENT_SUBSCRIPTION_ID}" + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; + to the MEC_OSS entity + } + } + } +} diff --git a/Test Purposes/MEO/Mm1/AppPackageMgmt/AppPkgMgt_BV.tplan2 b/Test Purposes/MEO/Mm1/AppPackageMgmt/AppPkgMgt_BV.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..e2daae69243a0b649c80d78e227122c849af0242 --- /dev/null +++ b/Test Purposes/MEO/Mm1/AppPackageMgmt/AppPkgMgt_BV.tplan2 @@ -0,0 +1,496 @@ +/* +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 MEC010_2_MEO_MM1_PKGM_BV { + + import all from MEC_Common; + + //All APP packages + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_001_OK" + + Test objective + "Check that MEO creates a new App Package when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.1.3.1", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1", //OnboardedAppPkgInfo + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.2.2-1" //AppPkg + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/apmi/v1/app_packages", + body containing + AppPkg containing + appPkgName set to APP_PKG_NAME, + appPkgVersion set to APP_PKG_VERSION, + checksum set to CHECKSUM, + appPkgPath set to APP_PKG_PATH + ; + ; + ; from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "201 Created", + body containing + OnboardedAppPkgInfoList containing + OnboardedAppPkgInfo containing + appPkgId set to any_value, + appDId set to any_value, + appName set to APP_PKG_NAME, + appSoftwareVersion set to any_value, + appDVersion set to APP_PKG_VERSION, + checksum set to CHECKSUM, + attribute softwareImages, + operationalState set to "ENABLED", + usageState set to "NOT_IN_USE", + attribute _links + ; + ; + ; + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_002_OK" + + Test objective + "Check that MEO returns the list of App Packages when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.1.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + appDId indicating value APPD_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/app_packages"; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + OnboardedAppPkgInfoList containing + OnboardedAppPkgInfo containing + appPkgId set to ON_BOARDED_APP_PKG_ID, + appDId set to APPD_ID, + appName set to any_value, + appSoftwareVersion set to any_value, + appDVersion set to any_value, + checksum set to any_value, + attribute softwareImages, + operationalState set to any_value, + usageState set to any_value, + attribute _links + ; + ; + ; + ; to the MEC_OSS entity + } + } + } + + //Individual APP packages + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_003_OK" + + Test objective + "Check that MEO returns the an App Package when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.2.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + appDId indicating value APPD_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/app_packages/{ON_BOARDED_APP_PKG_ID}"; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + OnboardedAppPkgInfo containing + appPkgId set to ON_BOARDED_APP_PKG_ID, + appDId set to APPD_ID, + appName set to any_value, + appSoftwareVersion set to any_value, + appDVersion set to any_value, + checksum set to any_value, + attribute softwareImages, + operationalState set to any_value, + usageState set to any_value, + attribute _links + ; + ; + ; to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_004_OK" + + Test objective + "Check that MEO deletes an App Package when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.2.3.4" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + uri indicating value "/apmi/v1/app_packages/{ON_BOARDED_APP_PKG_ID}"; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "204 No Content" + ; to the MEC_OSS entity + } + } + } + + //TODO FIX SPACES + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_005_OK" + + Test objective + "Check that MEO changes the status of an App Package from INITIAL_OP_STATE with an operation of type OPERATION_VALUE when requested, with the following possible combinations: + - ENABLED, DISABLE + - DISABLED, ENABLE + - DELETION_PENDING, ABORT + " + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.2.3.3" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + operationalState set to INITIAL_OP_STATE; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + uri indicating value "/apmi/v1/app_packages/{ON_BOARDED_APP_PKG_ID}", + uri_parameter appPkgOperation indicating value OPERATION_VALUE; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK"; + to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_006_OK" + + Test objective + "Check that MEO returns the Application Descriptor contained on a on-boarded Application Package when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.6.3.2" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/app_packages/{ON_BOARDED_APP_PKG_ID}/appDId", + accept set to ACCEPTED_CONTENT_TYPE + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE_ANY_CONTENT containing + status set to "200 OK", + content_type set to ACCEPTED_CONTENT_TYPE, + body set to FILE + ; + to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_007_OK" + + Test objective + "Check that MEO service sends a Application Package Subscription when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.3.3.1" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/apmi/v1/subscriptions" + body containing + AppPkgSubscription containing + callbackUri set to URI, + subscriptionType set to "ON_BOARDING" + ; + ; + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "201 Created", + body containing + AppPkgSubscriptionInfo containing + subscriptionId set to any_value, + subscriptionType set to "ON_BOARDING", + callbackUri set to URI, + attribute _links + ; + ; + ; + to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_008_OK" + + Test objective + "Check that MEO service returns the list of Application Package Subscriptions when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.3.3.2" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a Subscription containing + subscriptionId indicating value SUBSCRIPTION_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/subscriptions" + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + AppPkgSubscriptionInfoList containing + AppPkgSubscriptionInfo containing + subscriptionId set to SUBSCRIPTION_ID, + subscriptionType set to any_value, + callbackUri set to any_value, + _links containing + self set to "/apmi/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + ; + ; + ; + ; + to the MEC_OSS entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_009_OK" + + Test objective + "Check that MEO service returns an Application Package Subscription when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.4.3.2" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a Subscription containing + subscriptionId indicating value SUBSCRIPTION_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + AppPkgSubscriptionInfo containing + subscriptionId set to SUBSCRIPTION_ID, + subscriptionType set to any_value, + callbackUri set to any_value, + _links containing + self set to "/apmi/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + ; + ; + ; + to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_010_OK" + + Test objective + "Check that MEO service deletes an Application Package Subscription when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.4.3.4" + + Config Id Config_MEC_2 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a Subscription containing + subscriptionId indicating value SUBSCRIPTION_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + uri indicating value "/apmi/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + from the MEC_OSS entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "204 No Content" + ; + to the MEC_OSS entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEO_PKGM_011_OK" + + Test objective + "Check that the MEO service sends a application package notification + if the MEO service has an associated subscription and the event is generated" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.3.5.1" + + Config Id Config_MEC_1 + PICS Selection PIC_APP_PACKAGE_NOTIFICATIONS + + Initial conditions with { + the IUT entity having a Subscriptions containing + subscriptionId set to SUBSCRIPTION_ID, + subscriptionType set to "ON_BOARDING", + callbackUri set to CALLBACK_URI + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity generates a on_boarding_event containing + subscriptionId set to SUBSCRIPTION_ID; + } + then { + the IUT entity sends a vPOST containing + uri indicating value CALLBACK_URI, + body containing + notificationId set to any_value, + notificationType indicating value "ON_BOARDING", + subscriptionId set to SUBSCRIPTION_ID, + timeStamp set to any_value, + appPkgId set to any_value, + appDId set to any_value, + _links containing + self set to "/apmi/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + ; + ; to the MEC_SUB entity + } + } + } +} diff --git a/Test Purposes/MEPM/Mm3/AppPackageMgmt/AppPkgMgt_BO-BI.tplan2 b/Test Purposes/MEPM/Mm3/AppPackageMgmt/AppPkgMgt_BO-BI.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..48628e3594efeca157a5dbe6202cd9806ab03b25 --- /dev/null +++ b/Test Purposes/MEPM/Mm3/AppPackageMgmt/AppPkgMgt_BO-BI.tplan2 @@ -0,0 +1,783 @@ +/* +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 MEC010_2_MEO_MM3_PKGM_BO_BI { + + import all from MEC_Common; + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_002b_BO_BI_004" //Negative case 404 Not found + + Test objective + "Check that MEPM responds with an error when it receives + a request for returning a App Package referred with a wrong ID" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.2.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + appDId indicating value APPD_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/app_packages/{WRONG_APP_PKG_ID}" //wrong AppPackageID + ; from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEO entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_002a_BO_BI_001" //Negative case 400 Bad request + + Test objective + "Check that MEPM responds with an error when it receives + a malformed request for requesting the list of existing App Packages" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.1.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/app_packages", + query_parameters containing + operationalStatus indicating value ENABLED // the query parameter should be operationalState not operationalStatus + ; + ; from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; to the MEO entity + } + } + } + + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_002a_BO_BI_002" //Negative case 401 Unauthorized - no token + + Test objective + "Check that MEPM responds with an error when it receives + a request for an existing App Package without credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.1.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/apmi/v1/app_packages", + "not" authorization //Token is mandatory + ; from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEO entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_002a_BO_BI_003" //Negative case 401 Unauthorized - wrong token + + Test objective + "Check that MEPM responds with an error when it receives + a request for an existing App Package with wrong credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.1.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing // Not clear what method is received. Should contain in in HttpMsg definition in mec-common. + headers set to vHeadersInvalidToken, //wrong token + uri indicating value "/apmi/v1/app_packages" + ; from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEO entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_002b_BO_BI_002" //Negative case 401 Unauthorized - no token + + Test objective + "Check that MEPM responds with an error when it receives + a request an existing App Package without credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.2.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + appDId indicating value APPD_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/apmi/v1/app_packages/{appPkgId}", + "not" authorization, //Token is mandatory + body containing + AppPkg containing + appPkgName set to any_value + ; + ; + ; from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEO entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_002b_BO_BI_003" //Negative case 401 Unauthorized - wrong token + + Test objective + "Check that MEPM responds with an error when it receives + a request for creating a new App Package with wrong credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.2.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + appDId indicating value APPD_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + headers set to vHeadersInvalidToken, //wrong token + uri indicating value "/apmi/v1/app_packages/{appPkgId}", + body containing + AppPkg containing + appPkgName set to any_value + ; + ; + ; from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEO entity + } + } + } + + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_005_BO_BI_001" + + Test objective + "Check that MEPM fails to retrieve the AppD from an App Package when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.4.3.2" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/apmi/v1/app_packages/{appPkgId}/app_descriptor" + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized"; + to the MEO entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_005_BO_BI_002" //Negative case 401 Unauthorized - wrong token + + Test objective + "Check that MEPM responds with an error when it receives + a request to retrieve the AppDescriptor from an existing App Package with wrong credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.4.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + appDId indicating value APPD_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/apmi/v1/app_packages/{appPkgId}/app_descriptor" + ; from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEO entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_006_BO_BI_001" + + Test objective + "Check that MEPM fails to retrieve the Package Content from an App Package when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.3.3.2" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/apmi/v1/app_packages/{appPkgId}/appPkgContent" + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized"; + to the MEO entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_006_BO_BI_002" //Negative case 401 Unauthorized - wrong token + + Test objective + "Check that MEPM responds with an error when it receives + a request to retrieve the Package Content from an existing App Package with wrong credentials" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.3.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + appDId indicating value APPD_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/apmi/v1/app_packages/{appPkgId}/appPkgContent" + ; from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEO entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_SUB_002_BO_BI_001" + + Test objective + "Check that MEPM service fails retrieving Subscriptions on AppPackages when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.5.3.2" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/apmi/v1/subscriptions" + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; + to the MEO entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_SUB_002_BO_BI_002" + + Test objective + "Check that MEPM service fails retrieving Subscriptions on AppPackages when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.5.3.2" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/apmi/v1/subscriptions" + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; + to the MEO entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_SUB_001_BO_BI_001" + + Test objective + "Check that MEPM service fails creating new Subscription on AppPackages when requested using incorrect parameters" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.5.3.1" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + uri indicating value "/apmi/v1/subscriptions", + body containing + AppPkgSubscription containing + callbackUri set to URI, + subscriptionType set to "ONBOARDING" // Enum should be "ON-BOARDING" + ; + ; + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; + to the MEO entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_SUB_001_BO_BI_002" + + Test objective + "Check that MEPM service fails creating new Subscription on AppPackages when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.5.3.1" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + uri indicating value "/apmi/v1/subscriptions", + body containing + AppPkgSubscription containing + callbackUri set to URI, + subscriptionType set to "ON_BOARDING" + ; + ; + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; + to the MEO entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_SUB_001_BO_BI_003" + + Test objective + "Check that MEPM service fails creating new Subscription on AppPackages when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.5.3.1" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/apmi/v1/subscriptions", + body containing + AppPkgSubscription containing + callbackUri set to URI, + subscriptionType set to "ON_BOARDING" + ; + ; + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; + to the MEO entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_SUB_004_BO_BI_001" + + Test objective + "Check that MEPM service fails retrieving a specific subscription on AppPackages when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.6.3.2" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + subscriptionId indicating value SUBSCRIPTION_ID + ; + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/apmi/v1/subscriptions/{subscriptionId}" + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; + to the MEO entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_SUB_004_BO_BI_002" + + Test objective + "Check that MEPM service fails retrieving a specific subscription on AppPackages when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.6.3.2" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + subscriptionId indicating value SUBSCRIPTION_ID + ; + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/apmi/v1/subscriptions/{subscriptionId}" + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; + to the MEO entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_SUB_004_BO_BI_003" + + Test objective + "Check that MEPM service fails retrieving a specific subscription on AppPackages when requested using wrong identifier" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.6.3.2" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/subscriptions/{WRONG_SUBSCRIPTION_ID}" + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; + to the MEO entity + } + } + } + + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_SUB_003_BO_BI_001" + + Test objective + "Check that MEPM service fails deleting a specific subscription on AppPackages when requested using no token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.6.3.4" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + subscriptionId indicating value SUBSCRIPTION_ID + ; + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a DELETE containing + uri indicating value "/apmi/v1/subscriptions/{subscriptionId}" + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; + to the MEO entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_SUB_003_BO_BI_002" + + Test objective + "Check that MEPM service fails deleting a specific subscription on AppPackages when requested using wrong token" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.6.3.4" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + subscriptionId indicating value SUBSCRIPTION_ID + ; + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a HttpMsg containing + uri indicating value "/apmi/v1/subscriptions/{subscriptionId}" + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; + to the MEO entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_SUB_003_BO_BI_001" + + Test objective + "Check that MEPM service fails deleting a specific subscription on AppPackages when requested using wrong identifier" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.6.3.4" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity being_in idle_state + + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + uri indicating value "/apmi/v1/subscriptions/{WRONG_SUBSCRIPTION_ID}" + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; + to the MEO entity + } + } + } +} diff --git a/Test Purposes/MEPM/Mm3/AppPackageMgmt/AppPkgMgt_BV.tplan2 b/Test Purposes/MEPM/Mm3/AppPackageMgmt/AppPkgMgt_BV.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..146966d009b194f228723fbd0319fa2a891c9c21 --- /dev/null +++ b/Test Purposes/MEPM/Mm3/AppPackageMgmt/AppPkgMgt_BV.tplan2 @@ -0,0 +1,431 @@ +/* +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 MEC010_2_MEPM_MM3_PKGM_BV { + + import all from MEC_Common; + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_002a" + + Test objective + "Check that MEPM returns the list of App Packages when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.1.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + appDId indicating value APPD_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/app_packages"; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + OnboardedAppPkgInfoList containing + OnboardedAppPkgInfo containing + appPkgId set to APP_PKG_ID, + appDId set to APPD_ID, + appName set to APP_NAME, //name changed from appPkgName to appName + appSoftwareVersion set to APP_SOFTWARE_VERSION, + appDVersion set to APPD_VERSION, + checksum set to CHECKSUM, + softwareImagesList containing + AppPkgSWImageInfo containing + appPkgSWImageData set to any_value + ; + ;, + appPkgPath set to APP_PKG_PATH, + operationalState set to "ENABLED", + usageState set to "NOT_IN_USE", + _links containing + self set to any_value, //LINKTYPE VALUE, HOW TO DEFINE IT? + appD set to any_value, //LINKTYPE VALUE, HOW TO DEFINE IT? + appPkgContent set to any_value //LINKTYPE VALUE, HOW TO DEFINE IT? + ; + ; + ; + ; + ; to the MEO entity + } + } + } + + //Individual APP packages + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_002b" + + Test objective + "Check that MEPM returns the an App Package when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.2.3.2", + "ETSI GS MEC 010-2 2.0.9, Table 6.2.3.3.2-1" //OnboardedAppPkgInfo + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID, + appDId indicating value APPD_ID; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/app_packages/{appPkgId}"; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + OnboardedAppPkgInfo containing + appPkgId set to APP_PKG_ID, + appDId set to APPD_ID, + appName set to APP_NAME, //name changed from appPkgName to appName + appSoftwareVersion set to APP_SOFTWARE_VERSION, + appDVersion set to APPD_VERSION, + checksum set to CHECKSUM, + softwareImagesList containing + AppPkgSWImageInfo containing + appPkgSWImageData set to any_value + ; + ;, + appPkgPath set to APP_PKG_PATH, + operationalState set to "ENABLED", + usageState set to "NOT_IN_USE", + _links containing + self set to any_value, //LINKTYPE VALUE, HOW TO DEFINE IT? + appD set to any_value, //LINKTYPE VALUE, HOW TO DEFINE IT? + appPkgContent set to any_value //LINKTYPE VALUE, HOW TO DEFINE IT? + ; + ; + ; + ; to the MEO entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_005" + + Test objective + "Check that MEPM returns the Application Descriptor contained on a on-boarded Application Package when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.4.3.2" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/app_packages/{appPkgId}/app_descriptor" + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + AppD set to FILE //SHOULD BE A FILE OR A ZIPPED FILE. HOW CAN WE CHECK THAT? + ; + ; + to the MEO entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_006" + + Test objective + "Check that MEPM returns the content on a on-boarded Application Package when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.3.3.2" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/app_packages/{appPkgId}/appPkgContent" + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + AppD set to FILE //SHOULD BE A FILE OR A ZIPPED FILE. HOW CAN WE CHECK THAT? + ; + ; + to the MEO entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_SUB_001" + + Test objective + "Check that MEPM service sends a Application Package Subscription when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.5.3.1" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/apmi/v1/subscriptions" + body containing + AppPkgSubscription containing + callbackUri set to URI, + subscriptionType set to "ON_BOARDING" + ; + ; + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "201 Created", + body containing + AppPkgSubscriptionInfo containing + subscriptionId set to SUBSCRIPTION_ID, + subscriptionType set to "ON_BOARDING", + callbackUri set to URI, + _links containing + self set to "/apmi/v1/subscriptions/{subscriptionId}" + ; + ; + ; + ; + to the MEO entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_SUB_002" + + Test objective + "Check that MEPM service returns the list of Application Package Subscriptions when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.5.3.2" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + appPkgId indicating value ON_BOARDED_APP_PKG_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/subscriptions" + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + AppPkgSubscriptionInfoList containing + AppPkgSubscriptionInfo containing + subscriptionId set to SUBSCRIPTION_ID, + subscriptionType set to "ON_BOARDING", + callbackUri set to CALLBACK_URI, + _links containing + self set to "/apmi/v1/subscriptions/{subscriptionId}" + ; + ; + ; + ; + ; + to the MEO entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_SUB_004" + + Test objective + "Check that MEPM service returns an Application Package Subscription when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.6.3.2" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + subscriptionId indicating value SUBCRIPTION_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/apmi/v1/subscriptions/{subscriptionId}" + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + AppPkgSubscriptionInfo containing + subscriptionId set to SUBSCRIPTION_ID, + subscriptionType set to "ON_BOARDING", + callbackUri set to CALLBACK_URI, + _links containing + self set to uri + ; + ; + ; + ; + to the MEO entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_SUB_003" + + Test objective + "Check that MEPM service deletes an Application Package Subscription when requested" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.6.3.4" + + Config Id Config_MEC_5 + PICS Selection PIC_APP_PACKAGE_MANAGEMENT + + Initial conditions with { + the IUT entity having a App_Package containing + subscriptionId indicating value SUBCRIPTION_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + uri indicating value "/apmi/v1/subscriptions/{subscriptionId}" + ; + from the MEO entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "204 No Content" + ; + to the MEO entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_MEPM_MM3_PKGM_NOTIF_01" + + Test objective + "Check that the MEO service sends a application package notification + if the MEO service has an associated subscription and the event is generated" + + Reference "ETSI GS MEC 010-2 2.0.9, clause 7.4.7.3.1" + + Config Id Config_MEC_1 + PICS Selection PIC_APP_PACKAGE_NOTIFICATIONS + + Initial conditions with { + the IUT entity having a MEPM_subscription containing + subscriptionId set to SUBSCRIPTION_ID, + subscriptionType set to "ON_BOARDING", + callbackUri set to CALLBACK_URI + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity generates a on_boarding_event containing + subscriptionId set to SUBSCRIPTION_ID; + } + then { + the IUT entity sends a vPOST containing + uri indicating value CALLBACK_URI, + body containing + notificationId set to NOTIFICATION_ID, + notificationType indicating value "ON_BOARDING", + subscriptionId set to SUBSCRIPTION_ID, + timeStamp set to DATE_TIME, + appPkgId set to APP_PKG_ID, + appDId set to APPD_ID, + _links containing + self set to "/apmi/v1/subscriptions/{subscriptionId}" + ; + ; + ; to the MEC_SUB entity + } + } + } +} diff --git a/Test Purposes/App/Mm3/AppPackageMgmt/AppPkgMgt_notifications.tplan2 b/Test Purposes/MEPM/Mm3/AppPackageMgmt/AppPkgMgt_notifications.tplan2 similarity index 97% rename from Test Purposes/App/Mm3/AppPackageMgmt/AppPkgMgt_notifications.tplan2 rename to Test Purposes/MEPM/Mm3/AppPackageMgmt/AppPkgMgt_notifications.tplan2 index 1fd1c0d95ced65ff6001a635646d64b63a76aa4d..29b92d039d21049862eb0a3e0dceffc3e771a31e 100644 --- a/Test Purposes/App/Mm3/AppPackageMgmt/AppPkgMgt_notifications.tplan2 +++ b/Test Purposes/MEPM/Mm3/AppPackageMgmt/AppPkgMgt_notifications.tplan2 @@ -27,7 +27,7 @@ Package MEC010_2_MEO_MM3_PKGM_BO { "ETSI GS MEC 010-2 1.2.2, table Table 6.2.3.8.2-1" //AppPkgNotification Config Id Config_MEC_3 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_NOTIFICATIONS + PICS Selection PIC_APP_PACKAGE_NOTIFICATIONS Initial conditions with { the IUT entity having a App_Package containing diff --git a/Test Purposes/App/Mm3/AppPackageMgmt/AppPkgMgt_subscriptions.tplan2 b/Test Purposes/MEPM/Mm3/AppPackageMgmt/AppPkgMgt_subscriptions.tplan2 similarity index 95% rename from Test Purposes/App/Mm3/AppPackageMgmt/AppPkgMgt_subscriptions.tplan2 rename to Test Purposes/MEPM/Mm3/AppPackageMgmt/AppPkgMgt_subscriptions.tplan2 index 19895e0ff33adb4482fcdccae77897d3b5ae57a2..e02bbf976128bf74df36b5f07c1a298df3b26a01 100644 --- a/Test Purposes/App/Mm3/AppPackageMgmt/AppPkgMgt_subscriptions.tplan2 +++ b/Test Purposes/MEPM/Mm3/AppPackageMgmt/AppPkgMgt_subscriptions.tplan2 @@ -27,7 +27,7 @@ Package MEC010_2_MEO_MM3_PKGM_BO { "ETSI GS MEC 010-2 1.2.2, Table 6.2.3.6.2-1" //AppPkgSubscriptionInfo Config Id Config_MEC_3 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_MANAGEMENT + PICS Selection PIC_APP_PACKAGE_MANAGEMENT Initial conditions with { the IUT entity being_in idle_state @@ -71,7 +71,7 @@ Package MEC010_2_MEO_MM3_PKGM_BO { "ETSI GS MEC 010-2 1.2.2, Table 6.2.3.7.2-1" //AppPkgSubscriptionLinkList Config Id Config_MEC_3 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_MANAGEMENT + PICS Selection PIC_APP_PACKAGE_MANAGEMENT Initial conditions with { the IUT entity having a App_Package_subscription containing @@ -114,7 +114,7 @@ Package MEC010_2_MEO_MM3_PKGM_BO { Config Id Config_MEC_3 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_MANAGEMENT + PICS Selection PIC_APP_PACKAGE_MANAGEMENT Initial conditions with { the IUT entity having a App_Package_subscription containing @@ -152,7 +152,7 @@ Package MEC010_2_MEO_MM3_PKGM_BO { Reference "ETSI GS MEC 010-2 1.2.2, clause 7.3.4.3.4" Config Id Config_MEC_3 - PICS Selection PIC_APP_PACKAGE and PIC_APP_PACKAGE_MANAGEMENT + PICS Selection PIC_APP_PACKAGE_MANAGEMENT Initial conditions with { the IUT entity having a App_Package_subscription containing diff --git a/Test Purposes/SRV/Mp1/Ams/Ams_BO_BI.tplan2 b/Test Purposes/SRV/Mp1/Ams/Ams_BO_BI.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..6b8102376d38e02daa8722a85405bbc6510d1c9d --- /dev/null +++ b/Test Purposes/SRV/Mp1/Ams/Ams_BO_BI.tplan2 @@ -0,0 +1,796 @@ +/* +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 MEC021_APP_MP1_AMS_BV { + + import all from MEC_Common; + + Test Purpose { + TP Id "TP_MEC_AMS_01_NEG_A" // Negative test: 400 Bad request + + Test objective + "Check that the AMS service returns an error when receives a query about a registered application mobility service with wrong parameters" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.3.3.1" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AppMobilityServiceInfo containing + appMobilityServiceId indicating value APP_MOBILITY_SERVICE_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/amsi/v1/appMobilityServices", + query_parameters containing + appMobilityService indicating value APP_MOBILITY_SERVICE_ID //wrong parameter, it should be appMobilityServiceId + ; + ; from the AMS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; to the AMS_CLIENT entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_01_NEG_B" // Negative test: 401 Unauthorized (No token) + + Test objective + "Check that the AMS service returns an error when receives a query about a registered application mobility service without token" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.3.3.1" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AppMobilityServiceInfo containing + appMobilityServiceId indicating value APP_MOBILITY_SERVICE_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/amsi/v1/appMobilityServices", + "not" authorization + ; from the AMS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the AMS_CLIENT entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_01_NEG_C" // Negative test: 401 Unauthorized (Wrong token) + + Test objective + "Check that the AMS service returns an error when receives a query about a registered application mobility service with a wrong token" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.3.3.1" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AppMobilityServiceInfo containing + appMobilityServiceId indicating value APP_MOBILITY_SERVICE_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/amsi/v1/appMobilityServices", + headers set to vHeadersInvalidToken + ; from the AMS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the AMS_CLIENT entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_02_NEG_A" // Negative test: 400 Bad request + + Test objective + "Check that the AMS service sends an error when it receives a malformatter request to create a new application mobility service" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.3.3.4" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/amsi/v1/appMobilityServices", + body containing + RegistrationRequest containing //Note: at the moment the only element that is defined is RegistrationInfo. Not sure if they are the same. + serviceConsumerId containing + appInstance set to APP_INS_ID //wrong parameter, it should be appInstanceId + ; + ; + ; + ; from the AMS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; to the AMS_CLIENT entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_02_NEG_B" // Negative test: 401 Unauthorized - no token + + Test objective + "Check that the AMS service sends an error when it receives a request to create a new application mobility service without token" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.3.3.4" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + uri indicating value "/amsi/v1/appMobilityServices", + "not" authorization + ; from the AMS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the AMS_CLIENT entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_02_NEG_C" // Negative test: 401 Unauthorized - wrong token + + Test objective + "Check that the AMS service sends an error when it receives a request to create a new application mobility service with a wrong token" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.3.3.4" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + uri indicating value "/amsi/v1/appMobilityServices", + headers set to vHeadersInvalidToken + ; from the AMS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the AMS_CLIENT entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_03_NEG_A" // Negative test: 400 Bad request + + Test objective + "Check that the AMS service sends an error when it receives a malformatted information query about the available subscriptions" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.6.3.1" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ;, + subscriptionType indicating value "MobilityProcedureSubscription" + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/amsi/v1/subscriptions/", + query_parameters containing + subscriptionTyp indicating value "MobilityProcedureSubscription" //wrong parameter, it should be subscriptionType + ; + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_03_NEG_B" // Negative test: 401 Unauthorized - no token + + Test objective + "Check that the AMS service sends an error when it receives an information query about the available subscriptions without token" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.6.3.1" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ;, + subscriptionType indicating value "MobilityProcedureSubscription" + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/amsi/v1/subscriptions/", + "not" authorization + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_03_NEG_C" // Negative test: 401 Unauthorized - wrong token + + Test objective + "Check that the AMS service sends an error when it receives an information query about the available subscriptions with a wrong token" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.6.3.1" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ;, + subscriptionType indicating value "MobilityProcedureSubscription" + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/amsi/v1/subscriptions/", + headers set to vHeadersInvalidToken + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_04_NEG_A" // Negative test: 400 Bad request + + Test objective + "Check that the AMS service sends an error when it receives a malformatted request to create a notification subscription" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.6.3.4" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/amsi/v1/subscriptions/", + body containing + MobilityProcedureSubscription containing + subscriptionTyp indicating value "MobilityProcedureSubscription", //wrong parameter, it should be subscriptionType + callbackReference indicating value CALLBACK_REFERENCE + ; + ; + ; from the AMS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; to the AMS_CLIENT entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_04_NEG_B" // Negative test: 401 Unauthorized - no token + + Test objective + "Check that the AMS service sends an error when it receives a request to create a notification subscription without token" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.6.3.4" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + uri indicating value "/amsi/v1/subscriptions/", + "not" authorization + ; from the AMS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the AMS_CLIENT entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_04_NEG_C" // Negative test: 401 Unauthorized - wrong token + + Test objective + "Check that the AMS service sends an error when it receives a request to create a notification subscription with a wrong token" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.6.3.4" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a POST containing + uri indicating value "/amsi/v1/subscriptions/", + headers set to vHeadersInvalidToken + ; from the AMS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the AMS_CLIENT entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_05_NEG_B" // Negative test: 401 Unauthorized - no token + + Test objective + "Check that the AMS service returns an error when receives a query about a specific subscription without token" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.7.3.1" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ;, + callbackReference indicating value CALLBACK_REFERENCE, + subscriptionType indicating value "MobilityProcedureSubscription" + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value SUBSCRIPTION_HREF_VALUE + "not" authorization + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_05_NEG_C" // Negative test: 401 Unauthorized - wrong token + + Test objective + "Check that the AMS service returns an error when receives a query about a specific subscription with a wrong token" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.7.3.1" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ;, + callbackReference indicating value CALLBACK_REFERENCE, + subscriptionType indicating value "MobilityProcedureSubscription" + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value SUBSCRIPTION_HREF_VALUE, + headers set to vHeadersInvalidToken + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_05_NEG_D" // Negative test: 404 Not Found + + Test objective + "Check that the AMS service returns an error when receives a query about a not existing subscription" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.7.3.1" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity "not" having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value SUBSCRIPTION_HREF_VALUE + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_06_NEG_B" // Negative test: 401 Unauthorized - no token + + Test objective + "Check that the AMS service sends an error when it receives a delete request for a given subscription without token" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.7.3.5" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ;, + callbackReference indicating value CALLBACK_REFERENCE, + subscriptionType indicating value "MobilityProcedureSubscription" + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a DELETE containing + uri indicating value SUBSCRIPTION_HREF_VALUE + "not" authorization + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_06_NEG_C" // Negative test: 401 Unauthorized - wrong token + + Test objective + "Check that the AMS service sends an error when it receives a delete request for a given subscription with a wrong token" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.7.3.5" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ;, + callbackReference indicating value CALLBACK_REFERENCE, + subscriptionType indicating value "MobilityProcedureSubscription" + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a DELETE containing + uri indicating value SUBSCRIPTION_HREF_VALUE, + headers set to vHeadersInvalidToken + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_06_NEG_D" // Negative test: 404 Not Found + + Test objective + "Check that the AMS service sends an error when it receives a delete request for a not existing subscription" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.7.3.5" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity "not" having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ;, + callbackReference indicating value CALLBACK_REFERENCE, + subscriptionType indicating value "MobilityProcedureSubscription" + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + uri indicating value SUBSCRIPTION_HREF_VALUE + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_07_NEG_A" // Negative test: 400 Bad request + + Test objective + "Check that the AMS service sends an error when it receives a malformatted modify request for a given subscription" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.7.3.2" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ;, + callbackReference indicating value CALLBACK_REFERENCE, + subscriptionType indicating value "MobilityProcedureSubscription" + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + uri indicating value SUBSCRIPTION_HREF_VALUE, + body containing + MobilityProcedureSubscription containing + subscriptionType indicating value "MobilityProcedureSubscription", + callbackReferenc indicating value NEW_CALLBACK_REFERENCE //wrong field, it should be callbackReference + ; + ; + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_07_NEG_B" // Negative test: 401 Unauthorized - no token + + Test objective + "Check that the AMS service sends an error when it receives a modify request for a given subscription without token" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.7.3.2" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ;, + callbackReference indicating value CALLBACK_REFERENCE, + subscriptionType indicating value "MobilityProcedureSubscription" + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PUT containing + uri indicating value SUBSCRIPTION_HREF_VALUE, + "not" authorization + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_07_NEG_C" // Negative test: 401 Unauthorized - wrong token + + Test objective + "Check that the AMS service sends an error when it receives a modify request for a given subscription with a wrong token" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.7.3.2" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ;, + callbackReference indicating value CALLBACK_REFERENCE, + subscriptionType indicating value "MobilityProcedureSubscription" + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PUT containing + uri indicating value SUBSCRIPTION_HREF_VALUE, + headers set to vHeadersInvalidToken + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_07_NEG_D" // Negative test: 404 Not found + + Test objective + "Check that the AMS service sends an error when it receives a modify request for a not existing subscription" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.7.3.2" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity "not" having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + uri indicating value SUBSCRIPTION_HREF_VALUE + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_SUB entity + } + } + } + +} diff --git a/Test Purposes/SRV/Mp1/Ams/Ams_BV.tplan2 b/Test Purposes/SRV/Mp1/Ams/Ams_BV.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..d6b7a005c044dab368ed180f4b830e7fcfd6c2ec --- /dev/null +++ b/Test Purposes/SRV/Mp1/Ams/Ams_BV.tplan2 @@ -0,0 +1,318 @@ +/* +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 MEC021_APP_MP1_AMS_BV { + + import all from MEC_Common; + + Test Purpose { + TP Id "TP_MEC_AMS_01" + + Test objective + "Check that the AMS service returns information about the registered application mobility services when requested" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.3.3.1" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AppMobilityServiceInfo containing + appMobilityServiceId indicating value APP_MOBILITY_SERVICE_ID + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/amsi/v1/appMobilityServices", + query_parameters containing + appMobilityServiceId indicating value APP_MOBILITY_SERVICE_ID + ; + ; from the AMS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + AppMobilityServiceInfo containing + appMobilityServiceId indicating value APP_MOBILITY_SERVICE_ID + ; + ; + ; to the AMS_CLIENT entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_02" + + Test objective + "Check that the AMS service creates a new application mobility services when requested" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.3.3.4" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/amsi/v1/appMobilityServices", + body containing + RegistrationRequest containing //Note: at the moment the only element that is defined is RegistrationInfo. Not sure if they are the same. + serviceConsumerId containing + appInstanceId set to APP_INS_ID + ; + ; + ; + ; from the AMS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "201 Created", + body containing + registeredAppMobilityService containing + serviceConsumerId containing + appInstanceId set to APP_INS_ID + ; + ; + ; + ; to the AMS_CLIENT entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_03" + + Test objective + "Check that the AMS service returns information about the available subscriptions when requested" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.6.3.1" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ;, + subscriptionType indicating value "MobilityProcedureSubscription" //shall we have a TP for each type of subscription? + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/amsi/v1/subscriptions/", + query_parameters containing + subscriptionType indicating value "MobilityProcedureSubscription" + ; + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + SubscriptionLinkList containing + subscription containing + href indicating value SUBSCRIPTION_HREF_VALUE, + subscriptionType indicating value "MobilityProcedureSubscription" + ; + ; + ; + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_04" + + Test objective + "Check that the AMS service creates a notification subscriptions when requested" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.6.3.4" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity being_in idle_state + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPOST containing + uri indicating value "/amsi/v1/subscriptions/", + body containing + MobilityProcedureSubscription containing + subscriptionType indicating value "MobilityProcedureSubscription", //shall we have a TP for each type of subscription? + callbackReference indicating value CALLBACK_REFERENCE + ; + ; + ; from the AMS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "201 CREATED", + body containing + MobilityProcedureSubscription containing + subscriptionType indicating value "MobilityProcedureSubscription", + callbackReference indicating value CALLBACK_REFERENCE + ; + ; + ; to the AMS_CLIENT entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_05" + + Test objective + "Check that the AMS service returns information about a given subscription when requested" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.7.3.1" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ;, + callbackReference indicating value CALLBACK_REFERENCE, + subscriptionType indicating value "MobilityProcedureSubscription" //shall we have a TP for each type of subscription? + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value SUBSCRIPTION_HREF_VALUE + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + MobilityProcedureSubscription containing + subscriptionType indicating value "MobilityProcedureSubscription", + callbackReference indicating value CALLBACK_REFERENCE + ; + ; + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_06" + + Test objective + "Check that the AMS service deletes a given subscription when requested" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.7.3.5" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ;, + callbackReference indicating value CALLBACK_REFERENCE, + subscriptionType indicating value "MobilityProcedureSubscription" //shall we have a TP for each type of subscription? + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + uri indicating value SUBSCRIPTION_HREF_VALUE + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "204 No Content" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_AMS_07" + + Test objective + "Check that the AMS service modifies a given subscription when requested" + + Reference "ETSI GS MEC 021 2.0.8, clause 8.7.3.2" + + Config Id Config_MEC_1 + PICS Selection PIC_AMS + + Initial conditions with { + the IUT entity having a AMS_subscription containing + _link containing + self indicating value SUBSCRIPTION_HREF_VALUE + ;, + callbackReference indicating value CALLBACK_REFERENCE, + subscriptionType indicating value "MobilityProcedureSubscription" //shall we have a TP for each type of subscription? + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + uri indicating value SUBSCRIPTION_HREF_VALUE, + body containing + MobilityProcedureSubscription containing + subscriptionType indicating value "MobilityProcedureSubscription", //shall we have a TP for each type of subscription? + callbackReference indicating value NEW_CALLBACK_REFERENCE + ; + ; + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "200 OK", + body containing + MobilityProcedureSubscription containing + subscriptionType indicating value "MobilityProcedureSubscription", + callbackReference indicating value NEW_CALLBACK_REFERENCE + ; + ; + ; to the MEC_SUB entity + } + } + } + +} diff --git a/Test Purposes/App/Mp1/Rnis/RnisAllSubscriptions_BO_BI.tplan2 b/Test Purposes/SRV/Mp1/Rnis/RnisAllSubscriptions_BO_BI.tplan2 similarity index 53% rename from Test Purposes/App/Mp1/Rnis/RnisAllSubscriptions_BO_BI.tplan2 rename to Test Purposes/SRV/Mp1/Rnis/RnisAllSubscriptions_BO_BI.tplan2 index 9b511458018141a2e64a0f58ab7cab64ee35542b..7a653fb42d0f38317b986df0dd75bff2f59ae41b 100644 --- a/Test Purposes/App/Mp1/Rnis/RnisAllSubscriptions_BO_BI.tplan2 +++ b/Test Purposes/SRV/Mp1/Rnis/RnisAllSubscriptions_BO_BI.tplan2 @@ -18,19 +18,19 @@ Package MEC012_APP_MP1_RNI_SUBS_BO_BI { import all from MEC_Common; Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_05_NEG_A" // Negative test: Trying to get a 400 Bad Request using incorrect parameters (Not existent subscriptionType) + TP Id "TP_MEC_RNI_SUBSCRIPTION_01_NEG_A" // Negative test: Trying to get a 400 Bad Request using incorrect parameters (Not existent subscriptionType) Test objective - "Check that the RNIS service responds with an error when it receives a request to get all RNIS subscriptions" + "Check that the RNIS service responds with an error when it receives a request to get all RNIS subscriptions with a wrong subscription type" - Reference "ETSI GS MEC 012 1.1.1, clause 7.6.3.1", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" + Reference "ETSI GS MEC 012 2.0.4, clause 7.6.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" Config Id Config_MEC_1 PICS Selection PIC_RNIS and PIC_RNIS_ALL_SUBSCRIPTIONS Initial conditions with { the IUT entity having a RNIS_subscription containing - subscriptionHref indicating value SUBSCRIPTION_HREF_VALUE, + subscriptionHref indicating value SUBSCRIPTION_HREF_VALUE, subscriptionType indicating value "CellChangeSubscription" ; } @@ -41,7 +41,7 @@ Package MEC012_APP_MP1_RNI_SUBS_BO_BI { the IUT entity receives a vGET containing uri indicating value "/rni/v1/subscriptions", query_parameters containing - subscriptionType indicating value "wrongSubscriptionType" + subscriptionType indicating value "wrongSubscriptionType" //wrong subscription type ; ; from the MEC_SUB entity } @@ -55,13 +55,13 @@ Package MEC012_APP_MP1_RNI_SUBS_BO_BI { Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_05_NEG_B" // Negative test: Trying to get a 401 Unauthorized (Client did not submit credentials) + TP Id "TP_MEC_RNI_SUBSCRIPTION_01_NEG_B" // Negative test: Trying to get a 401 Unauthorized (Client did not submit credentials) Test objective - "Check that the RNIS service responds with an error when it receives a request to get all RNIS subscriptions" + "Check that the RNIS service responds with an error when it receives a request to get all RNIS subscriptions of a given type without submitting credentials" - Reference "ETSI GS MEC 012 1.1.1, clause 7.6.3.1", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" + Reference "ETSI GS MEC 012 2.0.4, clause 7.6.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" Config Id Config_MEC_1 PICS Selection PIC_RNIS and PIC_RNIS_ALL_SUBSCRIPTIONS @@ -94,13 +94,13 @@ Package MEC012_APP_MP1_RNI_SUBS_BO_BI { Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_05_NEG_C" // Negative test: Trying to get a 401 Unauthorized (Invalid token) + TP Id "TP_MEC_RNI_SUBSCRIPTION_01_NEG_C" // Negative test: Trying to get a 401 Unauthorized (Invalid token) Test objective - "Check that the RNIS service responds with an error when it receives a request to get all RNIS subscriptions" + "Check that the RNIS service responds with an error when it receives a request to get all RNIS subscriptions of a given type submitting a wrong token" - Reference "ETSI GS MEC 012 1.1.1, clause 7.6.3.1", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" + Reference "ETSI GS MEC 012 2.0.4, clause 7.6.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" Config Id Config_MEC_1 PICS Selection PIC_RNIS and PIC_RNIS_ALL_SUBSCRIPTIONS @@ -131,81 +131,83 @@ Package MEC012_APP_MP1_RNI_SUBS_BO_BI { } } - Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_05_NEG_D" // Negative test: 404 Not found - - Test objective - "Check that the RNIS service responds with an error when it receives a request to get all RNIS subscriptions" - - Reference "ETSI GS MEC 012 1.1.1, clause 7.6.3.1", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_ALL_SUBSCRIPTIONS - - Initial conditions with { - the IUT entity having a RNIS_subscription containing - subscriptionHref indicating value SUBSCRIPTION_HREF_VALUE, - subscriptionType indicating value "CellChangeSubscription" - ; - } +//Removed since not related to an individual resource +// Test Purpose { +// TP Id "TP_MEC_RNI_SUBSCRIPTION_01_NEG_D" // Negative test: 404 Not found +// +// Test objective +// "Check that the RNIS service responds with an error when it receives a request to get all RNIS subscriptions of a given type, " +// +// Reference "ETSI GS MEC 012 2.0.4, clause 7.6.3.1", +// "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" +// Config Id Config_MEC_1 +// PICS Selection PIC_RNIS and PIC_RNIS_ALL_SUBSCRIPTIONS +// +// Initial conditions with { +// the IUT entity having a RNIS_subscription containing +// subscriptionHref indicating value SUBSCRIPTION_HREF_VALUE, +// subscriptionType indicating value "CellChangeSubscription" +// ; +// } - Expected behaviour - ensure that { - when { - the IUT entity receives a vGET containing - uri indicating value "/rni/v1/subscrition", // Wrong URI - query_parameters containing - subscriptionHref indicating value SUBSCRIPTION_HREF_VALUE, - subscriptionType indicating value "CellChangeSubscription" - ; - ; from the MEC_SUB entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "404 Not Found" - ; to the MEC_SUB entity - } - } - } +// Expected behaviour +// ensure that { +// when { +// the IUT entity receives a vGET containing +// uri indicating value "/rni/v1/subscrition", // Wrong URI +// query_parameters containing +// subscriptionHref indicating value SUBSCRIPTION_HREF_VALUE, +// subscriptionType indicating value "CellChangeSubscription" +// ; +// ; from the MEC_SUB entity +// } +// then { +// the IUT entity sends a HTTP_RESPONSE containing +// status set to "404 Not Found" +// ; to the MEC_SUB entity +// } +// } +// } - - Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_05_NEG_E" // Negative test: 406 Not acceptable. Using Accept header as application/octet-stream - - Test objective - "Check that the RNIS service responds with an error when it receives a request to get all RNIS subscriptions" - - Reference "ETSI GS MEC 012 1.1.1, clause 7.6.3.1", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_ALL_SUBSCRIPTIONS - - Initial conditions with { - the IUT entity having a RNIS_subscription containing - subscriptionHref indicating value SUBSCRIPTION_HREF_VALUE, - subscriptionType indicating value "CellChangeSubscription" - ; - } - Expected behaviour - ensure that { - when { - the IUT entity receives a vGET containing - uri indicating value "/rni/v1/subscriptions", - headers set to vHeadersAcceptKO, - query_parameters containing - subscriptionHref indicating value SUBSCRIPTION_HREF_VALUE, - subscriptionType indicating value "CellChangeSubscription" - ; - ; from the MEC_SUB entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "406 Not Acceptable" - ; to the MEC_SUB entity - } - } - } +//Removed since not in scope of MEC032 -- only 400, 401 and 404 for individual resources are considered +// Test Purpose { +// TP Id "TP_MEC025_RNI_SUBSCRIPTION_05_NEG_E" // Negative test: 406 Not acceptable. Using Accept header as application/octet-stream +// +// Test objective +// "Check that the RNIS service responds with an error when it receives a request to get all RNIS subscriptions" +// +// Reference "ETSI GS MEC 012 1.1.1, clause 7.6.3.1", +// "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" +// Config Id Config_MEC_1 +// PICS Selection PIC_RNIS and PIC_RNIS_ALL_SUBSCRIPTIONS +// +// Initial conditions with { +// the IUT entity having a RNIS_subscription containing +// subscriptionHref indicating value SUBSCRIPTION_HREF_VALUE, +// subscriptionType indicating value "CellChangeSubscription" +// ; +// } +// +// Expected behaviour +// ensure that { +// when { +// the IUT entity receives a vGET containing +// uri indicating value "/rni/v1/subscriptions", +// headers set to vHeadersAcceptKO, +// query_parameters containing +// subscriptionHref indicating value SUBSCRIPTION_HREF_VALUE, +// subscriptionType indicating value "CellChangeSubscription" +// ; +// ; from the MEC_SUB entity +// } +// then { +// the IUT entity sends a HTTP_RESPONSE containing +// status set to "406 Not Acceptable" +// ; to the MEC_SUB entity +// } +// } +// } // Test Purpose { // TP Id "TP_MEC025_RNI_SUBSCRIPTION_05_NEG_F" // Negative test: 403 Forbidden. @@ -254,12 +256,12 @@ Package MEC012_APP_MP1_RNI_SUBS_BO_BI { Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_01_NEG_A" // 400 Bad Request + TP Id "TP_MEC_RNI_SUBSCRIPTION_02_NEG_A" // 400 Bad Request Test objective - "Check that the RNIS service responds with an error when a request to create a new RNIS subscription is done" + "Check that the RNIS service responds with an error when it receives a request to create a new RNIS subscription with a wrong format" - Reference "ETSI GS MEC 012 1.1.1, clause 7.6.3.4", + Reference "ETSI GS MEC 012 2.0.4, clause 7.6.3.4", "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" Config Id Config_MEC_1 PICS Selection PIC_RNIS and PIC_RNIS_ALL_SUBSCRIPTIONS @@ -275,10 +277,10 @@ Package MEC012_APP_MP1_RNI_SUBS_BO_BI { uri indicating value "/rni/v1/subscriptions", body containing CellChangeSubscription containing - subscritionType indicating value "CelCangeSubscription", + subscritionType indicating value "CelCangeSubscription", //wrong subscription type callbackReference indicating value CALLBACK_URI, filterCriteriaAssocHo containing - appInsId set to APP_INS_ID, + appInstanceId set to APP_INS_ID, associateId set to ASSOCIATE_ID_LIST, ecgi set to ECGI, hoStatus set to HO_STATUS @@ -298,13 +300,13 @@ Package MEC012_APP_MP1_RNI_SUBS_BO_BI { Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_01_NEG_B" // 401 Unauthorized (No Token) + TP Id "TP_MEC_RNI_SUBSCRIPTION_02_NEG_B" // 401 Unauthorized (No Token) Test objective - "Check that the RNIS service responds with an error when a request to create a new RNIS subscription is done" + "Check that the RNIS service responds with an error when it receives a request to create a new RNIS subscription without credentials" - Reference "ETSI GS MEC 012 1.1.1, clause 7.6.3.4", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" + Reference "ETSI GS MEC 012 2.0.4, clause 7.6.3.4", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" Config Id Config_MEC_1 PICS Selection PIC_RNIS and PIC_RNIS_ALL_SUBSCRIPTIONS @@ -315,7 +317,7 @@ Package MEC012_APP_MP1_RNI_SUBS_BO_BI { Expected behaviour ensure that { when { - the IUT entity receives a vPOST containing + the IUT entity receives a POST containing uri indicating value "/rni/v1/subscriptions", "not" authorized, body containing @@ -323,7 +325,7 @@ Package MEC012_APP_MP1_RNI_SUBS_BO_BI { subscriptionType indicating value "CellChangeSubscription", callbackReference indicating value CALLBACK_URI, filterCriteriaAssocHo containing - appInsId set to APP_INS_ID, + appInstanceId set to APP_INS_ID, associateId set to ASSOCIATE_ID_LIST, ecgi set to ECGI, hoStatus set to HO_STATUS @@ -343,13 +345,13 @@ Package MEC012_APP_MP1_RNI_SUBS_BO_BI { Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_01_NEG_C" // 401 Unauthorized (Wrong token) + TP Id "TP_MEC_RNI_SUBSCRIPTION_02_NEG_C" // 401 Unauthorized (Wrong token) Test objective - "Check that the RNIS service responds with an error when a request to create a new RNIS subscription is done" + "Check that the RNIS service responds with an error when it receives a request to create a new RNIS subscription with a wrong token" - Reference "ETSI GS MEC 012 1.1.1, clause 7.6.3.4", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" + Reference "ETSI GS MEC 012 2.0.4, clause 7.6.3.4", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" Config Id Config_MEC_1 PICS Selection PIC_RNIS and PIC_RNIS_ALL_SUBSCRIPTIONS @@ -360,7 +362,7 @@ Package MEC012_APP_MP1_RNI_SUBS_BO_BI { Expected behaviour ensure that { when { - the IUT entity receives a vPOST containing + the IUT entity receives a POST containing uri indicating value "/rni/v1/subscriptions", headers set to vHeadersInvalidToken, // wrong token body containing @@ -368,7 +370,7 @@ Package MEC012_APP_MP1_RNI_SUBS_BO_BI { subscriptionType indicating value "CellChangeSubscription", callbackReference indicating value CALLBACK_URI, filterCriteriaAssocHo containing - appInsId set to APP_INS_ID, + appInstanceId set to APP_INS_ID, associateId set to ASSOCIATE_ID_LIST, ecgi set to ECGI, hoStatus set to HO_STATUS @@ -386,92 +388,93 @@ Package MEC012_APP_MP1_RNI_SUBS_BO_BI { } } - Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_01_NEG_C" // 404 not Found (Wrong URI) - - Test objective - "Check that the RNIS service responds with an error when a request to create a new RNIS subscription is done" - - Reference "ETSI GS MEC 012 1.1.1, clause 7.6.3.4", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_ALL_SUBSCRIPTIONS - - Initial conditions with { - the IUT entity being_in idle_state - } - - Expected behaviour - ensure that { - when { - the IUT entity receives a vPOST containing - uri indicating value "/rnis/v1/subscription", // wrong URI - body containing - CellChangeSubscription containing - subscriptionType indicating value "CellChangeSubscription", - callbackReference indicating value CALLBACK_URI, - filterCriteriaAssocHo containing - appInsId set to APP_INS_ID, - associateId set to ASSOCIATE_ID_LIST, - ecgi set to ECGI, - hoStatus set to HO_STATUS - ;, - expiryDeadline set to EXPIRY_DEADLINE - ; - ; - ; from the MEC_SUB entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "404 Not Found" - ; to the MEC_SUB entity - } - } - } - - - Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_01_NEG_D" // 406 not acceptable (client accepts only application/octet-stream content format) - - Test objective - "Check that the RNIS service responds with an error when a request to create a new RNIS subscription is done" - - Reference "ETSI GS MEC 012 1.1.1, clause 7.6.3.4", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_ALL_SUBSCRIPTIONS - - Initial conditions with { - the IUT entity being_in idle_state - } +//Removed since not related to an individual resource +// Test Purpose { +// TP Id "TP_MEC025_RNI_SUBSCRIPTION_01_NEG_C" // 404 not Found (Wrong URI) +// +// Test objective +// "Check that the RNIS service responds with an error when a request to create a new RNIS subscription is done" +// +// Reference "ETSI GS MEC 012 1.1.1, clause 7.6.3.4", +// "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" +// Config Id Config_MEC_1 +// PICS Selection PIC_RNIS and PIC_RNIS_ALL_SUBSCRIPTIONS +// +// Initial conditions with { +// the IUT entity being_in idle_state +// } +// +// Expected behaviour +// ensure that { +// when { +// the IUT entity receives a vPOST containing +// uri indicating value "/rnis/v1/subscription", // wrong URI +// body containing +// CellChangeSubscription containing +// subscriptionType indicating value "CellChangeSubscription", +// callbackReference indicating value CALLBACK_URI, +// filterCriteriaAssocHo containing +// appInsId set to APP_INS_ID, +// associateId set to ASSOCIATE_ID_LIST, +// ecgi set to ECGI, +// hoStatus set to HO_STATUS +// ;, +// expiryDeadline set to EXPIRY_DEADLINE +// ; +// ; +// ; from the MEC_SUB entity +// } +// then { +// the IUT entity sends a HTTP_RESPONSE containing +// status set to "404 Not Found" +// ; to the MEC_SUB entity +// } +// } +// } - Expected behaviour - ensure that { - when { - the IUT entity receives a vPOST containing - uri indicating value "/rni/v1/subscriptions", - headers set to vHeadersAcceptKO, - body containing - CellChangeSubscription containing - subscriptionType indicating value "CellChangeSubscription", - callbackReference indicating value CALLBACK_URI, - filterCriteriaAssocHo containing - appInsId set to APP_INS_ID, - associateId set to ASSOCIATE_ID_LIST, - ecgi set to ECGI, - hoStatus set to HO_STATUS - ;, - expiryDeadline set to EXPIRY_DEADLINE - ; - ; - ; from the MEC_SUB entity - } - then { - the IUT entity sends a HTTP_RESPONSE containing - status set to "406 Not Acceptable" - ; to the MEC_SUB entity - } - } - } +//Removed since not in scope of MEC032 -- only 400, 401 and 404 for individual resources are considered +// Test Purpose { +// TP Id "TP_MEC025_RNI_SUBSCRIPTION_01_NEG_D" // 406 not acceptable (client accepts only application/octet-stream content format) +// +// Test objective +// "Check that the RNIS service responds with an error when a request to create a new RNIS subscription is done" +// +// Reference "ETSI GS MEC 012 1.1.1, clause 7.6.3.4", +// "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" +// Config Id Config_MEC_1 +// PICS Selection PIC_RNIS and PIC_RNIS_ALL_SUBSCRIPTIONS +// +// Initial conditions with { +// the IUT entity being_in idle_state +// } +// +// Expected behaviour +// ensure that { +// when { +// the IUT entity receives a vPOST containing +// uri indicating value "/rni/v1/subscriptions", +// headers set to vHeadersAcceptKO, +// body containing +// CellChangeSubscription containing +// subscriptionType indicating value "CellChangeSubscription", +// callbackReference indicating value CALLBACK_URI, +// filterCriteriaAssocHo containing +// appInsId set to APP_INS_ID, +// associateId set to ASSOCIATE_ID_LIST, +// ecgi set to ECGI, +// hoStatus set to HO_STATUS +// ;, +// expiryDeadline set to EXPIRY_DEADLINE +// ; +// ; +// ; from the MEC_SUB entity +// } +// then { +// the IUT entity sends a HTTP_RESPONSE containing +// status set to "406 Not Acceptable" +// ; to the MEC_SUB entity +// } +// } +// } } diff --git a/Test Purposes/App/Mp1/Rnis/RnisAllSubscriptions_BV.tplan2 b/Test Purposes/SRV/Mp1/Rnis/RnisAllSubscriptions_BV.tplan2 similarity index 82% rename from Test Purposes/App/Mp1/Rnis/RnisAllSubscriptions_BV.tplan2 rename to Test Purposes/SRV/Mp1/Rnis/RnisAllSubscriptions_BV.tplan2 index 0a15316b2d53a10aa07018683a5f2f3adfc24f88..efda3d09e42ce65765b1bb1921eb02e560afa4ab 100644 --- a/Test Purposes/App/Mp1/Rnis/RnisAllSubscriptions_BV.tplan2 +++ b/Test Purposes/SRV/Mp1/Rnis/RnisAllSubscriptions_BV.tplan2 @@ -18,20 +18,20 @@ Package MEC012_APP_MP1_RNI_SUBS_BV { import all from MEC_Common; Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_05" + TP Id "TP_MEC_RNI_SUBSCRIPTION_01" Test objective - "Check that the RNIS service sends all RNIS subscriptions when requested" + "Check that the RNIS service sends the list of links to the relevant RNIS subscriptions when requested" - Reference "ETSI GS MEC 012 1.1.1, clause 7.6.3.1", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" + Reference "ETSI GS MEC 012 2.0.4, clause 7.6.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/SubscriptionLinkList" Config Id Config_MEC_1 PICS Selection PIC_RNIS and PIC_RNIS_ALL_SUBSCRIPTIONS Initial conditions with { the IUT entity having a RNIS_subscription containing subscriptionHref indicating value SUBSCRIPTION_HREF_VALUE, - subscriptionType indicating value "CellChangeSubscription" + subscriptionType indicating value "CellChangeSubscription" //shall we have a TP for each type of subscription? ; } @@ -41,7 +41,7 @@ Package MEC012_APP_MP1_RNI_SUBS_BV { the IUT entity receives a vGET containing uri indicating value "/rni/v1/subscriptions", query_parameters containing - subscriptionType indicating value "CellChangeSubscription" + subscriptionType indicating value "cell_change" ; ; from the MEC_SUB entity } @@ -50,12 +50,9 @@ Package MEC012_APP_MP1_RNI_SUBS_BV { status set to "200 OK", body containing subscriptionLinkList containing - _links containing - self set to SUBSCRIPTION_HREF_VALUE - ;, - CellChangeSubscription containing + subscription containing href indicating value SUBSCRIPTION_HREF_VALUE, - subscriptionType indicating value "CellChangeSubscription" + subscriptionType indicating value "CELL_CHANGE" ; ; ; @@ -63,16 +60,14 @@ Package MEC012_APP_MP1_RNI_SUBS_BV { } } } - - Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_01" + TP Id "TP_MEC_RNI_SUBSCRIPTION_02" Test objective "Check that the RNIS service creates a new RNIS subscription" - Reference "ETSI GS MEC 012 1.1.1, clause 7.6.3.4", + Reference "ETSI GS MEC 012 2.0.4, clause 7.6.3.4", "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" Config Id Config_MEC_1 PICS Selection PIC_RNIS and PIC_RNIS_ALL_SUBSCRIPTIONS @@ -88,10 +83,10 @@ Package MEC012_APP_MP1_RNI_SUBS_BV { uri indicating value "/rni/v1/subscriptions", body containing CellChangeSubscription containing - subscriptionType indicating value "CellChangeSubscription", + subscriptionType indicating value "CellChangeSubscription", //shall we have a TP for each type of subscription? callbackReference indicating value CALLBACK_URI, filterCriteriaAssocHo containing - appInsId set to APP_INS_ID, + appInstanceId set to APP_INS_ID, associateId set to ASSOCIATE_ID_LIST, ecgi set to ECGI, hoStatus set to HO_STATUS @@ -112,7 +107,7 @@ Package MEC012_APP_MP1_RNI_SUBS_BV { self set to SUBSCRIPTION_HREF_VALUE ;, filterCriteriaAssocHo containing - appInsId set to APP_INS_ID, + appInstanceId set to APP_INS_ID, associateId set to ASSOCIATE_ID_LIST, ecgi set to ECGI, hoStatus set to HO_STATUS diff --git a/Test Purposes/App/Mp1/Notifications/RnisNotifications.tplan2 b/Test Purposes/SRV/Mp1/Rnis/RnisNotifications.tplan2 similarity index 74% rename from Test Purposes/App/Mp1/Notifications/RnisNotifications.tplan2 rename to Test Purposes/SRV/Mp1/Rnis/RnisNotifications.tplan2 index 991817d099f998d9c6c4c605682d8a4b460a2e9a..f2c52a473494718bf29c08cc93d189d6fe15be44 100644 --- a/Test Purposes/App/Mp1/Notifications/RnisNotifications.tplan2 +++ b/Test Purposes/SRV/Mp1/Rnis/RnisNotifications.tplan2 @@ -1,420 +1,457 @@ -/* -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 MEC012_APP_MP1_RNI_NOTIF_BV { - - import all from MEC_Common; - - Test Purpose { - TP Id "TP_MEC_APP_MP1_RNI_NOTIFICATION_01" - - Test objective - "Check that the RNIS service sends an RNIS notification about cell change - if the RNIS service has an associated subscription and the event is generated" - - Reference "ETSI GS MEC 012 2.0.3, clause 6.4.2", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_NOTIFICATIONS - - Initial conditions with { - the IUT entity having a RNIS_subscription containing - subscriptionType indicating value "CellChangeSubscription", - callbackReference indicating value CALLBACK_URI, - filterCriteriaAssocHo containing - associateIdList containing - associateId set to ASSOCIATE_ID - ; - ; - ; - } - - Expected behaviour - ensure that { - when { - the IUT entity generates a cell_change_event containing - associateId set to ASSOCIATE_ID; - } - then { - the IUT entity sends a vPOST containing - uri indicating value CALLBACK_URI, - body containing - notificationType indicating value "CellChangeSubscription", - associateId set to ASSOCIATE_ID - ; - ; to the MEC_SUB entity - } - } - } - - - Test Purpose { - TP Id "TP_MEC_APP_MP1_RNI_NOTIFICATION_02" - - Test objective - "Check that the RNIS service sends an RNIS notification about RAB establishment - if the RNIS service has an associated subscription and the event is generated" - - Reference "ETSI GS MEC 012 2.0.3, clause 6.4.3", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_NOTIFICATIONS - - Initial conditions with { - the IUT entity having a RNIS_subscription containing - subscriptionType indicating value "RabEstSubscription", - callbackReference indicating value CALLBACK_URI, - filterCriteriaQci containing - qci set to QCI - ; - ; - } - - Expected behaviour - ensure that { - when { - // TODO: Check whether this could be triggered by the tester of document otherwise - // with a reference describing this type of events - the IUT entity generates a rab_establish_event containing - erabQosParameters containing - qci set to QCI; - ; - } - then { - the IUT entity sends a vPOST containing - uri indicating value CALLBACK_URI, - body containing - notificationType indicating value "RabEstNotification", - erabQosParameters containing - qci set to QCI - ; - ; - ; to the MEC_SUB entity - } - } - } - - - Test Purpose { - TP Id "TP_MEC_APP_MP1_RNI_NOTIFICATION_03" - - Test objective - "Check that the RNIS service sends an RNIS notification about RAB modification - if the RNIS service has an associated subscription and the event is generated" - - Reference "ETSI GS MEC 012 2.0.3, clause 6.4.4", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_NOTIFICATIONS - - Initial conditions with { - the IUT entity having a RNIS_subscription containing - subscriptionType indicating value "RabModSubscription", - callbackReference indicating value CALLBACK_URI, - filterCriteriaQci containing - erabId set to E_RAB_ID - ; - ; - } - - Expected behaviour - ensure that { - when { - // TODO: Check whether this could be triggered by the tester of document otherwise - // with a reference describing this type of events - the IUT entity generates a rab_modification_event containing - erabId set to E_RAB_ID; - } - then { - the IUT entity sends a vPOST containing - uri indicating value CALLBACK_URI, - body containing - notificationType indicating value "RabModNotification", - erabId set to E_RAB_ID - ; - ; to the MEC_SUB entity - } - } - } - - - Test Purpose { - TP Id "TP_MEC_APP_MP1_RNI_NOTIFICATION_04" - - Test objective - "Check that the RNIS service sends an RNIS notification about RAB release - if the RNIS service has an associated subscription and the event is generated" - - Reference "ETSI GS MEC 012 2.0.3, clause 6.4.5", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_NOTIFICATIONS - - Initial conditions with { - the IUT entity having a RNIS_subscription containing - subscriptionType indicating value "RabRelSubscription", - callbackReference indicating value CALLBACK_URI, - filterCriteriaQci containing - erabId set to E_RAB_ID - ; - ; - } - - Expected behaviour - ensure that { - when { - // TODO: Check whether this could be triggered by the tester of document otherwise - // with a reference describing this type of events - the IUT entity generates a rab_release_event containing - erabId set to E_RAB_ID; - } - then { - the IUT entity sends a vPOST containing - uri indicating value CALLBACK_URI, - body containing - notificationType indicating value "RabRelNotification", - erabReleaseInfo containing - erabId set to E_RAB_ID - ; - ; - ; to the MEC_SUB entity - } - } - } - - Test Purpose { - TP Id "TP_MEC_APP_MP1_RNI_NOTIFICATION_05" - - Test objective - "Check that the RNIS service sends an RNIS notification about measurement report - if the RNIS service has an associated subscription and the event is generated" - - Reference "ETSI GS MEC 012 2.0.3, clause 6.4.6", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_NOTIFICATIONS - - Initial conditions with { - the IUT entity having a RNIS_subscription containing - subscriptionType indicating value "MeasRepUeSubscription", - callbackReference indicating value CALLBACK_URI, - filterCriteriaAssocTri containing - ecgi set to ECGI - ; - ; - } - - Expected behaviour - ensure that { - when { - // TODO: Check whether this could be triggered by the tester of document otherwise - // with a reference describing this type of events - the IUT entity generates a measurement_repost_event containing - ecgi set to ECGI; - } - then { - the IUT entity sends a vPOST containing - uri indicating value CALLBACK_URI, - body containing - notificationType indicating value "MeasRepUeNotification", - ecgi set to ECGI - ; - ; to the MEC_SUB entity - - } - } - } - - Test Purpose { - TP Id "TP_MEC_APP_MP1_RNI_NOTIFICATION_06" - - Test objective - "Check that the RNIS service sends an RNIS notification about timing advance - if the RNIS service has an associated subscription and the event is generated" - - Reference "ETSI GS MEC 012 2.0.3, clause 6.4.7", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_NOTIFICATIONS - - Initial conditions with { - the IUT entity having a RNIS_subscription containing - subscriptionType indicating value "MeasTaSubscription", - callbackReference indicating value CALLBACK_URI, - filterCriteriaAssoc containing - ecgi set to ECGI - ; - ; - } - - Expected behaviour - ensure that { - when { - // TODO: Check whether this could be triggered by the tester of document otherwise - // with a reference describing this type of events - the IUT entity generates a timing_advance_event containing - ecgi set to ECGI; - } - then { - the IUT entity sends a vPOST containing - uri indicating value CALLBACK_URI, - body containing - notificationType indicating value "MeasTaNotification", - ecgi set to ECGI - ; - ; to the MEC_SUB entity - - } - } - } - - - Test Purpose { - TP Id "TP_MEC_APP_MP1_RNI_NOTIFICATION_07" - - Test objective - "Check that the RNIS service sends an RNIS notification about carrier aggregation reconfiguration - if the RNIS service has an associated subscription and the event is generated" - - Reference "ETSI GS MEC 012 2.0.3, clause 6.4.8", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_NOTIFICATIONS - - Initial conditions with { - the IUT entity having a RNIS_subscription containing - subscriptionType indicating value "CaReconfSubscription", - callbackReference indicating value CALLBACK_URI, - filterCriteriaAssoc containing - associateId set to ASSOCIATE_ID - ; - ; - } - - Expected behaviour - ensure that { - when { - // TODO: Check whether this could be triggered by the tester of document otherwise - // with a reference describing this type of events - the IUT entity generates a carrier_aggregation_reconfiguration_event containing - associateId set to ASSOCIATE_ID; - } - then { - the IUT entity sends a vPOST containing - uri indicating value CALLBACK_URI, - body containing - notificationType indicating value "CaReConfNotification", - associateId set to ASSOCIATE_ID - ; - ; to the MEC_SUB entity - - } - } - } - - - Test Purpose { - TP Id "TP_MEC_APP_MP1_RNI_NOTIFICATION_08" - - Test objective - "Check that the RNIS service sends an RNIS notification about S1 bearer - if the RNIS service has an associated subscription and the event is generated" - - Reference "ETSI GS MEC 012 2.0.3, clause 6.4.9", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_NOTIFICATIONS - - Initial conditions with { - the IUT entity having a RNIS_subscription containing - subscriptionType indicating value "S1BearerSubscription", - callbackReference indicating value CALLBACK_URI, - s1BearerSubscriptionCriteria containing - associateId set to ASSOCIATE_ID - ; - ; - } - - Expected behaviour - ensure that { - when { - // TODO: Check whether this could be triggered by the tester of document otherwise - // with a reference describing this type of events - the IUT entity generates a S1_bearer_event containing - associateId set to ASSOCIATE_ID; - } - then { - the IUT entity sends a vPOST containing - uri indicating value CALLBACK_URI, - body containing - notificationType indicating value "S1BearerNotification", - s1UeInfo containing - associateId set to ASSOCIATE_ID - ; - ; - ; to the MEC_SUB entity - } - } - } - - Test Purpose { - TP Id "TP_MEC_APP_MP1_RNI_SUBSCRIPTION_02" - - Test objective - "Check that the RNIS service sends an RNIS notification on subscription expiration - if the RNIS service has an associated subscription and the event is generated" - - Reference "ETSI GS MEC 012 2.0.3, clause 6.4.7", - "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" - Config Id Config_MEC_1 - PICS Selection PIC_RNIS and PIC_RNIS_NOTIFICATIONS - - Initial conditions with { - the IUT entity having a RNIS_subscription containing - subscriptionType indicating value any_value, //VALID for all subscription types - callbackReference indicating value CALLBACK_URI, - _links containing - self set to SUBSCRIPTION_HREF_VALUE - ;, - s1BearerSubscriptionCriteria containing - associateId set to ASSOCIATE_ID - ;, - expiryDeadline set to EXPIRY_DEADLINE - ; - } - - Expected behaviour - ensure that { - when { - // TODO: Check whether this could be triggered by the tester of document otherwise - // with a reference describing this type of events - the IUT entity generates a expiry_notification_event containing - associateId set to ASSOCIATE_ID; - } - then { - the IUT entity sends a vPOST containing - uri indicating value CALLBACK_URI, - body containing - notificationType indicating value "ExpiryNotification", - _link containing - self set to SUBSCRIPTION_HREF_VALUE - ;, - expiryDeadline set to EXPIRY_DEADLINE - ; - ; to the MEC_SUB entity - } - } - } -} +/* +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 MEC012_APP_MP1_RNI_NOTIF_BV { + + import all from MEC_Common; + + Test Purpose { + TP Id "TP_MEC_SRV_RNIS_001_OK" + + Test objective + "Check that the RNIS service sends an RNIS notification about cell change + if the RNIS service has an associated subscription and the event is generated" + + Reference "ETSI GS MEC 012 2.0.4, clause 6.4.2", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" + Config Id Config_MEC_1 + PICS Selection PIC_RNIS_NOTIFICATIONS + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + subscriptionType indicating value "CellChangeSubscription", + callbackReference indicating value CALLBACK_URI, + filterCriteriaAssocHo containing + associateIdList containing + associateId set to ASSOCIATE_ID + ; + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity generates a cell_change_event containing + associateId set to ASSOCIATE_ID; + } + then { + the IUT entity sends a vPOST containing + uri indicating value CALLBACK_URI, + body containing + notificationType indicating value "CellChangeNotification", + associateId set to ASSOCIATE_ID, + srcEcgi set to any_value, + trgEcgi set to any_value, + hoStatus set to any_value + ; + ; to the MEC_SUB entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SRV_RNIS_002_OK" + + Test objective + "Check that the RNIS service sends an RNIS notification about RAB establishment + if the RNIS service has an associated subscription and the event is generated" + + Reference "ETSI GS MEC 012 2.0.4, clause 6.4.3", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" + Config Id Config_MEC_1 + PICS Selection PIC_RNIS_NOTIFICATIONS + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + subscriptionType indicating value "RabEstSubscription", + callbackReference indicating value CALLBACK_URI, + filterCriteriaQci containing + qci set to QCI + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity generates a rab_establish_event containing + erabQosParameters containing + qci set to QCI; + ; + } + then { + the IUT entity sends a vPOST containing + uri indicating value CALLBACK_URI, + body containing + notificationType indicating value "RabEstNotification", + ecgi set to any_value, + erabId set to any_value, + erabQosParameters containing + qci set to QCI, + attribute qosInformation + ; + ; + ; to the MEC_SUB entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SRV_RNIS_003_OK" + + Test objective + "Check that the RNIS service sends an RNIS notification about RAB modification + if the RNIS service has an associated subscription and the event is generated" + + Reference "ETSI GS MEC 012 2.0.4, clause 6.4.4", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" + Config Id Config_MEC_1 + PICS Selection PIC_RNIS_NOTIFICATIONS + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + subscriptionType indicating value "RabModSubscription", + callbackReference indicating value CALLBACK_URI, + filterCriteriaQci containing + erabId set to E_RAB_ID + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity generates a rab_modification_event containing + erabId set to E_RAB_ID; + } + then { + the IUT entity sends a vPOST containing + uri indicating value CALLBACK_URI, + body containing + notificationType indicating value "RabModNotification", + ecgi set to any_value, + erabId set to E_RAB_ID + ; + ; to the MEC_SUB entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SRV_RNIS_004_OK" + + Test objective + "Check that the RNIS service sends an RNIS notification about RAB release + if the RNIS service has an associated subscription and the event is generated" + + Reference "ETSI GS MEC 012 2.0.4, clause 6.4.5", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" + Config Id Config_MEC_1 + PICS Selection PIC_RNIS_NOTIFICATIONS + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + subscriptionType indicating value "RabRelSubscription", + callbackReference indicating value CALLBACK_URI, + filterCriteriaQci containing + erabId set to E_RAB_ID + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity generates a rab_release_event containing + erabId set to E_RAB_ID; + } + then { + the IUT entity sends a vPOST containing + uri indicating value CALLBACK_URI, + body containing + notificationType indicating value "RabRelNotification", + ecgi set to any_value, + erabReleaseInfo containing + erabId set to E_RAB_ID + ; + ; + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_SRV_RNIS_005_OK" + + Test objective + "Check that the RNIS service sends an RNIS notification about UE measurement report + if the RNIS service has an associated subscription and the event is generated" + + Reference "ETSI GS MEC 012 2.0.4, clause 6.4.6", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" + Config Id Config_MEC_1 + PICS Selection PIC_RNIS_NOTIFICATIONS + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + subscriptionType indicating value "MeasRepUeSubscription", + callbackReference indicating value CALLBACK_URI, + filterCriteriaAssocTri containing + ecgi set to ECGI + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity generates a measurement_repost_event containing + ecgi set to ECGI; + } + then { + the IUT entity sends a vPOST containing + uri indicating value CALLBACK_URI, + body containing + notificationType indicating value "MeasRepUeNotification", + ecgi set to ECGI, + rsrp set to any_value, + rsrq set to any_value, + trigger set to any_value + ; + ; to the MEC_SUB entity + + } + } + } + + Test Purpose { + TP Id "TP_MEC_SRV_RNIS_006_OK" + + Test objective + "Check that the RNIS service sends an RNIS notification about UE timing advance + if the RNIS service has an associated subscription and the event is generated" + + Reference "ETSI GS MEC 012 2.0.4, clause 6.4.7", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" + Config Id Config_MEC_1 + PICS Selection PIC_RNIS_NOTIFICATIONS + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + subscriptionType indicating value "MeasTaSubscription", + callbackReference indicating value CALLBACK_URI, + filterCriteriaAssoc containing + ecgi set to ECGI + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity generates a timing_advance_event containing + ecgi set to ECGI; + } + then { + the IUT entity sends a vPOST containing + uri indicating value CALLBACK_URI, + body containing + notificationType indicating value "MeasTaNotification", + ecgi set to ECGI, + timingAdvance set to any_value + ; + ; to the MEC_SUB entity + + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SRV_RNIS_007_OK" + + Test objective + "Check that the RNIS service sends an RNIS notification about UE carrier aggregation reconfiguration + if the RNIS service has an associated subscription and the event is generated" + + Reference "ETSI GS MEC 012 2.0.4, clause 6.4.8", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" + Config Id Config_MEC_1 + PICS Selection PIC_RNIS_NOTIFICATIONS + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + subscriptionType indicating value "CaReconfSubscription", + callbackReference indicating value CALLBACK_URI, + filterCriteriaAssoc containing + associateId set to ASSOCIATE_ID + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity generates a carrier_aggregation_reconfiguration_event containing + associateId set to ASSOCIATE_ID; + } + then { + the IUT entity sends a vPOST containing + uri indicating value CALLBACK_URI, + body containing + notificationType indicating value "CaReConfNotification", + ecgi set to any_value, + associateId set to ASSOCIATE_ID + ; + ; to the MEC_SUB entity + + } + } + } + + + Test Purpose { + TP Id "TP_MEC_SRV_RNIS_008_OK" + + Test objective + "Check that the RNIS service sends an RNIS notification about S1-U bearer + if the RNIS service has an associated subscription and the event is generated" + + Reference "ETSI GS MEC 012 2.0.4, clause 6.4.10", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" + Config Id Config_MEC_1 + PICS Selection PIC_RNIS_NOTIFICATIONS + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + subscriptionType indicating value "S1BearerSubscription", + callbackReference indicating value CALLBACK_URI, + s1BearerSubscriptionCriteria containing + associateId set to ASSOCIATE_ID + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity generates a S1_bearer_event containing + associateId set to ASSOCIATE_ID; + } + then { + the IUT entity sends a vPOST containing + uri indicating value CALLBACK_URI, + body containing + notificationType indicating value "S1BearerNotification", + s1Event set to any_value, + s1UeInfo containing + associateId set to ASSOCIATE_ID, + ecgi set to any_value, + s1BearerInfo set to any_value + ; + ; + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_SRV_RNIS_009_OK" + + Test objective + "Check that the RNIS service sends an RNIS notification about 5G NR UE measurement report + if the RNIS service has an associated subscription and the event is generated" + + Reference "ETSI GS MEC 012 2.0.4, clause 6.4.11", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" + Config Id Config_MEC_1 + PICS Selection PIC_RNIS_NOTIFICATIONS + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + subscriptionType indicating value "NrMeasRepUeSubscription", + callbackReference indicating value CALLBACK_URI, + filterCriteriaNrMrs indicating value FILTER_CRITERIA //the attributes of filterCriteriaNrMrs are FFS - ref. clause 6.3.11 + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity generates a nr_measurement_repost_event containing + associateId set to ASSOCIATE_ID; //TBD - how to link this with the filter criteria + } + then { + the IUT entity sends a vPOST containing + uri indicating value CALLBACK_URI, + body containing + notificationType indicating value "NrMeasRepUeNotification", + trigger set to any_value, + associateId set to ASSOCIATE_ID + ; + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_SRV_RNIS_010_OK" + + Test objective + "Check that the RNIS service sends an RNIS notification on subscription expiration + if the RNIS service has an associated subscription and the event is generated" + + Reference "ETSI GS MEC 012 2.0.4, clause 6.4.9", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" + Config Id Config_MEC_1 + PICS Selection PIC_RNIS_NOTIFICATIONS + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + subscriptionType indicating value any_value, //VALID for all subscription types + callbackReference indicating value CALLBACK_URI, + _links containing + self set to SUBSCRIPTION_HREF_VALUE + ;, + subscriptionId set to SUBSCRIPTION_ID, + expiryDeadline set to EXPIRY_DEADLINE + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity generates a expiry_notification_event containing + subscriptionId set to SUBSCRIPTION_ID; + } + then { + the IUT entity sends a vPOST containing + uri indicating value CALLBACK_URI, + body containing + notificationType indicating value "ExpiryNotification", //this field is not in the spec. - ref. clause 6.4.9 + _link containing + self set to SUBSCRIPTION_HREF_VALUE + ;, + expiryDeadline set to EXPIRY_DEADLINE + ; + ; to the MEC_SUB entity + } + } + } +} diff --git a/Test Purposes/SRV/Mp1/Rnis/RnisQuery_BO_BI.tplan2 b/Test Purposes/SRV/Mp1/Rnis/RnisQuery_BO_BI.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..dec7278b885a7f67b5dbb8bbaf92f7d0215f01ec --- /dev/null +++ b/Test Purposes/SRV/Mp1/Rnis/RnisQuery_BO_BI.tplan2 @@ -0,0 +1,681 @@ +/* +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 MEC012_APP_MP1_RNI_QUERY_BO_BI { + + import all from MEC_Common; + + Test Purpose { + TP Id "TP_MEC_RNI_QUERY_01_NEG_A" // Negative test: 400 Bad request + + Test objective + "Check that the RNIS service returns an error when the RAB information is requested with a malformatted message" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.3.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/RabInfo" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity having a RabInfo containing + cellUserInfo containing + ecgi indicating value CELL_ID + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/rni/v1/queries/rab_info", + query_parameters containing + cId indicating value C_ID //wrong parameter + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; to the RNIS_CLIENT entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_RNI_QUERY_01_NEG_B" // Negative test: 401 Unauthorized (No token provided) + + Test objective + "Check that the RNIS service returns an error when the RAB information is requested without credentials" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.3.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/RabInfo" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity having a RabInfo containing + cellUserInfo containing + ecgi indicating value CELL_ID + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/rni/v1/queries/rab_info", + "not" authorization, + query_parameters containing + cell_id indicating value CELL_ID + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the RNIS_CLIENT entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_RNI_QUERY_01_NEG_C" // Negative test: 401 Unauthorized (Invalid token provided) + + Test objective + "Check that the RNIS service returns an error when the RAB information is requested with a wrong token" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.3.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/RabInfo" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity having a RabInfo containing + cellUserInfo containing + ecgi indicating value CELL_ID + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/rni/v1/queries/rab_info", + headers set to vHeadersInvalidToken, + query_parameters containing + cell_id indicating value CELL_ID + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the RNIS_CLIENT entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_RNI_QUERY_01_NEG_D" // Negative test: 404 Not found + + Test objective + "Check that the RNIS service returns an error when the RAB information for a not existing element is requested" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.3.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/RabInfo" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity "not" having a RabInfo containing + cellUserInfo containing + ecgi indicating value CELL_ID + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/rnis/v1/query/rab_info", + query_parameters containing + cell_id indicating value CELL_ID + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the RNIS_CLIENT entity + } + } + } + +//Removed since not in scope of MEC032 -- only 400, 401 and 404 for individual resources are considered +/* + Test Purpose { + TP Id "TP_MEC025_RNI_QUERY_01_NEG_E" // Negative test: 406 Not Acceptable + + Test objective + "Check that the RNIS service returns an error when the RAB information when requested" + + Reference "ETSI GS MEC 012 2.0.3, clause 7.3.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/RabInfo" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity having a RabInfo containing + cellId indicating value CELL_USER_INFO + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/rni/v1/queries/rab_info", + headers set to vHeadersAcceptKO, + query_parameters containing + cellId indicating value CELL_ID + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "406 Not Acceptable" + ; to the RNIS_CLIENT entity + } + } + } + * + */ + + Test Purpose { + TP Id "TP_MEC_RNI_QUERY_02_NEG_A" // Negative test: 400 Bad request + + Test objective + "Check that the RNIS service returns an error when the PLMN information is requested with a malformatted message" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.4.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/PlmnInfo" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity having a PlmnInfo containing + appInstanceId indicating value APP_INSTANCE_INFO + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/rni/v1/queries/plmn_info", + query_parameters containing + cId indicating value C_ID //wrong parameter + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; to the RNIS_CLIENT entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_RNI_QUERY_02_NEG_B" // Negative test: 401 Unauthorized (No token provided) + + Test objective + "Check that the RNIS service returns an error when the PLMN information is requested without credentials" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.4.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/PlmnInfo" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity having a PlmnInfo containing + appInstanceId indicating value APP_INSTANCE_INFO + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/rni/v1/queries/plmn_info", + "not" authorization, + query_parameters containing + app_ins_id indicating value APP_INS_ID + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the RNIS_CLIENT entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_RNI_QUERY_02_NEG_C" // Negative test: 401 Unauthorized (Invalid token provided) + + Test objective + "Check that the RNIS service returns an error when the PLMN information is requested with a wrong token" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.4.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/PlmnInfo" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity having a PlmnInfo containing + appInstanceId indicating value APP_INSTANCE_INFO + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/rni/v1/queries/plmn_info", + headers set to vHeadersInvalidToken, + query_parameters containing + appInstanceId indicating value APP_INSTANCE_INFO + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the RNIS_CLIENT entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_RNI_QUERY_02_NEG_D" // Negative test: 404 Not found + + Test objective + "Check that the RNIS service returns an error when the PLMN information for a not existing element is requested" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.4.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/PlmnInfo" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity "not" having a PlmnInfo containing + appInstanceId indicating value APP_INSTANCE_INFO + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/rnis/v1/query/plmn_info", + query_parameters containing + appInstanceId indicating value APP_INSTANCE_INFO + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the RNIS_CLIENT entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_RNI_QUERY_03_NEG_A" // Negative test: 400 Bad request + + Test objective + "Check that the RNIS service returns an error when the S1 bearer information is requested with a malformatted message" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.5.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/S1BearerInfo" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity having a S1BearerInfo containing + s1UeInfo containing + ecgi indicating value CELL_ID + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/rni/v1/queries/s1_bearer_info", + query_parameters containing + cId indicating value C_ID //wrong parameter + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; to the RNIS_CLIENT entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_RNI_QUERY_03_NEG_B" // Negative test: 401 Unauthorized (No token provided) + + Test objective + "Check that the RNIS service returns an error when the S1 bearer information is requested without credentials" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.5.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/S1BearerInfo" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity having a S1BearerInfo containing + s1UeInfo containing + ecgi indicating value CELL_ID + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/rni/v1/queries/s1_bearer_info", + "not" authorization, + query_parameters containing + cell_id indicating value CELL_ID + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the RNIS_CLIENT entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_RNI_QUERY_03_NEG_C" // Negative test: 401 Unauthorized (Invalid token provided) + + Test objective + "Check that the RNIS service returns an error when the S1 bearer information is requested with a wrong token" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.5.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/S1BearerInfo" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity having a S1BearerInfo containing + s1UeInfo containing + ecgi indicating value CELL_ID + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/rni/v1/queries/s1_bearer_info", + headers set to vHeadersInvalidToken, + query_parameters containing + cell_id indicating value CELL_ID + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the RNIS_CLIENT entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_RNI_QUERY_03_NEG_D" // Negative test: 404 Not found + + Test objective + "Check that the RNIS service returns an error when the S1 bearer information for a not existing element is requested" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.5.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/S1BearerInfo" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity "not" having a S1BearerInfo containing + s1UeInfo containing + ecgi indicating value CELL_ID + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/rnis/v1/query/s1_bearer_info", + query_parameters containing + cell_id indicating value CELL_ID + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the RNIS_CLIENT entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_RNI_QUERY_04_NEG_A" // Negative test: 400 Bad request + + Test objective + "Check that the RNIS service returns an error when the L2 measurements information is requested with a malformatted message" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.5a.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" //TODO: not yet available in OpenAPI spec. To be added later + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity having a L2_Meas_information containing + cellInfo containing + ecgi indicating value CELL_ID + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/rni/v1/queries/layer2_meas", + query_parameters containing + cId indicating value C_ID //wrong parameter + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; to the RNIS_CLIENT entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_RNI_QUERY_04_NEG_B" // Negative test: 401 Unauthorized (No token provided) + + Test objective + "Check that the RNIS service returns an error when the L2 measurements information is requested without credentials" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.5a.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" //TODO: not yet available in OpenAPI spec. To be added later + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity having a L2_Meas_information containing + cellInfo containing + ecgi indicating value CELL_ID + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/rni/v1/queries/layer2_meas", + "not" authorization, + query_parameters containing + cell_id indicating value CELL_ID + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the RNIS_CLIENT entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_RNI_QUERY_04_NEG_C" // Negative test: 401 Unauthorized (Invalid token provided) + + Test objective + "Check that the RNIS service returns an error when the L2 measurements information is requested with a wrong token" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.5a.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" //TODO: not yet available in OpenAPI spec. To be added later + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity having a L2_Meas_information containing + cellInfo containing + ecgi indicating value CELL_ID + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/rni/v1/queries/layer2_meas", + headers set to vHeadersInvalidToken, + query_parameters containing + cell_id indicating value CELL_ID + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the RNIS_CLIENT entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_RNI_QUERY_04_NEG_D" // Negative test: 404 Not found + + Test objective + "Check that the RNIS service returns an error when the L2 measurements information for a not existing element is requested" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.5a.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" //TODO: not yet available in OpenAPI spec. To be added later + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_QUERY + + Initial conditions with { + the IUT entity "not" having a L2_Meas_information containing + cellInfo containing + ecgi indicating value CELL_ID + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/rnis/v1/query/layer2_meas", + query_parameters containing + cell_id indicating value CELL_ID + ; + ; from the RNIS_CLIENT entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the RNIS_CLIENT entity + } + } + } + +} diff --git a/Test Purposes/App/Mp1/Rnis/RnisRabQuery_BV.tplan2 b/Test Purposes/SRV/Mp1/Rnis/RnisQuery_BV.tplan2 similarity index 85% rename from Test Purposes/App/Mp1/Rnis/RnisRabQuery_BV.tplan2 rename to Test Purposes/SRV/Mp1/Rnis/RnisQuery_BV.tplan2 index fcf7f95a3528baab32d04ea7f70fefbd8b2be9e0..a8ee86fa688dfddfd232e9882272f4696bfb0080 100644 --- a/Test Purposes/App/Mp1/Rnis/RnisRabQuery_BV.tplan2 +++ b/Test Purposes/SRV/Mp1/Rnis/RnisQuery_BV.tplan2 @@ -18,20 +18,22 @@ Package MEC012_APP_MP1_RNI_QUERY_BV { import all from MEC_Common; Test Purpose { - TP Id "TP_MEC025_RNI_QUERY_01" + TP Id "TP_MEC_RNI_QUERY_01" Test objective "Check that the RNIS service returns the RAB information when requested" - Reference "ETSI GS MEC 012 2.0.3, clause 7.3.3.1", + Reference "ETSI GS MEC 012 2.0.4, clause 7.3.3.1", "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/RabInfo" Config Id Config_MEC_1 PICS Selection PIC_RNIS and PIC_RNIS_QUERY - Initial conditions with { + Initial conditions with { the IUT entity having a RabInfo containing - cellId indicating value CELL_USER_INFO + cellUserInfo containing + ecgi indicating value CELL_ID + ; ; } @@ -41,7 +43,7 @@ Package MEC012_APP_MP1_RNI_QUERY_BV { the IUT entity receives a vGET containing uri indicating value "/rni/v1/queries/rab_info", query_parameters containing - cellId indicating value CELL_ID + cell_id indicating value CELL_ID ; ; from the RNIS_CLIENT entity } @@ -52,7 +54,7 @@ Package MEC012_APP_MP1_RNI_QUERY_BV { RabInfo containing cellUserInfo containing ecgi indicating value CELL_ID - ; + ; ; ; ; to the RNIS_CLIENT entity @@ -62,20 +64,20 @@ Package MEC012_APP_MP1_RNI_QUERY_BV { Test Purpose { - TP Id "TP_MEC025_RNI_QUERY_02" + TP Id "TP_MEC_RNI_QUERY_02" Test objective "Check that the RNIS service returns the PLMN information when requested" - Reference "ETSI GS MEC 012 2.0.3, clause 7.4.3.1", + Reference "ETSI GS MEC 012 2.0.4, clause 7.4.3.1", "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/PlmnInfo" Config Id Config_MEC_1 PICS Selection PIC_RNIS and PIC_RNIS_QUERY - Initial conditions with { + Initial conditions with { the IUT entity having a PlmnInfo containing - appInsId indicating value APP_INSTANCE_INFO + appInstanceId indicating value APP_INSTANCE_INFO ; } @@ -85,7 +87,7 @@ Package MEC012_APP_MP1_RNI_QUERY_BV { the IUT entity receives a vGET containing uri indicating value "/rni/v1/queries/plmn_info", query_parameters containing - appInsId indicating value APP_INS_ID + app_ins_id indicating value APP_INS_ID ; ; from the RNIS_CLIENT entity } @@ -94,7 +96,7 @@ Package MEC012_APP_MP1_RNI_QUERY_BV { status set to "200 OK", body containing PlmnInfo containing - appInsId indicating value APP_INS_ID + appInstanceId indicating value APP_INS_ID ; ; ; to the RNIS_CLIENT entity @@ -103,18 +105,18 @@ Package MEC012_APP_MP1_RNI_QUERY_BV { } Test Purpose { - TP Id "TP_MEC025_RNI_QUERY_03" + TP Id "TP_MEC_RNI_QUERY_03" Test objective "Check that the RNIS service returns the S1 bearer information" - Reference "ETSI GS MEC 012 2.0.3, clause 7.5.3.1", + Reference "ETSI GS MEC 012 2.0.4, clause 7.5.3.1", "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/S1BearerInfo" Config Id Config_MEC_1 PICS Selection PIC_RNIS and PIC_RNIS_QUERY - Initial conditions with { + Initial conditions with { the IUT entity having a S1BearerInfo containing s1UeInfo containing ecgi indicating value CELL_ID @@ -128,7 +130,7 @@ Package MEC012_APP_MP1_RNI_QUERY_BV { the IUT entity receives a vGET containing uri indicating value "/rni/v1/queries/s1_bearer_info", query_parameters containing - cellId indicating value CELL_ID + cell_id indicating value CELL_ID ; ; from the RNIS_CLIENT entity } @@ -151,13 +153,13 @@ Package MEC012_APP_MP1_RNI_QUERY_BV { Test objective "Check that the RNIS service returns the L2 measurements information" - Reference "ETSI GS MEC 012 2.0.3, clause 7.5a.3.1", + Reference "ETSI GS MEC 012 2.0.4, clause 7.5a.3.1", "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" //TODO: not yet available in OpenAPI spec. To be added later Config Id Config_MEC_1 PICS Selection PIC_RNIS and PIC_RNIS_QUERY - Initial conditions with { + Initial conditions with { the IUT entity having a L2_Meas_information containing cellInfo containing ecgi indicating value CELL_ID @@ -171,7 +173,7 @@ Package MEC012_APP_MP1_RNI_QUERY_BV { the IUT entity receives a vGET containing uri indicating value "/rni/v1/queries/layer2_meas", query_parameters containing - cellId indicating value CELL_ID + cell_id indicating value CELL_ID ; ; from the RNIS_CLIENT entity } @@ -189,4 +191,4 @@ Package MEC012_APP_MP1_RNI_QUERY_BV { } } } -} \ No newline at end of file +} diff --git a/Test Purposes/SRV/Mp1/Rnis/RnisSpecificSubscription_BO_BI.tplan2 b/Test Purposes/SRV/Mp1/Rnis/RnisSpecificSubscription_BO_BI.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..a66234e0e5b9f8fa105b1bf6e230eb4c6760cf5e --- /dev/null +++ b/Test Purposes/SRV/Mp1/Rnis/RnisSpecificSubscription_BO_BI.tplan2 @@ -0,0 +1,441 @@ +/** +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 MEC012_APP_MP1_RNI_SUB_BO_BI { + + import all from MEC_Common; + + //Not clear how the 400 could be generated for the GET, since the GET does not have any body or query parameters + + Test Purpose { + TP Id "TP_MEC_RNI_SUBSCRIPTION_03_NEG_B" // Negative test: 401 Unauthorized (No token) + + Test objective + "Check that the RNIS service responds with error when a given RNIS subscription is requested without credentials" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.8.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + subscriptionType indicating value "CellChangeSubscription", + callbackReference indicating value CALLBACK_URI, + _links containing + self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/rni/v1/subscriptions/{SUBSCRIPTION_ID}", + "not" authorization + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_SUB entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_RNI_SUBSCRIPTION_03_NEG_C" // Negative test: 401 Unauthorized (Invalid token) + + Test objective + "Check that the RNIS service responds with error when a given RNIS subscription is requested with wrong token" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.8.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + subscriptionType indicating value "CellChangeSubscription", + callbackReference indicating value CALLBACK_URI, + _links containing + self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a GET containing + uri indicating value "/rni/v1/subscriptions/{SUBSCRIPTION_ID}", + headers set to vHeadersInvalidToken + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_SUB entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_RNI_SUBSCRIPTION_03_NEG_D" // Negative test: 404 Not Found + + Test objective + "Check that the RNIS service responds with error when a not existing RNIS subscription is requested" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.8.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION + + Initial conditions with { + the IUT entity "not" having a RNIS_subscription containing + _links containing + self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/rni/v1/subscription/{SUBSCRIPTION_ID}" + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_SUB entity + } + } + } + + +//Removed since not in scope of MEC032 -- only 400, 401 and 404 for individual resources are considered +/* + Test Purpose { + TP Id "TP_MEC025_RNI_SUBSCRIPTION_06_NEG_D" // Negative test: 406 Not Acceptable (Content type format octet-stream requested by the client) + + Test objective + "Check that the RNIS service responds with error when a RNIS subscription is requested" + + Reference "ETSI GS MEC 012 2.0.3, clause 7.8.3.1", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + subscriptionType indicating value "CellChangeSubscription", + callbackReference indicating value CALLBACK_URI, + _links containing + self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vGET containing + uri indicating value "/rni/v1/subscriptions/{SUBSCRIPTION_ID}", + headers set to vHeadersAcceptKO + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "406 Not Acceptable" + ; to the MEC_SUB entity + } + } + } +*/ + + Test Purpose { // Negative test: 400 Bad request + TP Id "TP_MEC_RNI_SUBSCRIPTION_04_NEG_A" + + Test objective + "Check that the RNIS service sends an error when it receives a malformed modify request for a RNIS subscription" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.8.3.2", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + subscriptionType indicating value "CellChangeSubscription", + callbackReference indicating value CALLBACK_URI, + _links containing + self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vPUT containing + uri indicating value "/rni/v1/subscriptions/{SUBSCRIPTION_ID}", + body containing + subscription containing + callbackRefer indicating value NEW_CALLBACK_URI, //wrong field, it should be callbackReference + _links containing + self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + ; + ; + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "400 Bad Request" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_RNI_SUBSCRIPTION_04_NEG_B" // Negative test: 401 Unauthorized (No token) + + Test objective + "Check that the RNIS service responds with error when a modification for a given RNIS subscription is requested without credentials" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.8.3.2", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + subscriptionType indicating value "CellChangeSubscription", + callbackReference indicating value CALLBACK_URI, + _links containing + self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PUT containing + uri indicating value "/rni/v1/subscriptions/{SUBSCRIPTION_ID}", + "not" authorization + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_SUB entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC025_RNI_SUBSCRIPTION_04_NEG_C" // Negative test: 401 Unauthorized (Invalid token) + + Test objective + "Check that the RNIS service responds with error when a modification for a given RNIS subscription is requested with wrong token" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.8.3.2", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + subscriptionType indicating value "CellChangeSubscription", + callbackReference indicating value CALLBACK_URI, + _links containing + self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a PUT containing + uri indicating value "/rni/v1/subscriptions/{SUBSCRIPTION_ID}", + headers set to vHeadersInvalidToken + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_SUB entity + } + } + } + + + Test Purpose { + TP Id "TP_MEC_RNI_SUBSCRIPTION_04_NEG_D" // Negative test: 404 Not Found + + Test objective + "Check that the RNIS service responds with error when a modification for a not existing RNIS subscription is requested" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.8.3.2", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION + + Initial conditions with { + the IUT entity "not" having a RNIS_subscription containing + _links containing + self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + ; + } + + Expected behaviour + ensure that { + when { + + the IUT entity receives a vPUT containing + uri indicating value "/rni/v1/subscription/{SUBSCRIPTION_ID}" + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { // Negative test: 401 Unauthorized (No token) + TP Id "TP_MEC_RNI_SUBSCRIPTION_05_NEG_B" + + Test objective + "Check that the RNIS service sends an error when it receives a deletion request for a RNIS subscription without token" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.8.3.5", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + callbackReference indicating value CALLBACK_URI, + _links containing + self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a DELETE containing + uri indicating value "/rni/v1/subscriptions/{SUBSCRIPTION_ID}", + "not" authorization //missing token + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { // Negative test: 401 Unauthorized (Invalid token) + TP Id "TP_MEC_RNI_SUBSCRIPTION_05_NEG_C" + + Test objective + "Check that the RNIS service sends an error when it receives a deletion request for a RNIS subscription with a wrong token" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.8.3.5", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION + + Initial conditions with { + the IUT entity having a RNIS_subscription containing + callbackReference indicating value CALLBACK_URI, + _links containing + self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a DELETE containing + uri indicating value "/rni/v1/subscriptions/{SUBSCRIPTION_ID}", + headers set to vHeadersInvalidToken //wrong token + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "401 Unauthorized" + ; to the MEC_SUB entity + } + } + } + + Test Purpose { + TP Id "TP_MEC_RNI_SUBSCRIPTION_05_NEG_D" // Negative test: 404 Not Found + + Test objective + "Check that the RNIS service responds with error when the deletion of a not existing RNIS subscription is requested" + + Reference "ETSI GS MEC 012 2.0.4, clause 7.8.3.5", + "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml" + + Config Id Config_MEC_1 + PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION + + Initial conditions with { + the IUT entity "not" having a RNIS_subscription containing + _links containing + self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" + ; + ; + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a vDELETE containing + uri indicating value "/rni/v1/subscription/{SUBSCRIPTION_ID}" + ; from the MEC_SUB entity + } + then { + the IUT entity sends a HTTP_RESPONSE containing + status set to "404 Not Found" + ; to the MEC_SUB entity + } + } + } + +} diff --git a/Test Purposes/App/Mp1/Rnis/RnisSpecificSubscription_BV.tplan2 b/Test Purposes/SRV/Mp1/Rnis/RnisSpecificSubscription_BV.tplan2 similarity index 88% rename from Test Purposes/App/Mp1/Rnis/RnisSpecificSubscription_BV.tplan2 rename to Test Purposes/SRV/Mp1/Rnis/RnisSpecificSubscription_BV.tplan2 index 522bab0ad86d9d4220cad55f600c35c846171feb..be510e63b2cb7c9b2aabadd8caec6ef7bd0339f7 100644 --- a/Test Purposes/App/Mp1/Rnis/RnisSpecificSubscription_BV.tplan2 +++ b/Test Purposes/SRV/Mp1/Rnis/RnisSpecificSubscription_BV.tplan2 @@ -18,12 +18,12 @@ Package MEC012_APP_MP1_RNI_SUB_BV { import all from MEC_Common; Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_06" + TP Id "TP_MEC_RNI_SUBSCRIPTION_03" Test objective "Check that the RNIS service sends a RNIS subscription when requested" - Reference "ETSI GS MEC 012 2.0.3, clause 7.8.3.1", + Reference "ETSI GS MEC 012 2.0.4, clause 7.8.3.1", "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" Config Id Config_MEC_1 @@ -31,7 +31,7 @@ Package MEC012_APP_MP1_RNI_SUB_BV { Initial conditions with { the IUT entity having a RNIS_subscription containing - subscriptionType indicating value "CellChangeSubscription", + subscriptionType indicating value "CellChangeSubscription", //shall we have a TP for each type of subscription? callbackReference indicating value CALLBACK_URI, _links containing self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" @@ -65,19 +65,19 @@ Package MEC012_APP_MP1_RNI_SUB_BV { Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_03" + TP Id "TP_MEC_RNI_SUBSCRIPTION_04" Test objective "Check that the RNIS service modifies a RNIS subscription when requested" - Reference "ETSI GS MEC 012 2.0.3, clause 7.8.3.2", + Reference "ETSI GS MEC 012 2.0.4, clause 7.8.3.2", "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" Config Id Config_MEC_1 PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION Initial conditions with { the IUT entity having a RNIS_subscription containing - subscriptionType indicating value "CellChangeSubscription", + subscriptionType indicating value "CellChangeSubscription", //shall we have a TP for each type of subscription? callbackReference indicating value CALLBACK_URI, _links containing self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" @@ -89,10 +89,9 @@ Package MEC012_APP_MP1_RNI_SUB_BV { ensure that { when { the IUT entity receives a vPUT containing - uri indicating value SUBSCRIPTION_HREF_VALUE, + uri indicating value "/rni/v1/subscriptions/{SUBSCRIPTION_ID}", body containing subscription containing - subscriptionType indicating value "CellChangeSubscription", callbackReference indicating value NEW_CALLBACK_URI, _links containing self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" @@ -106,7 +105,6 @@ Package MEC012_APP_MP1_RNI_SUB_BV { status set to "200 OK", body containing subscription containing - subscriptionType indicating value "CellChangeSubscription", callbackReference indicating value NEW_CALLBACK_URI, _links containing self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" @@ -121,19 +119,18 @@ Package MEC012_APP_MP1_RNI_SUB_BV { Test Purpose { - TP Id "TP_MEC025_RNI_SUBSCRIPTION_04" + TP Id "TP_MEC_RNI_SUBSCRIPTION_05" Test objective "Check that the RNIS service deletes a RNIS subscription when requested" - Reference "ETSI GS MEC 012 2.0.3, clause 7.8.3.5", + Reference "ETSI GS MEC 012 2.0.4, clause 7.8.3.5", "https://forge.etsi.org/gitlab/mec/gs012-rnis-api/blob/master/RniAPI.yaml#/definitions/CellChangeSubscription" Config Id Config_MEC_1 PICS Selection PIC_RNIS and PIC_RNIS_SPECIFIC_SUBSCRIPTION Initial conditions with { the IUT entity having a RNIS_subscription containing - subscriptionType indicating value "CellChangeSubscription", callbackReference indicating value CALLBACK_URI, _links containing self set to "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" @@ -145,7 +142,7 @@ Package MEC012_APP_MP1_RNI_SUB_BV { ensure that { when { the IUT entity receives a vDELETE containing - uri indicating value SUBSCRIPTION_HREF_VALUE + uri indicating value "/rni/v1/subscriptions/{SUBSCRIPTION_ID}" ; from the MEC_SUB entity } then { @@ -155,4 +152,4 @@ Package MEC012_APP_MP1_RNI_SUB_BV { } } } -} \ No newline at end of file +} diff --git a/Test Purposes/mec-common.tplan2 b/Test Purposes/mec-common.tplan2 index 123145bbb2947ee22c70dc86d48690562dd6d54f..3a7bf6b54284ac93e4439e6566810fc785d3ec50 100644 --- a/Test Purposes/mec-common.tplan2 +++ b/Test Purposes/mec-common.tplan2 @@ -7,7 +7,6 @@ Package MEC_Common { - PIC_MEC_SYSTEM // FUT is a MEC System (MEC025, Table 7.9.1-1) - PIC_SERVICES // Implements services - PIC_NOTIFICATIONS // Implements notifications - - PIC_APP_PACKAGE // MEC025, clause 7.3.2 - PIC_APP_PACKAGE_MANAGEMENT // MEC025, table 7.3.2-1 - PIC_APP_PACKAGE_NOTIFICATIONS // MEC025, table 7.3.2-2 - PIC_RNIS // MEC025, clause 7.5.2 @@ -15,6 +14,10 @@ Package MEC_Common { - PIC_RNIS_ALL_SUBSCRIPTIONS // MEC025, table 7.5.2-2 - PIC_RNIS_SPECIFIC_SUBSCRIPTION // MEC025, table 7.5.2-3 - PIC_RNIS_NOTIFICATIONS // MEC025, table 7.5.2-4 + - PIC_APP_LCM_MANAGEMENT // MEC032, table xxxxy + - PIC_APP_LCM_NOTIFICATIONS // MEC032, table xxxxz + - PIC_AMS + - PIC_AMS_NOTIFICATIONS ; entities: - MEC_OSS @@ -30,6 +33,11 @@ Package MEC_Common { - MEC_SUB - RNIS_CLIENT - RNIS_SERVER + - MEPM + - AMS_CLIENT + - AMS_SERVER + - MEC_PROVIDER + - MEC_CONSUMER ; events: - services_running // services available in the IUT @@ -61,7 +69,9 @@ Package MEC_Common { - timing_advance_event - carrier_aggregation_reconfiguration_event - S1_bearer_event + - nr_measurement_repost_event - expiry_notification_event + - application_lcm_change_event ; } @@ -77,6 +87,10 @@ Package MEC_Common { authorization of type STRING, accept of type STRING ; + + type HTTP_REQUEST with + uri of type STRING + ; type HttpMsg with uri of type STRING, @@ -164,6 +178,50 @@ Package MEC_Common { headers set to vHeadersResponse ; + + + HttpHeaders ntHeaders containing + "not" authorization + ; + + + HttpMsg ntPOST containing + headers set to ntHeaders, + body set to any_value + ; + + HttpMsg ntGET containing + headers set to ntHeaders + + ; + + + + + HttpHeaders iHeaders containing + accept set to CONTENT_JSON, + content_type set to CONTENT_JSON, + authorization set to NOT_VALID_TOKEN + ; + + + HttpHeaders iHeadersGet containing + accept set to "application/json", + authorization set to NOT_VALID_TOKEN + ; + + + + HttpMsg iPOST containing + headers set to iHeaders + ; + + HttpMsg iGET containing + headers set to iHeadersGet + ; + + + } Configuration { @@ -177,6 +235,8 @@ Package MEC_Common { Component Type MecPlatformManager with gate p of type myPort; Component Type UeAppComponent with gate p of type myPort; Component Type MecSystemComponent with gate p of type myPort; + Component Type MecGenericProvider with gate p of type myPort; + Component Type MecGenericConsumer with gate p of type myPort; Test Configuration Config_MEC_1 containing Tester component MEC_App of type MecAppComponent @@ -202,5 +262,17 @@ Package MEC_Common { connection between UE_App.p and IUT.p ; + Test Configuration Config_MEC_5 containing + Tester component MecOrchestrator of type MecOrchestrator + SUT component IUT of type MEC_Platform_Manager + connection between MEO.p and IUT.p + ; + + Test Configuration Config_MEC_6 containing + Tester component Mec_Consumer of type MecGenericConsumer + SUT component IUT of type MecGenericProvider + connection between Mec_Consumer.p and IUT.p + ; + } }