Skip to content
Snippets Groups Projects
Commit c6320394 authored by AHMADABB's avatar AHMADABB
Browse files

SOL3 FM Subcriptions

parent 8ec8f686
No related branches found
No related tags found
No related merge requests found
......@@ -190,8 +190,31 @@ PATCH Fault Management Individual Alarm Conflict
${outputResponse}= Output response
Set Global Variable @{response} ${outputResponse}
Do POST Subscription
POST Subscription
Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions
Set Headers {"Accept":"${ACCEPT}"}
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
${body}= Get File jsons/fmSubscriptionRequest.json
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
${outputResponse}= Output response
Set Global Variable @{response} ${outputResponse}
POST Subscription Duplication permitted
Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions
Pass Execution If ${VNFM_DUPLICATION} == 0 NVFO is not permitting duplication. Skipping the test
Set Headers {"Accept":"${ACCEPT}"}
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
${body}= Get File jsons/fmSubscriptionRequest.json
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
${outputResponse}= Output response
Set Global Variable @{response} ${outputResponse}
POST Subscription Duplication not permitted
Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions
Pass Execution If ${VNFM_DUPLICATION} == 1 NVFO is not permitting duplication. Skipping the test
Set Headers {"Accept":"${ACCEPT}"}
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
......@@ -200,7 +223,7 @@ Do POST Subscription
${outputResponse}= Output response
Set Global Variable @{response} ${outputResponse}
Do GET Subscriptions
GET Subscriptions
Log Get the list of active subscriptions
Set Headers {"Accept": "${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
......@@ -208,7 +231,7 @@ Do GET Subscriptions
${outputResponse}= Output response
Set Global Variable @{response} ${outputResponse}
Do GET Subscriptions with filter
GET Subscriptions with filter
Log Get the list of active subscriptions using a filter
Set Headers {"Accept": "${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
......@@ -216,7 +239,7 @@ Do GET Subscriptions with filter
${outputResponse}= Output response
Set Global Variable @{response} ${outputResponse}
Do GET Subscriptions with Invalid filter
GET Subscriptions with Invalid filter
Log Get the list of active subscriptions using an invalid filter
Set Headers {"Accept": "${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
......@@ -224,7 +247,7 @@ Do GET Subscriptions with Invalid filter
${outputResponse}= Output response
Set Global Variable @{response} ${outputResponse}
Do PUT Subscriptions
PUT Subscriptions
log Trying to perform a PUT Subscriptions. This method should not be implemented
Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
......@@ -232,7 +255,7 @@ Do PUT Subscriptions
${outputResponse}= Output response
Set Global Variable @{response} ${outputResponse}
Do PATCH Subscriptions
PATCH Subscriptions
log Trying to perform a PATCH Subscriptions. This method should not be implemented
Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
......@@ -240,7 +263,7 @@ Do PATCH Subscriptions
${outputResponse}= Output response
Set Global Variable @{response} ${outputResponse}
Do DELETE Subscriptions
DELETE Subscriptions
log Trying to perform a DELETE Subscriptions. This method should not be implemented
Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
......@@ -248,7 +271,7 @@ Do DELETE Subscriptions
${outputResponse}= Output response
Set Global Variable @{response} ${outputResponse}
Do POST Individual Subscription
POST Individual Subscription
log Trying to perform a POST. This method should not be implemented
Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
......@@ -256,7 +279,7 @@ Do POST Individual Subscription
${outputResponse}= Output response
Set Global Variable @{response} ${outputResponse}
Do GET Individual Subscription
GET Individual Subscription
log Trying to get information about an individual subscription
Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
......@@ -264,7 +287,7 @@ Do GET Individual Subscription
${outputResponse}= Output response
Set Global Variable @{response} ${outputResponse}
Do PUT Individual Subscription
PUT Individual Subscription
log Trying to perform a PUT. This method should not be implemented
Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
......@@ -272,7 +295,7 @@ Do PUT Individual Subscription
${outputResponse}= Output response
Set Global Variable @{response} ${outputResponse}
Do PATCH Individual Subscription
PATCH Individual Subscription
log Trying to perform a PATCH. This method should not be implemented
Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
......@@ -280,7 +303,7 @@ Do PATCH Individual Subscription
${outputResponse}= Output response
Set Global Variable @{response} ${outputResponse}
Do DELETE Individual Subscription
DELETE Individual Subscription
log Trying to perform a DELETE.
Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
......
*** Settings ***
Resource environment/variables.txt
Resource FaultManagement-APIKeyword.robot
Library DependencyLibrary
Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
Library OperatingSystem
Library JSONLibrary
Library JSONSchemaLibrary schemas/
*** Test Cases ***
Create a new subscription
[Documentation] Test ID: 7.4.4.1
... Test title: Create a new alarm subscription
... Test objective: The objective is to create a new subscription.
... Pre-conditions: no subscription with the same filter and callbackUri exists
... Reference: section 7.4.4 - SOL003 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability:
... Post-Conditions:
Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions
Set Headers {"Accept":"${ACCEPT}"}
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
${body}= Get File jsons/fmSubscriptionRequest.json
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
Integer response status 201
Log Status code validated
${headers}= Output response headers
Should Contain ${headers} Location
${contentType}= Output response headers Content-Type
Should Contain ${contentType} ${CONTENT_TYPE}
${result}= Output response body
Validate Json FmSubscription.schema.json ${result}
Log Validation OK
Create a new Fault Management alarm subscription
[Documentation] Test ID: 7.3.5.3.1
... 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: section 7.4.4.3.1 - SOL003 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: none
POST Subscription
Check HTTP Response Status Code Is 201
Check HTTP Response Header Contains Location
Check HTTP Response Body Json Schema Is FmSubscription
Create a new Subscription - DUPLICATION
[Documentation] Test ID: 7.4.4.2
Create a new alarm subscription - DUPLICATION
[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.
... 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: section 7.4.4 - SOL003 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability: the VNFM allows creating a subscription resource if another subscription resource with the same filter and callbackUri already exists
... Post-Conditions:
Log Trying to create a subscription with an already created content
Pass Execution If ${VNFM_DUPLICATION} == 0 VNFM is not permitting duplication. Skipping the test
Set Headers {"Accept": "${ACCEPT}"}
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
${body}= Get File jsons/fmSubscriptionRequest.json
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
Integer response status 201
Log Status code validated
${contentType}= Output response headers Content-Type
Should Contain ${contentType} ${CONTENT_TYPE}
${result}= Output response body
Validate Json FmSubscription.schema.json ${result}
Log Validation OK
... Reference: section 7.4.4.3.1 - SOL003 v2.4.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: none
Depends On Test Create a new subscription
POST Subscription Duplication permitted
Check HTTP Response Status Code Is 201
Check HTTP Response Header Contains Location
Check HTTP Response Body Json Schema Is FmSubscription
Create a new Subscription - NO-DUPLICATION
[Documentation] Test ID: 7.4.4.3
Create a new alarm subscription - NO DUPLICATION
[Documentation] Test ID: 7.3.5.3.3
... Test title: Create a new alarm subscription - NO DUPLICATION
... Test objective: The objective is to create a new subscription.
... 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: section 7.4.4 - SOL003 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability: the VNFM decides to not create a duplicate subscription resource
... Post-Conditions:
Log Trying to create a subscription with an already created content
Pass Execution If ${VNFM_DUPLICATION} == 1 VNFM permits duplication. Skipping the test
Set Headers {"Accept": "${ACCEPT}"}
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
${body}= Get File jsons/fmSubscriptionRequest.json
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
Integer response status 303
Log Status code validated
${headers}= Output response headers
Should Contain ${headers} Location
Log Validation OK
... Reference: section 7.4.4.3.1 - SOL003 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability: the NFVO decides to not create a duplicate subscription resource
... Post-Conditions: none
Depends On Test Create a new subscription
POST Subscription Duplication not permitted
Check HTTP Response Status Code Is 303
Check HTTP Response Header Contains Location
Check HTTP Response Body Json Schema Is FmSubscription
GET Subscriptions
[Documentation] Test ID: 7.4.4.4
Retrieve a list of alarm subscriptions
[Documentation] Test ID: 7.3.5.3.4
... Test title: Retrieve a list of alarm subscriptions
... Test objective: The objective is to retrieve the list of active subscriptions
... Pre-conditions:
... Reference: section 7.4.4 - SOL003 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability:
... Post-Conditions:
Log Get the list of active subscriptions
Set Headers {"Accept":"${ACCEPT}"}
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
Log Execute Query and validate response
Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions
Log Validate Status code
Integer response status 200
${result}= Output response body
Validate Json FmSubscriptions.schema.json ${result}
Log Validation OK
GET Subscription - Filter
[Documentation] Test ID: 7.4.4.5
... Test title: Retrieve a list of alarm subscriptions
... Test objective: The objective is to retrieve the list of active subscriptions with filter
... Pre-conditions:
... Reference: section 7.4.4 - SOL003 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability:
... Post-Conditions:
Log Get the list of active subscriptions using a filter
Set Headers {"Accept": "${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter}
Integer response status 200
Log Received a 200 OK as expected
${result}= Output response body
Validate Json FmSubscriptions.schema.json ${result}
Log Validation OK
... 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: section 7.4.4.3.2 - SOL003 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: noe
GET Subscriptions
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is FmSubscriptions
Retrieve a list of alarm subscriptions with filter
[Documentation] Test ID: 7.3.5.3.5
... 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: section 7.4.4.3.2 - SOL003 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: none
GET Subscriptions with filter
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is FmSubscriptions
GET subscriptions - Bad Request Invalid attribute-based filtering parameters
[Documentation] Test ID: 7.4.4.5-1
... Test title: Retrieve a list of alarm subscriptions
... Test objective: The objective is to retrieve the list of active subscriptions with Invalid attribute-based filtering parameters
... Pre-conditions:
... Reference: section 7.4.4 - SOL003 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability:
... Post-Conditions:
Log Get the list of active subscriptions using an invalid filter
Set Headers {"Accept": "${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter_invalid}
Integer response status 400
Log Received a 400 Bad Request as expected
${contentType}= Output response headers Content-Type
Should Contain ${contentType} ${CONTENT_TYPE}
${problemDetails}= Output response body
Validate Json ProblemDetails.schema.json ${problemDetails}
Log Validation OK
[Documentation] Test ID: 7.3.5.3.6
... 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: section 7.4.4.3.2 - SOL003 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: none
GET Subscriptions with Invalid filter
Check HTTP Response Status Code Is 400
Check HTTP Response Body Json Schema Is ProblemDetails
PUT subscriptions - Method not implemented
log Trying to perform a PUT. This method should not be implemented
Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
Put ${apiRoot}/${apiName}/${apiVersion}/subscriptions
Log Validate Status code
Integer response status 405
[Documentation] Test ID: 7.3.5.3.7
... 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: section 7.4.4.3.3 - SOL003 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: none
Put Subscriptions
Check HTTP Response Status Code Is 405
PATCH subscriptions - Method not implemented
log Trying to perform a PATCH. This method should not be implemented
Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
Patch ${apiRoot}/${apiName}/${apiVersion}/subscriptions
Log Validate Status code
Integer response status 405
[Documentation] Test ID: 7.3.5.3.8
... 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: section 7.4.4.3.4 - SOL003 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: none
PATCH Subscriptions
Check HTTP Response Status Code Is 405
DELETE subscriptions - Method not implemented
log Trying to perform a DELETE. This method should not be implemented
Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions
Log Validate Status code
Integer response status 405
\ No newline at end of file
[Documentation] Test ID: 7.3.5.3.9
... 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: section 7.4.4.3.5 - SOL003 v2.4.1
... Config ID: Config_prod_VNFM
... Applicability: none
... Post-Conditions: none
DELETE Subscriptions
Check HTTP Response Status Code Is 405
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment