...Test title: GET Individual NS Performance Subscription
...Test objective: The objective is to test the retrieval of individual NS Performance subscription and perform a JSON schema and content validation of the returned subscription data structure
...Pre-conditions: At least one NS Performance subscription is available in the NFVO.
...Reference: Clause 7.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: none
...Post-Conditions: none
Get Individual NS Performance Subscription
Check HTTP Response Status Code Is200
Check HTTP Response Body Json Schema IsPkgmSubscription
Check HTTP Response Body Subscription Identifier matches the requested Subscription
GET Individual NS Performance Subscription with invalid resource identifier
[Documentation]Test ID: 5.3.4.7.2
...Test title: GET Individual NS Performance Subscription with invalid resource identifier
...Test objective: The objective is to test that the retrieval of an individual NS Performance subscription fails when using an invalid resource identifier
...Pre-conditions: At least one NS Performance subscription is available in the NFVO.
...Reference: Clause 7.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: none
...Post-Conditions: none
GET individual NS Performance Subscription with invalid resource identifier
Check HTTP Response Status Code Is404
DELETE Individual NS Performance Subscription with invalid resource identifier
...Test objective: The objective is to test that the deletion of an individual NS Performance subscription fails when using an invalid resource identifier
...Pre-conditions: At least one NS Performance subscription is available in the NFVO.
...Reference: Clause 7.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: none
...Post-Conditions: none
Send Delete request for individual NS Performance Subscription with invalid resource identifier
Check HTTP Response Status Code Is404
POST Individual NS Performance Subscription - Method not implemented
[Documentation]Test ID: 5.3.4.7.4
...Test title: POST Individual NS Performance Subscription - Method not implemented
...Test objective: The objective is to test that POST method is not allowed to create a new NS Performance Subscription
...Pre-conditions: none
...Reference: Clause 7.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: none
...Post-Conditions: The NS Performance Subscription is not created on the NFVO
Send Post request for individual NS Performance Subscription
Check HTTP Response Status Code Is405
Check Postcondition NS Performance Subscription is not Created
PUT Individual NS Performance Subscription - Method not implemented
[Documentation]Test ID: 5.3.4.7.5
...Test title: PUT Individual NS Performance Subscription - Method not implemented
...Test objective: The objective is to test that PUT method is not allowed to update an existing NS Performance subscription
...Pre-conditions: At least one NS Performance subscription is available in the NFVO.
...Reference: Clause 7.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: none
...Post-Conditions: The NS Performance subscription is not modified by the operation
Send Put request for individual NS Performance Subscription
Check HTTP Response Status Code Is405
Check Postcondition NS Performance Subscription is Unmodified (Implicit)
PATCH Individual NS Performance Subscription - Method not implemented
...Test title: Get All NS Performance Subscriptions
...Test objective: The objective is to test the retrieval of all NS Performance subscriptions and perform a JSON schema validation of the returned subscriptions data structure
...Pre-conditions: At least one NS Performance subscription is available in the NFVO.
...Reference: Clause 7.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: none
...Post-Conditions: none
Get all NS Performance Subscriptions
Check HTTP Response Status Code Is200
Check HTTP Response Body Json Schema IsPmSubscriptions
Get NS Performance Subscriptions with attribute-based filter
[Documentation]Test ID: 5.3.4.6.2
...Test title: Get NS Performance Subscriptions with attribute-based filter
...Test objective: The objective is to test the retrieval of NS Performance subscriptions using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filters
...Pre-conditions: At least one NS Performance subscription is available in the NFVO.
...Reference: Clause 7.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: none
...Post-Conditions: none
Get NS Performance Subscriptions with attribute-based filters
Check HTTP Response Status Code Is200
Check HTTP Response Body Json Schema IsPmSubscriptions
Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter
Get NS Performance Subscriptions with invalid attribute-based filter
[Documentation]Test ID: 5.3.4.6.3
...Test title: Get NS Performance Subscriptions with attribute-based filters
...Test objective: The objective is to test that the retrieval of NS Performance subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response.
...Pre-conditions: At least one NS Performance subscription is available in the NFVO.
...Reference: Clause 7.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: none
...Post-Conditions: none
Get NS Performance Subscriptions with invalid attribute-based filters
Check HTTP Response Status Code Is400
Check HTTP Response Body Json Schema IsProblemDetails
GET NS Performance Subscription with invalid resource endpoint
[Documentation]Test ID: 5.3.4.6.4
...Test title: GET NS Performance Subscription with invalid resource endpoint
...Test objective: The objective is to test that the retrieval of all NS Performance subscriptions fails when using invalid resource endpoint.
...Pre-conditions: At least one NS Performance subscription is available in the NFVO.
...Reference: Clause 7.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: none
...Post-Conditions: none
Get NS Performance Subscriptions with invalid resource endpoint
Check HTTP Response Status Code Is404
Create new NS Performance subscription
[Documentation]Test ID: 5.3.4.6.5
...Test title: Create new NS Performance subscription
...Test objective: The objective is to test the creation of a new NS Performance subscription and perform a JSON schema and content validation of the returned subscription data structure
...Pre-conditions: none
...Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: none
...Post-Conditions: The NS Performance subscription is successfully set and it matches the issued subscription
Send Post Request for NS Performance Subscription
Check HTTP Response Status Code Is201
Check HTTP Response Body Json Schema IsPmSubscription
Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription
Check Postcondition NS Performance Subscription Is Set
Create duplicated NS Performance subscription with NFVO not creating duplicated subscriptions
[Tags]no-duplicated-subs
[Documentation]Test ID: 5.3.4.6.6
...Test title: Create duplicated NS Performance subscription with NFVO not creating duplicated subscriptions
...Test objective: The objective is to test the attempt of a creation of a duplicated NS Performance subscription and check that no new subscription is created by the NFVO and a link to the original subscription is returned
...Pre-conditions: At least one NS Performance subscription is available in the NFVO.
...Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: The NFVO does not support the creation of duplicated subscriptions
...Post-Conditions: The existing NS Performance subscription returned is available in the NFVO
Send Post Request for Duplicated NS Performance Subscription
Check HTTP Response Status Code Is303
Check HTTP Response Body Is Empty
Check HTTP Response Header ContainsLocation
Check Postcondition Subscription Resource URI Returned in Location Header Is Available
Create duplicated NS Performance subscription with NFVO creating duplicated subscriptions
...Test objective: The objective is to test the creation of a duplicated NS Performance subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure
...Pre-conditions: At least one NS Performance subscription is available in the NFVO.
...Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: The NFVO supports the creation of duplicated subscriptions
...Post-Conditions: The duplicated NS Performance subscription is successfully set and it matches the issued subscription
Send Post Request for Duplicated NS Performance Subscription
Check HTTP Response Status Code Is201
Check HTTP Response Body Json Schema IsPmSubscription
Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription
Check Postcondition NS Performance Subscription Is Set
PUT NSD Performance Subscriptions - Method not implemented
[Documentation]Test ID: 5.3.4.6.8
...Test title: PUT NS Performance Subscriptions - Method not implemented
...Test objective: The objective is to test that PUT method is not allowed to modify NS Performance subscriptions
...Pre-conditions: At least one NS Performance subscription is available in the NFVO.
...Reference: Clause 7.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: none
...Post-Conditions: none
Send Put Request for NS Performance Subscriptions
Check HTTP Response Status Code Is405
PATCH NSD Performance Subscriptions - Method not implemented
[Documentation]Test ID: 5.3.4.6.9
...Test title: PATCH NS Performance Subscriptions - Method not implemented
...Test objective: The objective is to test that PATCH method is not allowed to update NS Performance subscriptions
...Pre-conditions: At least one NS Performance subscription is available in the NFVO.
...Reference: Clause 7.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: none
...Post-Conditions: none
Send Patch Request for NS Performance Subscriptions
Check HTTP Response Status Code Is405
DELETE NSD Performance Subscriptions - Method not implemented
[Documentation]Test ID: 5.3.4.6.10
...Test title: DELETE NS Performance Subscriptions - Method not implemented
...Test objective: The objective is to test that DELETE method is not allowed to delete NS Performance subscriptions
...Pre-conditions: At least one NS Performance subscription is available in the NFVO.
...Reference: Clause 7.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: none
...Post-Conditions: The NS Performance subscriptions are not deleted by the failed operation
Send Delete Request for NS Performance Subscriptions
Check HTTP Response Status Code Is405
Get All NS Performance Subscriptions as Paged Response
[Documentation]Test ID: 5.3.4.6.11
...Test title: Get All NS Performance Subscriptions as Paged Response
...Test objective: The objective is to test the retrieval of all NS Performance subscriptions as paged response.
...Pre-conditions: At least one NS Performance subscription is available in the NFVO.
...Reference: Clause 7.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: none
...Post-Conditions: none
Get all NS Performance Subscriptions
Check HTTP Response Status Code Is200
Check LINK in Header
Get NS Performance Subscriptions - Bad Request Response too Big
[Documentation]Test ID: 5.3.4.6.12
...Test title: Get NS Performance Subscriptions - Bad Request Response too Big
...Test objective: The objective is to test that the retrieval of NS Performance subscriptions fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response.
...Pre-conditions: At least one NS Performance subscription is available in the NFVO.
...Reference: Clause 7.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v2.7.1
...Config ID: Config_prod_NFVO
...Applicability: none
...Post-Conditions: none
Get all NS Performance Subscriptions
Check HTTP Response Status Code Is400
Check HTTP Response Body Json Schema IsProblemDetails
"description":"This type represents modifications to a PM job. It shall comply with the provisions defined in Table 7.5.2.12-1.\n",
"type":"object",
"properties":{
"callbackUri":{
"description":"String formatted according to IETF RFC 3986.\n",
"type":"string",
"format":"uri"
},
"authentication":{
"type":"object",
"required":[
"authType"
],
"properties":{
"authType":{
"description":"Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: - BASIC: In every HTTP request to the notification endpoint, use\n HTTP Basic authentication with the client credentials.\n- OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n- TLS_CERT: Every HTTP request to the notification endpoint is sent\n over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n",
"type":"array",
"items":{
"type":"string",
"enum":[
"BASIC",
"OAUTH2_CLIENT_CREDENTIALS",
"TLS_CERT"
]
}
},
"paramsBasic":{
"description":"Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n",
"type":"object",
"properties":{
"userName":{
"description":"Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n",
"type":"string"
},
"password":{
"description":"Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n",
"type":"string"
}
}
},
"paramsOauth2ClientCredentials":{
"description":"Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n",
"type":"object",
"properties":{
"clientId":{
"description":"Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n",
"type":"string"
},
"clientPassword":{
"description":"Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n",
"type":"string"
},
"tokenEndpoint":{
"description":"String formatted according to IETF RFC 3986.\n",
"description":"This type represents a subscription.\n",
"type":"object",
"required":[
"id",
"callbackUri",
"_links"
],
"properties":{
"id":{
"description":"An identifier with the intention of being globally unique.\n",
"type":"string"
},
"filter":{
"description":"This type represents a filter that can be used to subscribe for notifications related to performance management events. It shall comply with the provisions defined in Table 7.5.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n",
"type":"object",
"properties":{
"nsInstanceSubscriptionFilter":{
"description":"This type represents subscription filter criteria to match NS instances.\n",