From 52c0cad9069d31da487885bc0d0dc5201da5af20 Mon Sep 17 00:00:00 2001
From: bernini <g.bernini@nextworks.it>
Date: Tue, 26 May 2020 15:18:02 +0200
Subject: [PATCH] Merge branch '2.6.1-dev' into
 '2.6.1-dev-SOL003-VNFFaultManagement-API'

# Conflicts:
#   SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot
#   SOL003/VNFFaultManagement-API/Subscriptions.robot
---
 SOL003/VNFFaultManagement-API/Alarms.robot    |  27 ++-
 .../FaultManagement-APIKeyword.robot          |  80 ++++++++
 .../IndividualAlarm.robot                     |  14 +-
 .../IndividualSubscription.robot              |  10 +-
 .../Subscriptions.robot                       | 180 +++++++++++++++++-
 .../environment/variables.txt                 |   6 +
 6 files changed, 295 insertions(+), 22 deletions(-)

diff --git a/SOL003/VNFFaultManagement-API/Alarms.robot b/SOL003/VNFFaultManagement-API/Alarms.robot
index 69d73ea7..b280ce55 100644
--- a/SOL003/VNFFaultManagement-API/Alarms.robot
+++ b/SOL003/VNFFaultManagement-API/Alarms.robot
@@ -148,4 +148,29 @@ DELETE Alarms - Method not implemented
     DELETE Fault management Alarms
     Check HTTP Response Status Code Is    405
     Check Postcondition VNF fault management alarms Exists
-    
\ No newline at end of file
+    
+Get information about multiple alarms as a Paged Response
+    [Documentation]    Test ID: 7.3.5.1.8
+    ...    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] v2.6.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability: none
+    ...    Post-Conditions: none
+    GET Fault Management Alarms
+    Check HTTP Response Status Code Is    200
+    Check LINK in Header
+    
+Get information about multiple alarms - Bad Request Response too Big
+    [Documentation]    Test ID: 7.3.5.1.9
+    ...    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] v2.6.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
\ No newline at end of file
diff --git a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot
index e049bbe1..cab922c3 100644
--- a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot
+++ b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot
@@ -401,3 +401,83 @@ DELETE Individual Subscription
     Delete    ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}  
     ${outputResponse}=    Output    response
     Set Global Variable    @{response}    ${outputResponse}
+    
+Check LINK in Header
+    ${linkURL}=    Get Value From Json    ${response.headers}    $..Link
+    Should Not Be Empty    ${linkURL}
+    
+Get subscriptions with filter "id"
+    Log    Get the list of active subscriptions using a filter "id"
+    Set Headers    {"Accept": "${ACCEPT}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
+    GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions?id=${subscription_id}
+    ${outputResponse}=    Output    response
+	Set Global Variable    @{response}    ${outputResponse}
+	
+Check PostCondition HTTP Response Body Subscription Matches the requested attribute-based filter "id"
+    Should Be Equal As Strings    ${response['body']['id']}    ${subscription_id}
+	
+Get subscriptions with filter "filter_notificationTypes"
+    Log    Get the list of active subscriptions using a filter "filter.notificationTypes"
+    Set Headers    {"Accept": "${ACCEPT}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
+    GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.notificationTypes=${notification_type}
+    ${outputResponse}=    Output    response
+	Set Global Variable    @{response}    ${outputResponse}
+	
+Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes"
+	:FOR   ${item}   IN  @{response['body']}
+    Should Be Equal As Strings    ${item['filter']['notificationTypes']}   ${probableCause}
+    END
+
+Get subscriptions with filter "filter_faultyResourceTypes"
+    Log    Get the list of active subscriptions using a filter "filter.faultyResourceTypes"
+    Set Headers    {"Accept": "${ACCEPT}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
+    GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.faultyResourceTypes=${faultyResourceType}
+    ${outputResponse}=    Output    response
+	Set Global Variable    @{response}    ${outputResponse}
+	
+Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_faultyResourceTypes"
+    :FOR   ${item}   IN  @{response['body']}
+    Should Be Equal As Strings    ${item['filter']['faultyResourceTypes']}   ${faultyResourceType}
+    END
+	
+Get subscriptions with filter "filter_perceivedSeverities"
+    Log    Get the list of active subscriptions using a filter "filter.perceivedSeverities"
+    Set Headers    {"Accept": "${ACCEPT}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
+    GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.perceivedSeverities=${perceivedSeverity}
+    ${outputResponse}=    Output    response
+	Set Global Variable    @{response}    ${outputResponse}
+	
+Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_perceivedSeverities"
+	:FOR   ${item}   IN  @{response['body']}
+    Should Be Equal As Strings    ${item['filter']['perceivedSeverities']}   ${perceivedSeverity}
+    END
+    
+Get subscriptions with filter "filter_eventTypes"
+    Log    Get the list of active subscriptions using a filter "filter.eventTypes"
+    Set Headers    {"Accept": "${ACCEPT}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
+    GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.eventTypes=${eventType}
+    ${outputResponse}=    Output    response
+	Set Global Variable    @{response}    ${outputResponse}
+	
+Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_eventTypes"
+    :FOR   ${item}   IN  @{response['body']}
+    Should Be Equal As Strings    ${item['filter']['eventTypes']}   ${eventType}
+    END
+	
+Get subscriptions with filter "filter_probableCauses"
+    Log    Get the list of active subscriptions using a filter "filter.probableCauses"
+    Set Headers    {"Accept": "${ACCEPT}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization": "${AUTHORIZATION}"}
+    GET    ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.probableCauses=${probableCause}
+    ${outputResponse}=    Output    response
+	Set Global Variable    @{response}    ${outputResponse}
+	
+Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses"
+    :FOR   ${item}   IN  @{response['body']}
+    Should Be Equal As Strings    ${item['filter']['probableCauses']}   ${probableCause}
+    END
diff --git a/SOL003/VNFFaultManagement-API/IndividualAlarm.robot b/SOL003/VNFFaultManagement-API/IndividualAlarm.robot
index af151649..d9f55e64 100644
--- a/SOL003/VNFFaultManagement-API/IndividualAlarm.robot
+++ b/SOL003/VNFFaultManagement-API/IndividualAlarm.robot
@@ -16,7 +16,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] v2.4.1
+    ...    Reference: clause 7.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions: none  
@@ -28,7 +28,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] v2.4.1
+    ...    Reference: clause 7.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions:  none 
@@ -41,7 +41,7 @@ PUT Alarm - Method not implemented
     ...    Test title: PUT Alarm - Method not implemented
     ...    Test objective: he objective is to test that PUT method is not allowed to for Fault management individual alarm on VNF 
     ...    Pre-conditions: The related alarm exists
-    ...    Reference: clause 7.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.4.1
+    ...    Reference: clause 7.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions:  none 
@@ -53,7 +53,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] v2.4.1
+    ...    Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions: none
@@ -67,7 +67,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 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] v2.4.1
+    ...    Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions: none
@@ -81,7 +81,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 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] v2.4.1
+    ...    Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions: none
@@ -96,7 +96,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: nona
-    ...    Reference: clause 7.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1
+    ...    Reference: clause 7.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions:  The individual alarm still exists 
diff --git a/SOL003/VNFFaultManagement-API/IndividualSubscription.robot b/SOL003/VNFFaultManagement-API/IndividualSubscription.robot
index cb0a9696..f2838bbb 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] v2.4.1
+    ...    Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability:  none
     ...    Post-Conditions:  subscription is not created
@@ -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] v2.4.1
+    ...   Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.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] v2.4.1
+    ...    Reference: clause 7.4.5.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.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] v2.4.1
+    ...    Reference: clause 7.4.5.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.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] v2.4.1
+    ...    Reference: clause 7.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability:  none
     ...    Post-Conditions:  subscription is not deleted
diff --git a/SOL003/VNFFaultManagement-API/Subscriptions.robot b/SOL003/VNFFaultManagement-API/Subscriptions.robot
index 0ffe46fe..4969549a 100644
--- a/SOL003/VNFFaultManagement-API/Subscriptions.robot
+++ b/SOL003/VNFFaultManagement-API/Subscriptions.robot
@@ -13,7 +13,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] v2.4.1
+    ...    Reference: clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID:   Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions: subscription is created
@@ -29,7 +29,7 @@ Create a new alarm subscription - DUPLICATION
     ...    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] v2.4.1
+    ...    Reference: clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.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
@@ -44,7 +44,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] v2.4.1
+    ...    Reference: clause 7.4.4.3.1 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID:   Config_prod_VNFM
     ...    Applicability: the NFVO decides to not create a duplicate subscription resource 
     ...    Post-Conditions: duplicated subscription is not created
@@ -58,7 +58,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] v2.4.1
+    ...    Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID:   Config_prod_VNFM
     ...    Applicability:  none
     ...    Post-Conditions: noe
@@ -71,7 +71,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] v2.4.1
+    ...    Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID:   Config_prod_VNFM
     ...    Applicability:  none
     ...    Post-Conditions: none
@@ -84,7 +84,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] v2.4.1
+    ...    Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID:   Config_prod_VNFM
     ...    Applicability:  none
     ...    Post-Conditions:    none 
@@ -92,12 +92,64 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters
     Check HTTP Response Status Code Is    400
     Check HTTP Response Body Json Schema Is    ProblemDetails
 
+GET subscriptions with "all_fields" attribute selector
+    [Documentation]    Test ID: 7.3.5.3.7
+    ...    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] v2.6.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability:  
+    ...    Post-Conditions: 
+    Get subscriptions with all_fields attribute selector
+    Check HTTP Response Status Code Is    200
+    Check HTTP Response Body Json Schema Is   FmSubscriptions 
+
+GET subscriptions with "exclude_default" attribute selector
+    [Documentation]    Test ID: 7.3.5.3.8
+    ...    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] v2.6.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability:  
+    ...    Post-Conditions: 
+    Get subscriptions with exclude_default attribute selector
+    Check HTTP Response Status Code Is    200
+    Check HTTP Response Body Json Schema Is   FmSubscriptions
+
+GET subscriptions with "fields" attribute selector
+    [Documentation]    Test ID: 7.3.5.3.9
+    ...    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] v2.6.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability:  
+    ...    Post-Conditions: 
+    Get subscriptions with fields attribute selector
+    Check HTTP Response Status Code Is    200
+    Check HTTP Response Body Json Schema Is   FmSubscriptions
+
+GET subscriptions with "exclude_fields" attribute selector
+    [Documentation]    Test ID: 7.3.5.3.10
+    ...    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] v2.6.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability:  
+    ...    Post-Conditions: 
+    Get subscriptions with exclude_fields attribute selector
+    Check HTTP Response Status Code Is    200
+    Check HTTP Response Body Json Schema Is   FmSubscriptions  
+    
 PUT subscriptions - Method not implemented
     [Documentation]    Test ID: 7.3.5.3.11
     ...    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] v2.4.1
+    ...    RReference: clause 7.4.4.3.3 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID:  Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions:  none
@@ -109,7 +161,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] v2.4.1
+    ...    Reference: clause 7.4.4.3.4 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID:  Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions:  none
@@ -121,9 +173,119 @@ 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] v2.4.1
+    ...    Reference: clause 7.4.4.3.5 - ETSI GS NFV-SOL 003 [1] v2.6.1
     ...    Config ID:  Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions: subscription is not deleted
     DELETE Subscriptions
     Check HTTP Response Status Code Is    405
+    
+Retrieve a list of alarm subscriptions as Paged Response
+    [Documentation]    Test ID: 7.3.5.3.14
+    ...    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] v2.6.1
+    ...    Config ID:   Config_prod_VNFM
+    ...    Applicability:  none
+    ...    Post-Conditions: noe
+    GET Subscriptions
+    Check HTTP Response Status Code Is    200
+    Check LINK in Header
+    
+GET subscriptions - Bad Request Response too Big
+    [Documentation]    Test ID: 7.3.5.3.15
+    ...    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] v2.6.1
+    ...    Config ID:   Config_prod_VNFM
+    ...    Applicability:  none
+    ...    Post-Conditions:    none 
+    GET Subscriptions
+    Check HTTP Response Status Code Is    400
+    Check HTTP Response Body Json Schema Is    ProblemDetails
+    
+GET Subscription with attribute-based filter "id"
+    [Documentation]    Test ID: 6.3.4.4.16
+    ...    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 002 [2] v2.6.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability:  
+    ...    Post-Conditions: 
+    Get subscriptions with filter "id"
+    Check HTTP Response Status Code Is    200
+    Check HTTP Response Body Json Schema Is   FmSubscription 
+    Check PostCondition HTTP Response Body Subscription Matches the requested attribute-based filter "id"
+
+Get subscriptions with filter "filter.notificationTypes"
+    [Documentation]    Test ID: 6.3.4.4.17
+    ...    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 002 [2] v2.6.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability:  
+    ...    Post-Conditions: 
+    Get subscriptions with filter "filter_notificationTypes"
+    Check HTTP Response Status Code Is    200
+    Check HTTP Response Body Json Schema Is   FmSubscriptions 
+    Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes"
+    
+Get subscriptions with filter "filter.faultyResourceTypes"
+    [Documentation]    Test ID: 6.3.4.4.18
+    ...    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 002 [2] v2.6.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability:  
+    ...    Post-Conditions: 
+    Get subscriptions with filter "filter_faultyResourceTypes"
+    Check HTTP Response Status Code Is    200
+    Check HTTP Response Body Json Schema Is   FmSubscriptions
+    Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_faultyResourceTypes"
+    
+Get subscriptions with filter "filter.perceivedSeverities"
+    [Documentation]    Test ID: 6.3.4.4.19
+    ...    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 002 [2] v2.6.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability:  
+    ...    Post-Conditions: 
+    Get subscriptions with filter "filter_perceivedSeverities"
+    Check HTTP Response Status Code Is    200
+    Check HTTP Response Body Json Schema Is   FmSubscriptions
+    Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_perceivedSeverities"
+    
+Get subscriptions with filter "filter.eventTypes"
+    [Documentation]    Test ID: 6.3.4.4.20
+    ...    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 002 [2] v2.6.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability:  
+    ...    Post-Conditions: 
+    Get subscriptions with filter "filter_eventTypes"
+    Check HTTP Response Status Code Is    200
+    Check HTTP Response Body Json Schema Is   FmSubscriptions
+    Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_eventTypes"
+    
+Get subscriptions with filter "filter.probableCauses"
+    [Documentation]    Test ID: 6.3.4.4.21
+    ...    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 002 [2] v2.6.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability:  
+    ...    Post-Conditions: 
+    Get subscriptions with filter "filter_probableCauses"
+    Check HTTP Response Status Code Is    200
+    Check HTTP Response Body Json Schema Is   FmSubscriptions
+    Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses"
diff --git a/SOL003/VNFFaultManagement-API/environment/variables.txt b/SOL003/VNFFaultManagement-API/environment/variables.txt
index 28a9c673..e28a2d09 100644
--- a/SOL003/VNFFaultManagement-API/environment/variables.txt
+++ b/SOL003/VNFFaultManagement-API/environment/variables.txt
@@ -30,6 +30,12 @@ ${apiVersion}     v1
 
 
 ${subscriptionId}    6fc3539c-e602-4afa-8e13-962fb5a7d81f
+${notification_type}    AlarmNotification
+${faultyResourceType}    COMPUTE
+${eventType}            COMMUNICATIONS_ALARM
+${perceivedSeverity}    CRITICAL
+${probableCause}    ""
+
 
 ${AlarmNotification}    {}
 ${AlarmClearedNotification}    {}
-- 
GitLab