diff --git a/SOL003/VNFFaultManagement-API/Alarms.robot b/SOL003/VNFFaultManagement-API/Alarms.robot index f9c057c78d3a82e91d531b388a83dd394136d49f..eb41dc3f8a62148bd4ccd0b17ed43ffc863c4b9d 100644 --- a/SOL003/VNFFaultManagement-API/Alarms.robot +++ b/SOL003/VNFFaultManagement-API/Alarms.robot @@ -13,7 +13,7 @@ POST Alarms - Method not implemented ... Test title: POST Alarms - Method not implemented ... Test objective: The objective is to test that Post method is not allowed to create Fault management alarms on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Get information about multiple alarms ... Test title: Get information about multiple alarms ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema and content validation of the returned alarms data structure ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ Get information about multiple alarms with filter ... Test title: Get information about multiple alarms with filter ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ Get information about multiple alarms Bad Request Invalid attribute-based filter ... Test title: Get information about multiple alarms Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to try to retrieve information about the alarm list with invalid filters and perform a JSON schema and content validation of the returned problem details data structure ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PUT Alarms - Method not implemented ... Test title: PUT Alarms - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for Fault management alarms on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ PATCH Alarms - Method not implemented ... Test title: PATCH Alarms - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to for Fault management alarms on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -133,7 +133,7 @@ DELETE Alarms - Method not implemented ... Test title: POST Alarms - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed for Fault management alarms on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -145,7 +145,7 @@ Get information about multiple alarms as a Paged Response ... Test title: Get information about multiple alarms as a Paged Response ... Test objective: The objective is to retrieve information about the alarm list as a Paged Response ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports response paging for the VNF alarm resources ... Post-Conditions: none @@ -158,7 +158,7 @@ GET information about multiple alarms as a Paged Response with nextpage_opauque_ ... Test title: GET information about multiple alarms as a Paged Response with nextpage_opauque_marker parameter ... Test objective: The objective is to query information about multiple alarms as a Paged Response and retrieve the next page using the nextpage_opaque_marker parameter ... Pre-conditions: A request for retrieving multiple alarms as a paged response has been successfully issued (Test ID 7.3.5.1.12) - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports response paging for the VNF alarm resources ... Post-Conditions: none @@ -171,14 +171,40 @@ Get information about multiple alarms - Bad Request Response too Big ... Test title: Get information about multiple alarms - Bad Request Response too Big ... Test objective: The objective is to try to retrieve information about the alarm list because response is too big and perform a JSON schema and content validation of the returned problem details data structure ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none GET Fault Management Alarms Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails - + +Get information about multiple alarms with permitted authorization scope + [Documentation] Test ID: 7.3.5.1.14 + ... Test title: Get information about multiple alarms with permitted authorization scope + ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema and content validation of the returned alarms data structure with permitted authorization scope + ... Pre-conditions: none + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET Fault Management Alarms with permitted authorization scope + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is Alarms + +Get information about multiple alarms with not permitted authorization scope + [Documentation] Test ID: 7.3.5.1.15 + ... Test title: Get information about multiple alarms with not permitted authorization scope + ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema and content validation of the returned alarms data structure with not permitted authorization scope + ... Pre-conditions: none + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET Fault Management Alarms with not permitted authorization scope + Check HTTP Response Status Code Is 403 + Check HTTP Response Body Json Schema Is ProblemDetails + *** Keywords *** Void Log do nothing diff --git a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot index 5fae4b6bb83155fb34dba38b7327930b4b54cd27..ad5fcde0c0fe9bf0f4088c576f401df987bf6021 100644 --- a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot @@ -14,7 +14,7 @@ Library Process Create Sessions Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance Wait For Process handle=mockInstance timeout=5s on_timeout=continue - Create Mock Session ${callback_uri}:${callback_port} + Create Mock Session ${callback_uri}:${callback_port} Check created Subscription existence Set Headers {"Accept":"${ACCEPT}"} @@ -201,7 +201,29 @@ Send POST request for fault management Individual Alarm Post ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} - + +GET Fault Management Alarms with permitted authorization scope + Log Query NFVO The GET method queries information about multiple alarms with permitted authorization scope . + Set Headers {"Accept":"${ACCEPT}"} + ${scopeValue}= Create Dictionary scopeValue=${ALARMS_READONLY_PERMITTED_SCOPE} + ${authorizationToken}= JWT Encode payload=${scopeValue} key=${OAUTH_KEY} algorithm=${OAUTH_ENCRYPTION_ALGORITHM} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${authorizationToken}"} + Log Execute Query + Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET Fault Management Alarms with not permitted authorization scope + Log Query NFVO The GET method queries information about multiple alarms with not permitted authorization scope . + Set Headers {"Accept":"${ACCEPT}"} + ${scopeValue}= Create Dictionary scopeValue=${ALARMS_READONLY_NOT_PERMITTED_SCOPE} + ${authorizationToken}= JWT Encode payload=${scopeValue} key=${OAUTH_KEY} algorithm=${OAUTH_ENCRYPTION_ALGORITHM} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${authorizationToken}"} + Log Execute Query + Get ${apiRoot}/${apiName}/${apiMajorVersion}/alarms + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + DELETE Fault Management Individual Alarm log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} @@ -247,6 +269,30 @@ PATCH Fault Management Individual Alarm Patch ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +PATCH Fault Management Individual Alarm with permitted authorization scope + log Trying to perform a PATCH. This method modifies an individual alarm resource with permitted authorization scope + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} + ${scopeValue}= Create Dictionary scopeValue=${ALARMS_PERMITTED_SCOPE} + ${authorizationToken}= JWT Encode payload=${scopeValue} key=${OAUTH_KEY} algorithm=${OAUTH_ENCRYPTION_ALGORITHM} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${authorizationToken}"} + ${body}= Get File jsons/alarmModifications.json + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH Fault Management Individual Alarm with not permitted authorization scope + log Trying to perform a PATCH. This method modifies an individual alarm resource with not permitted authorization scope + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} + ${scopeValue}= Create Dictionary scopeValue=${ALARMS_NOT_PERMITTED_SCOPE} + ${authorizationToken}= JWT Encode payload=${scopeValue} key=${OAUTH_KEY} algorithm=${OAUTH_ENCRYPTION_ALGORITHM} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${authorizationToken}"} + ${body}= Get File jsons/alarmModifications.json + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/alarms/${alarmId} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} PATCH Fault Management Individual Alarm - Etag mismatch log Trying to perform a PATCH. This method modifies an individual alarm resource @@ -326,6 +372,46 @@ Send POST Request for duplicated subscription not permitted Verify Mock Expectation ${notification_request} Clear Requests ${callback_endpoint} +POST Subscription with permitted authorization scope + Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions with permitted authorization scope + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + ${scopeValue}= Create Dictionary scopeValue=${ALARMS_SUBSCRIPTIONS_PERMITTED_SCOPE} + ${authorizationToken}= JWT Encode payload=${scopeValue} key=${OAUTH_KEY} algorithm=${OAUTH_ENCRYPTION_ALGORITHM} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${authorizationToken}"} + ${template}= Get File jsons/fmSubscriptionRequest.json + ${body}= Format String ${template} vnfdIds=${vnfdIds} callback_uri=${callback_uri}:${callback_port} callback_endpoint=${callback_endpoint} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + +POST Subscription with not permitted authorization scope + Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions with not permitted authorization scope + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + ${scopeValue}= Create Dictionary scopeValue=${ALARMS_SUBSCRIPTIONS_NOT_PERMITTED_SCOPE} + ${authorizationToken}= JWT Encode payload=${scopeValue} key=${OAUTH_KEY} algorithm=${OAUTH_ENCRYPTION_ALGORITHM} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${authorizationToken}"} + ${template}= Get File jsons/fmSubscriptionRequest.json + ${body}= Format String ${template} vnfdIds=${vnfdIds} callback_uri=${callback_uri}:${callback_port} callback_endpoint=${callback_endpoint} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + GET Subscriptions Log Get the list of active subscriptions Set Headers {"Accept": "${ACCEPT}"} @@ -415,7 +501,27 @@ GET Individual Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} + +GET Individual Subscription with permitted authorization scope + log Trying to get information about an individual subscription with permitted authorization scope + Set Headers {"Accept":"${ACCEPT}"} + ${scopeValue}= Create Dictionary scopeValue=${ALARMS_SUBSCRIPTIONS_PERMITTED_SCOPE} + ${authorizationToken}= JWT Encode payload=${scopeValue} key=${OAUTH_KEY} algorithm=${OAUTH_ENCRYPTION_ALGORITHM} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${authorizationToken}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET Individual Subscription with not permitted authorization scope + log Trying to get information about an individual subscription with not permitted authorization scope + Set Headers {"Accept":"${ACCEPT}"} + ${scopeValue}= Create Dictionary scopeValue=${ALARMS_SUBSCRIPTIONS_PERMITTED_SCOPE} + ${authorizationToken}= JWT Encode payload=${scopeValue} key=${OAUTH_KEY} algorithm=${OAUTH_ENCRYPTION_ALGORITHM} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${authorizationToken}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} PUT Individual Subscription log Trying to perform a PUT. This method should not be implemented @@ -527,3 +633,8 @@ Check PostCondition HTTP Response Body Subscriptions Matches the requested attri FOR ${item} IN ${response['body']} Should Be Equal As Strings ${item['filter']['probableCauses']} ${probableCause} END + +JWT Encode + [Arguments] ${payload} ${key} ${algorithm} + ${encoded}= Evaluate jwt.encode(${payload}, ${key}, ${algorithm}) + [Return] ${encoded} \ No newline at end of file diff --git a/SOL003/VNFFaultManagement-API/IndividualAlarm.robot b/SOL003/VNFFaultManagement-API/IndividualAlarm.robot index 7e0d123e10e2d3494a401d44068cff8eb4b5354d..cd5d7cdcd343b2ce6b18cb4a7ccaf73ae753ab44 100644 --- a/SOL003/VNFFaultManagement-API/IndividualAlarm.robot +++ b/SOL003/VNFFaultManagement-API/IndividualAlarm.robot @@ -14,7 +14,7 @@ POST Alarm - Method not implemented ... Test title: POST Alarm - Method not implemented ... Test objective: The objective is to test that Post method is not allowed to create Fault management individual alarm on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ Get information about an fault management individual alarm ... Test title: Get information about an fault management individual alarm ... Test objective: The objective is to retrieve information about an individual alarm and perform a JSON schema and content validation of the returned alarm data structure ... Pre-conditions: The related alarm exists - ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ PUT Alarm - Method not implemented ... Test title: PUT Alarm - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for Fault management individual alarm on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PATCH Fault Management Individual Alarm ... Test title: PATCH Fault Management Individual Alarm ... Test objective: The objective is to Modify an individual alarm resource and perform a JSON schema and content validation of the returned alarm data structure ... Pre-conditions: The related alarm exists - ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ Modify an individual alarm resource - Precondition failed ... Test title: Modify an individual alarm resource - Precondition failed ... Test objective: The objective is to test that an individual alarm resource cannot be modified if the resource was modified by another entity ... Pre-conditions: The related alarm exists - ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -79,7 +79,7 @@ Modify an individual alarm resource - Conflict ... Test title: Modify an individual alarm resource - Conflict ... Test objective: The objective is to test that an individual alarm resource cannot be modified if the alarm is already in the state that is requested to be set ... Pre-conditions: The related alarm exists - ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ DELETE Alarm - Method not implemented ... Test title: DELETE Alarm - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to for Fault management individual alarm on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -105,10 +105,37 @@ Get information about an fault management individual alarm - Not Found ... Test title: Get information about an fault management individual alarm - Not Found ... Test objective: The objective is to test that retrieval of information about an individual alarm fails when individual alarm is not present ... Pre-conditions: The related alarm does not exists - ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none GET Fault Management Individual Alarm Check HTTP Response Status Code Is 404 - Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file + Check HTTP Response Body Json Schema Is ProblemDetails + +PATCH Fault Management Individual Alarm with permitted authorization scope + [Documentation] Test ID: 7.3.5.2.9 + ... Test title: PATCH Fault Management Individual Alarm with permitted authorization scope + ... Test objective: The objective is to Modify an individual alarm resource and perform a JSON schema and content validation of the returned alarm data structure with permitted authorization scope + ... Pre-conditions: The related alarm exists + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v4.5.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH Fault Management Individual Alarm with permitted authorization scope + Check HTTP Response Header Contains ETag and Last-Modified + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarmModification + +PATCH Fault Management Individual Alarm with not permitted authorization scope + [Documentation] Test ID: 7.3.5.2.10 + ... Test title: PATCH Fault Management Individual Alarm with not permitted authorization scope + ... Test objective: The objective is to Modify an individual alarm resource and perform a JSON schema and content validation of the returned alarm data structure with not permitted authorization scope + ... Pre-conditions: The related alarm exists + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v4.5.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH Fault Management Individual Alarm with not permitted authorization scope + Check HTTP Response Status Code Is 403 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL003/VNFFaultManagement-API/IndividualSubscription.robot b/SOL003/VNFFaultManagement-API/IndividualSubscription.robot index 8bd03cb3cf6c951a8c8836b5f7acaf60df3ca5d2..692a59c26552bc30d6cc997591b743d93514e067 100644 --- a/SOL003/VNFFaultManagement-API/IndividualSubscription.robot +++ b/SOL003/VNFFaultManagement-API/IndividualSubscription.robot @@ -11,7 +11,7 @@ Post Individual Subscription - Method not implemented ... Test title: Post Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed for Fault management subscription on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ Get Information about an individual subscription ... Test title: Get Information about an individual subscription ... Test objective: The objective is to read an individual subscription for NFVO alarms subscribed by the client and perform a JSON schema and content validation of the returned fault management individual subscription data structure ... Pre-conditions: The subscription with the given id exists - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT an individual subscription - Method not implemented ... Test title:PUT an individual subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for Fault management individual subscription on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH an individual subscription - Method not implemented ... Test title:PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed for Fault management individual subscription on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE an individual subscription ... Test title:DELETE an individual subscription ... Test objective: The objective is to test that DELETE method removes individual subscription on VNF ... Pre-conditions: The Subsbcription already exists - ... Reference: Clause 7.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: subscription is deleted @@ -73,10 +73,36 @@ Get Information about an individual subscription - Not Found ... Test title: Get Information about an individual subscription - Not Found ... Test objective: The objective is to test that the retrieval of an individual subscription for NFVO alarms subscribed by the client fails when subscription is not present ... Pre-conditions: The subscription with the given id does not exists - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none GET Individual Subscription Check HTTP Response Status Code Is 404 - Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file + Check HTTP Response Body Json Schema Is ProblemDetails + +Get Information about an individual subscription with permitted authorization scope + [Documentation] Test ID: 7.3.5.4.7 + ... Test title: Get Information about an individual subscription with permitted authorization scope + ... Test objective: The objective is to read an individual subscription for NFVO alarms subscribed by the client and perform a JSON schema and content validation of the returned fault management individual subscription data structure with permitted authorization scope + ... Pre-conditions: The subscription with the given id exists + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET Individual Subscription with permitted authorization scope + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscription + +Get Information about an individual subscription with not permitted authorization scope + [Documentation] Test ID: 7.3.5.4.8 + ... Test title: Get Information about an individual subscription with not permitted authorization scope + ... Test objective: The objective is to read an individual subscription for NFVO alarms subscribed by the client and perform a JSON schema and content validation of the returned fault management individual subscription data structure with not permitted authorization scope + ... Pre-conditions: The subscription with the given id exists + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET Individual Subscription with not permitted authorization scope + Check HTTP Response Status Code Is 403 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL003/VNFFaultManagement-API/NotificationEndpoint.robot b/SOL003/VNFFaultManagement-API/NotificationEndpoint.robot index 86fc0cd0bfe40747e95894f09a9aaf31896504c9..ae2c722d2b65c7c7da969ccc703a84b6dbb16f00 100644 --- a/SOL003/VNFFaultManagement-API/NotificationEndpoint.robot +++ b/SOL003/VNFFaultManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ VNF Fault Alarm Notification ... Test title: VNF Fault Alarm Notification ... Test objective: The objective is to test that the POST request triggers VNF Fault Alarm Notification. ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm notifications is available in the VNFM. - ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ VNF Fault Alarm Cleared Notification ... Test title: VNF Fault Alarm Cleared Notification ... Test objective: The objective is to test that the POST request triggers VNF Fault Alarm Cleared Notification. ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm cleared notifications is available in the VNFM. - ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ VNF Fault Alarm List Reulit Notification ... Test title: VNF Fault Alarm List Rebuilt Notification ... Test objective: The objective is to test that the POST request triggers VNF Fault Alarm List Rebuilt Notification. ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm list rebuilt notifications is available in the VNFM. - ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFFaultManagement-API/Notifications.robot b/SOL003/VNFFaultManagement-API/Notifications.robot index fd4cbfdd3bd28091d58d98226c17a3a7c7b5fced..55e1ae60ae976932ba5e2506f85ef4e2235e4ad9 100644 --- a/SOL003/VNFFaultManagement-API/Notifications.robot +++ b/SOL003/VNFFaultManagement-API/Notifications.robot @@ -15,7 +15,7 @@ VNF Fault Alarm Notification ... Test title: VNF Fault Alarm Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm Notification when a virtualised resource within an VNF instance fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm notifications is available in the VNFM. - ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ VNF Fault Alarm Cleared Notification ... Test title: VNF Fault Alarm Cleared Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm Cleared Notification when a faulty virtualised resource within an VNF instance is cleared, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, a virtualised resource is in faulty state, and a subscription for fault alarm cleared notifications is available in the VNFM. - ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ VNF Fault Alarm List Rebuilt Notification ... Test title: VNF Fault Alarm List Rebuilt Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm List Rebuilt Notification when the VNFM decides to rebuild the list of its VNF alarms, e.g. due to a corruption in the alarm storage, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, one or more virtualised resource are in faulty state, and a subscription for fault alarm list rebuilt notifications is available in the VNFM. - ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL003/VNFFaultManagement-API/Subscriptions.robot b/SOL003/VNFFaultManagement-API/Subscriptions.robot index b0f7d57f5d9e119c3a4d60c2e97d23a2d1cead4d..f91f20b963ebe2164f98a9d4fdc924c1c43598b4 100644 --- a/SOL003/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL003/VNFFaultManagement-API/Subscriptions.robot @@ -16,7 +16,7 @@ Create a new Fault Management alarm subscription ... Test title: Create a new Fault Management alarm subscription ... Test objective: The objective is to create a new Fault management alarm subscriptions and perform a JSON schema and content validation of the returned fault management alarms subscription data structure ... Pre-conditions: No subscription with the same filter and callbackUri exists - ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: subscription is created @@ -25,13 +25,13 @@ Create a new Fault Management alarm subscription Check Operation Occurrence Id Check HTTP Response Body Json Schema Is FmSubscription Check created Subscription existence - + Create a new alarm subscription - DUPLICATION - [Documentation] Test ID: 7.3.5.3.2 + [Documentation] Test ID: 7.3.5.3.2 ... Test title: Create a new alarm subscription - DUPLICATION ... Test objective: The objective is to create a new subscription with the VNF allowing duplication and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: the NFVO allows creating a subscription resource if another subscription resource with the same filter and callbackUri already exists ... Post-Conditions: duplicated subscription is created @@ -46,7 +46,7 @@ Create a new alarm subscription - NO DUPLICATION ... Test title: Create a new alarm subscription - NO DUPLICATION ... Test objective: The objective is to create a new subscription with the VNF not allowing duplication and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: the NFVO decides to not create a duplicate subscription resource ... Post-Conditions: duplicated subscription is not created @@ -60,7 +60,7 @@ Retrieve a list of alarm subscriptions ... Test title: Retrieve a list of alarm subscriptions ... Test objective: The objective is to retrieve the list of active subscriptions and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: noe @@ -73,7 +73,7 @@ Retrieve a list of alarm subscriptions with filter ... Test title: Retrieve a list of alarm subscriptions with filter ... Test objective: The objective is to retrieve the list of active subscriptions with filter and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to retrieve the list of active subscriptions with Invalid attribute-based filtering parameters and perform a JSON schema and content validation of the returned problem details data structure. ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ GET subscriptions with "all_fields" attribute selector ... Test title: GET subscriptions with "all_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -112,7 +112,7 @@ GET subscriptions with "exclude_default" attribute selector ... Test title: GET subscriptions with "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -125,7 +125,7 @@ GET subscriptions with "fields" attribute selector ... Test title: GET subscriptions with "fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -138,7 +138,7 @@ GET subscriptions with "exclude_fields" attribute selector ... Test title: GET subscriptions with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -151,7 +151,7 @@ PUT subscriptions - Method not implemented ... Test title:PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for Fault management subscriptions on VNF ... Pre-conditions: none - ... RReference: Clause 7.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... RReference: Clause 7.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -163,7 +163,7 @@ PATCH subscriptions - Method not implemented ... Test title: PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to for Fault management subscriptions on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -175,7 +175,7 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to for Fault management subscriptions on VNF ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: subscription is not deleted @@ -187,7 +187,7 @@ Retrieve a list of alarm subscriptions as Paged Response ... Test title: Retrieve a list of alarm subscriptions as Paged Response ... Test objective: The objective is to retrieve the list of active subscriptions as Paged Response. ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: noe @@ -200,7 +200,7 @@ GET subscriptions - Bad Request Response too Big ... Test title: GET subscriptions - Bad Request Response too Big ... Test objective: The objective is to retrieve the list of active subscriptions because response is too big and perform a JSON schema and content validation of the returned problem details data structure. ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -213,7 +213,7 @@ GET Subscription with attribute-based filter "id" ... Test title: GET Subscription with attribute-based filter "id" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "id" ... Pre-conditions: - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -227,7 +227,7 @@ Get subscriptions with filter "filter.notificationTypes" ... Test title: GET Subscription with attribute-based filter "filter.notificationTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.notificationTypes" ... Pre-conditions: - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -241,7 +241,7 @@ Get subscriptions with filter "filter.faultyResourceTypes" ... Test title: GET Subscription with attribute-based filter "filter.faultyResourceTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.faultyResourceTypes" ... Pre-conditions: - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -255,7 +255,7 @@ Get subscriptions with filter "filter.perceivedSeverities" ... Test title: GET Subscription with attribute-based filter "filter.perceivedSeverities" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.perceivedSeverities" ... Pre-conditions: - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -269,7 +269,7 @@ Get subscriptions with filter "filter.eventTypes" ... Test title: GET Subscription with attribute-based filter "filter.eventTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.eventTypes" ... Pre-conditions: - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -283,7 +283,7 @@ Get subscriptions with filter "filter.probableCauses" ... Test title: GET Subscription with attribute-based filter "filter.probableCauses" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.probableCauses" ... Pre-conditions: - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -297,10 +297,38 @@ POST Create a new Subscription - Unprocessable Content ... Test title: POST Create a new Subscription - Unprocessable Content ... Test objective: The objective is to test that content type of the message content is supported and the message content of a request contains syntactically correct data but the data cannot be processed. ... re-conditions: none - ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v4.4.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v4.5.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none Post Subscription Check HTTP Response Status Code Is 422 Check HTTP Response Body Json Schema Is ProblemDetails + +Create a new Fault Management alarm subscription with permitted authorization scope + [Documentation] Test ID: 7.3.5.3.23 + ... Test title: Create a new Fault Management alarm subscription with permitted authorization scope + ... Test objective: The objective is to create a new Fault management alarm subscriptions and perform a JSON schema and content validation of the returned fault management alarms subscription data structure with permitted authorization scope + ... Pre-conditions: No subscription with the same filter and callbackUri exists + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v4.5.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: subscription is created + POST Subscription with permitted authorization scope + Check HTTP Response Status Code Is 201 + Check Operation Occurrence Id + Check HTTP Response Body Json Schema Is FmSubscription + Check created Subscription existence + +Create a new Fault Management alarm subscription with not permitted authorization scope + [Documentation] Test ID: 7.3.5.3.24 + ... Test title: Create a new Fault Management alarm subscription with not permitted authorization scope + ... Test objective: The objective is to create a new Fault management alarm subscriptions and perform a JSON schema and content validation of the returned fault management alarms subscription data structure with not permitted authorization scope + ... Pre-conditions: No subscription with the same filter and callbackUri exists + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v4.5.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: subscription is created + POST Subscription with not permitted authorization scope + Check HTTP Response Status Code Is 403 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL003/VNFFaultManagement-API/environment/variables.txt b/SOL003/VNFFaultManagement-API/environment/variables.txt index b267ef6895851f6fb515db665e569e5b9614413d..874a047563e98f50ce50eef2256a46e8ad991685 100644 --- a/SOL003/VNFFaultManagement-API/environment/variables.txt +++ b/SOL003/VNFFaultManagement-API/environment/variables.txt @@ -2,7 +2,17 @@ ${VNFM_HOST} localhost # Hostname of the VNFM ${VNFM_PORT} 8080 # Listening port of the VNFM ${VNFM_SCHEMA} https +${OAUTH_ENCRYPTION_ALGORITHM} HS256 ${AUTHORIZATION_HEADER} Authorization +${OAUTH_KEY} + +${ALARMS_PERMITTED_SCOPE} vnffm:v1:alarms +${ALARMS_NOT_PERMITTED_SCOPE} vnffm:v1:alarms:invalid +${ALARMS_READONLY_PERMITTED_SCOPE} vnffm:v1:alarms:readonly +${ALARMS_READONLY_NOT_PERMITTED_SCOPE} vnffm:v1:alarms:readonly:invalid +${ALARMS_SUBSCRIPTIONS_PERMITTED_SCOPE} vnffm:v1:subscriptions +${ALARMS_SUBSCRIPTIONS_NOT_PERMITTED_SCOPE} vnffm:v1:subscriptions:invalid + ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${CONTENT_TYPE} application/json ${ACCEPT} application/json