From 313a00fdc644c7b620dc6bb8b03d64759ff666c3 Mon Sep 17 00:00:00 2001
From: hammad zafar <hammad.zafar@xflowresearch.com>
Date: Wed, 10 Mar 2021 14:16:50 +0500
Subject: [PATCH] bug fixes in query based parameter keywords

---
 .../Subscriptions.robot                       | 108 ++++++++--------
 .../VNFInstances.robot                        |  15 ++-
 .../VNFSnapshots.robot                        |  15 ++-
 .../VnfLcmMntOperationKeywords.robot          | 116 +++++++++++-------
 .../environment/variables.txt                 |  16 ++-
 5 files changed, 166 insertions(+), 104 deletions(-)

diff --git a/SOL003/VNFLifecycleManagement-API/Subscriptions.robot b/SOL003/VNFLifecycleManagement-API/Subscriptions.robot
index fd135b8c..ee092ffd 100644
--- a/SOL003/VNFLifecycleManagement-API/Subscriptions.robot
+++ b/SOL003/VNFLifecycleManagement-API/Subscriptions.robot
@@ -89,60 +89,60 @@ 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.1.17.7
-    ...    Test title: GET subscriptions with all_fields attribute selector
-    ...    Test objective: The objective is Get the list of active subscriptions
-    ...    Pre-conditions: none
-    ...    Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1
-    ...    Config ID: Config_prod_VNFM
-    ...    Applicability: none
-    ...    Post-Conditions: none 
-    Get subscriptions with all_fields attribute selector
-    Check HTTP Response Status Code Is    200
-    Check HTTP Response Body Json Schema Is    Subscriptions
+#GET subscriptions with all_fields attribute selector
+#     [Documentation]    Test ID: 7.3.1.17.7
+#    ...    Test title: GET subscriptions with all_fields attribute selector
+#    ...    Test objective: The objective is Get the list of active subscriptions
+#    ...    Pre-conditions: none
+#    ...    Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1
+#    ...    Config ID: Config_prod_VNFM
+#    ...    Applicability: none
+#    ...    Post-Conditions: none 
+#    Get subscriptions with all_fields attribute selector
+#    Check HTTP Response Status Code Is    200
+#    Check HTTP Response Body Json Schema Is    Subscriptions
 
-GET subscriptions with exclude_default attribute selector
-     [Documentation]    Test ID: 7.3.1.17.8
-    ...    Test title: GET subscriptions with exclude_default attribute selector
-    ...    Test objective: The objective is Get the list of active subscriptions
-    ...    Pre-conditions: none
-    ...    Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1
-    ...    Config ID: Config_prod_VNFM
-    ...    Applicability: none
-    ...    Post-Conditions: none 
-    Get subscriptions with exclude_default attribute selector
-    Check HTTP Response Status Code Is    200
-    Check HTTP Response Body Json Schema Is    Subscriptions
+#GET subscriptions with exclude_default attribute selector
+#    [Documentation]    Test ID: 7.3.1.17.8
+#    ...    Test title: GET subscriptions with exclude_default attribute selector
+#   ...    Test objective: The objective is Get the list of active subscriptions
+#    ...    Pre-conditions: none
+#    ...    Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1
+#    ...    Config ID: Config_prod_VNFM
+#    ...    Applicability: none
+#    ...    Post-Conditions: none 
+#    Get subscriptions with exclude_default attribute selector
+#    Check HTTP Response Status Code Is    200
+#    Check HTTP Response Body Json Schema Is    Subscriptions
 
-GET subscriptions with fields attribute selector
-     [Documentation]    Test ID: 7.3.1.17.9
-    ...    Test title: GET subscriptions with fields attribute selector
-    ...    Test objective: The objective is Get the list of active subscriptions
-    ...    Pre-conditions: none
-    ...    Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1
-    ...    Config ID: Config_prod_VNFM
-    ...    Applicability: none
-    ...    Post-Conditions: none 
-    Get subscriptions with fields attribute selector
-    Check HTTP Response Status Code Is    200
-    Check HTTP Response Body Json Schema Is    Subscriptions
+#GET subscriptions with fields attribute selector
+#     [Documentation]    Test ID: 7.3.1.17.9
+#    ...    Test title: GET subscriptions with fields attribute selector
+#    ...    Test objective: The objective is Get the list of active subscriptions
+#    ...    Pre-conditions: none
+#    ...    Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1
+#    ...    Config ID: Config_prod_VNFM
+#    ...    Applicability: none
+#    ...    Post-Conditions: none 
+#    Get subscriptions with fields attribute selector
+#    Check HTTP Response Status Code Is    200
+#    Check HTTP Response Body Json Schema Is    Subscriptions
 
-GET subscriptions with exclude_fields attribute selector
-     [Documentation]    Test ID: 7.3.1.17.10
-    ...    Test title: GET subscriptions with exclude_fields attribute selector
-    ...    Test objective: The objective is Get the list of active subscriptions
-    ...    Pre-conditions: none
-    ...    Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1
-    ...    Config ID: Config_prod_VNFM
-    ...    Applicability: none
-    ...    Post-Conditions: none 
-    Get subscriptions with exclude_fields attribute selector
-    Check HTTP Response Status Code Is    200
-    Check HTTP Response Body Json Schema Is    Subscriptions
+#GET subscriptions with exclude_fields attribute selector
+#     [Documentation]    Test ID: 7.3.1.17.10
+#    ...    Test title: GET subscriptions with exclude_fields attribute selector
+#    ...    Test objective: The objective is Get the list of active subscriptions
+#    ...    Pre-conditions: none
+#    ...    Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1
+#    ...    Config ID: Config_prod_VNFM
+#    ...    Applicability: none
+#    ...    Post-Conditions: none 
+#    Get subscriptions with exclude_fields attribute selector
+#    Check HTTP Response Status Code Is    200
+#    Check HTTP Response Body Json Schema Is    Subscriptions
 
 PUT subscriptions - Method not implemented
-    [Documentation]    Test ID: 7.3.1.17.11
+    [Documentation]    Test ID: 7.3.1.17.7
     ...    Test title: PUT subscriptions - Method not implemented
     ...    Test objective: The objective is to test that PUT method is not implemented
     ...    Pre-conditions: none
@@ -154,7 +154,7 @@ PUT subscriptions - Method not implemented
 	Check HTTP Response Status Code Is    405
 
 PATCH subscriptions - Method not implemented
-    [Documentation]    Test ID: 7.3.1.17.12
+    [Documentation]    Test ID: 7.3.1.17.8
     ...    Test title: PATCH subscriptions - Method not implemented
     ...    Test objective: The objective is to test that PATCH method is not implemented
     ...    Pre-conditions: none
@@ -166,7 +166,7 @@ PATCH subscriptions - Method not implemented
 	Check HTTP Response Status Code Is    405
 
 DELETE subscriptions - Method not implemented
-    [Documentation]    Test ID: 7.3.1.17.13
+    [Documentation]    Test ID: 7.3.1.17.9
     ...    Test title: DELETE subscriptions - Method not implemented
     ...    Test objective: The objective is to test that DELETE method is not implemented
     ...    Pre-conditions: none
@@ -178,7 +178,7 @@ DELETE subscriptions - Method not implemented
 	Check HTTP Response Status Code Is    405
     
 GET Subscriptions as a Paged Response
-     [Documentation]    Test ID: 7.3.1.17.14
+     [Documentation]    Test ID: 7.3.1.17.10
     ...    Test title: GET Subscriptions as a Paged Response
     ...    Test objective: The objective is Get the list of active subscriptions as a Paged Response.
     ...    Pre-conditions: none
@@ -191,7 +191,7 @@ GET Subscriptions as a Paged Response
     Check HTTP Response Header Contain Link
     
 GET subscriptions - Bad Request Response too Big
-    [Documentation]    Test ID: 7.3.1.17.15
+    [Documentation]    Test ID: 7.3.1.17.11
     ...    Test title: GET subscriptions - Bad Request Response too Big
     ...    Test objective: The objective is to test that the retrieval of the list of active subscriptions fails because response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response.
     ...    Pre-conditions: none
@@ -204,7 +204,7 @@ GET subscriptions - Bad Request Response too Big
     Check HTTP Response Body Json Schema Is    ProblemDetails
     
 POST Create a new Subscription - Unprocessable Entity
-    [Documentation]    Test ID: 7.3.1.17.16
+    [Documentation]    Test ID: 7.3.1.17.12
     ...    Test title: POST Create a new Subscription - Unprocessable Entity
     ...    Test objective: The objective is to test that content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed.
     ...    re-conditions: none
diff --git a/SOL003/VNFLifecycleManagement-API/VNFInstances.robot b/SOL003/VNFLifecycleManagement-API/VNFInstances.robot
index c6af813d..a4f55333 100644
--- a/SOL003/VNFLifecycleManagement-API/VNFInstances.robot
+++ b/SOL003/VNFLifecycleManagement-API/VNFInstances.robot
@@ -199,4 +199,17 @@ POST Create a new vnfInstance - Unprocessible Entity
     ...    Post-Conditions: none
     POST Create a new vnfInstance - Not ENABLED
     Check HTTP Response Status Code Is    422
-    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 multiple VNF instances using Filter
+    [Documentation]    Test ID: 7.3.1.1.16
+    ...    Test title: GET information about multiple VNF instances using Filter
+    ...    Test objective: The objective is to query information about multiple VNF instances using filter
+    ...    Pre-conditions:  none
+    ...    Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability: none
+    ...    Post-Conditions: none
+    GET multiple vnfInstances using filter
+    Check HTTP Response Status Code Is    200
+    Check HTTP Response Body Json Schema Is    vnfInstances
\ No newline at end of file
diff --git a/SOL003/VNFLifecycleManagement-API/VNFSnapshots.robot b/SOL003/VNFLifecycleManagement-API/VNFSnapshots.robot
index 4040ddbd..b18ff99f 100644
--- a/SOL003/VNFLifecycleManagement-API/VNFSnapshots.robot
+++ b/SOL003/VNFLifecycleManagement-API/VNFSnapshots.robot
@@ -180,4 +180,17 @@ DELETE VNF Snapshots - Method not implemented
     ...    Applicability: none
     ...    Post-Conditions: VNF instance not deleted
     DELETE VNF Snapshots
-    Check HTTP Response Status Code Is    405
\ No newline at end of file
+    Check HTTP Response Status Code Is    405
+    
+GET information about multiple VNF Snapshots using Filter
+    [Documentation]    Test ID: 7.3.1.40.15
+    ...    Test title: GET information about multiple VNF Snapshots using Filter
+    ...    Test objective: The objective is to get information about multiples VNF snapshots using filter
+    ...    Pre-conditions: none
+    ...    Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 003 [1] v3.3.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability: none
+    ...    Post-Conditions: none
+    GET multiple VNF Snapshots using filter
+    Check HTTP Response Status Code Is    200
+    Check HTTP Response Body Json Schema Is    VnfSnapshotsInfo
\ No newline at end of file
diff --git a/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot b/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot
index 4a21d917..493888e0 100644
--- a/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot
+++ b/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot
@@ -455,7 +455,17 @@ GET multiple vnfInstances with bad filter
     Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
     Log    Execute Query and validate response
-    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?attribute_not_exist=some_value  
+    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?${NEG_FILTER_snapshot}  
+    ${outputResponse}=    Output    response
+	Set Global Variable    ${response}    ${outputResponse} 	
+	
+GET multiple vnfInstances using filter	
+    Log    Query VNF The GET method queries information about multiple VNF instances using filter
+    Set Headers  {"Accept":"${ACCEPT}"}  
+    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
+    Log    Execute Query and validate response
+    Get    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?${POS_FILTER_snapshot}  
     ${outputResponse}=    Output    response
 	Set Global Variable    ${response}    ${outputResponse} 	
 
@@ -463,7 +473,7 @@ GET multiple vnfInstances with all_fields attribute selector
     Log    Query status information about multiple VNF instances, using fields
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?exclude_default
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?all_fields
     ${output}=    Output    response
     Set Suite Variable    ${response}    ${output}
 GET multiple vnfInstances with exclude_default attribute selector
@@ -477,21 +487,21 @@ GET multiple vnfInstances with fields attribute selector
     Log    Query status information about multiple VNF instances, using fields
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?fields=${fields}
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?fields=${fields_vnfInstance}
     ${output}=    Output    response
     Set Suite Variable    ${response}    ${output}	
 GET multiple vnfInstances with exclude_default and fields attribute selector
     Log    Query status information about multiple VNF instances, using fields
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?fields=${fields}&exclude_default
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?fields=${fields_vnfInstance}&exclude_default
     ${output}=    Output    response
     Set Suite Variable    ${response}    ${output}	
 GET multiple vnfInstances with exclude_fields attribute selector
     Log    Query status information about multiple VNF instances, using fields
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?exclude_fields=${fields}
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?exclude_fields=${fields_vnfInstance}
     ${output}=    Output    response
     Set Suite Variable    ${response}    ${output} 	
          		     	
@@ -942,21 +952,28 @@ GET VNF LCM Operation occurrences invalid filter
     Log    Query status information about multiple VNF lifecycle management operation occurrences.
     Set Headers  {"Accept":"${ACCEPT}"}  
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} 
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?fields=wrong_field	
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?${NEG_FILTER_vnfLcmOpOcc}
+    ${outputResponse}=    Output    response
+	Set Global Variable    ${response}    ${outputResponse}
+GET VNF LCM Operation occurrences using filter
+    Log    Query status information about multiple VNF lifecycle management operation occurrences.
+    Set Headers  {"Accept":"${ACCEPT}"}  
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} 
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?${POS_FILTER_vnfLcmOpOcc}
     ${outputResponse}=    Output    response
 	Set Global Variable    ${response}    ${outputResponse}	
 Get VNF LCM Operation occurrences with all_fields attribute selector
     Log    Query status information about multiple VNF lifecycle management operation occurrences, using fields
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?exclude_default
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?all_fields
     ${output}=    Output    response
     Set Suite Variable    ${response}    ${output}
 Get VNF LCM Operation occurrences with exclude_default and fields attribute selector
     Log    Query status information about multiple VNF lifecycle management operation occurrences, using fields
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?fields=${fields}&exclude_default
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?fields=${fields_vnfLcmOpOcc}&exclude_default
     ${output}=    Output    response
     Set Suite Variable    ${response}    ${output}
 Get VNF LCM Operation occurrences with exclude_default attribute selector
@@ -970,14 +987,14 @@ Get VNF LCM Operation occurrences with fields attribute selector
     Log    Query status information about multiple VNF lifecycle management operation occurrences, using fields
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?fields=${fields}
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?fields=${fields_vnfLcmOpOcc}
     ${output}=    Output    response
     Set Suite Variable    ${response}    ${output}	
 Get VNF LCM Operation occurrences with exclude_fields attribute selector
     Log    Query status information about multiple VNF lifecycle management operation occurrences, using fields
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?exclude_fields=${fields}
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?exclude_fields=${fields_vnfLcmOpOcc}
     ${output}=    Output    response
     Set Suite Variable    ${response}    ${output} 	
 PUT VNF LCM Operation occurrences	
@@ -1263,44 +1280,44 @@ Get subscriptions - filter
     Set Headers    {"Accept": "${ACCEPT}"}
     Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${sub_filter}	
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${POS_filter_subscription}	
     ${outputResponse}=    Output    response
 	Set Global Variable    ${response}    ${outputResponse}		
 Get subscriptions - 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_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${sub_filter_invalid}   
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${NEG_filter_subscription}   
     ${outputResponse}=    Output    response
 	Set Global Variable    ${response}    ${outputResponse}	
-Get subscriptions with all_fields attribute selector
-    Log    Get the list of active subscriptions, using fields
-    Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?exclude_default
-    ${output}=    Output    response
-    Set Suite Variable    ${response}    ${output}
-Get subscriptions with exclude_default attribute selector
-    Log    Get the list of active subscriptions, using fields
-    Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?exclude_default
-    ${output}=    Output    response
-    Set Suite Variable    ${response}    ${output}
-Get subscriptions with fields attribute selector
-    Log    Get the list of active subscriptions, using fields
-    Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?fields=${fields}
-    ${output}=    Output    response
-    Set Suite Variable    ${response}    ${output}	
-Get subscriptions with exclude_fields attribute selector
-    Log    Get the list of active subscriptions, using fields
-    Set Headers    {"Accept": "${ACCEPT_JSON}"}
-    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?exclude_fields=${fields}
-    ${output}=    Output    response
-    Set Suite Variable    ${response}    ${output}     		
+#Get subscriptions with all_fields attribute selector
+#    Log    Get the list of active subscriptions, using fields
+#    Set Headers    {"Accept": "${ACCEPT_JSON}"}
+#    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
+#    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?all_fields
+#    ${output}=    Output    response
+#    Set Suite Variable    ${response}    ${output}
+#Get subscriptions with exclude_default attribute selector
+#    Log    Get the list of active subscriptions, using fields
+#    Set Headers    {"Accept": "${ACCEPT_JSON}"}
+#    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
+#    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?exclude_default
+#    ${output}=    Output    response
+#    Set Suite Variable    ${response}    ${output}
+#Get subscriptions with fields attribute selector
+#    Log    Get the list of active subscriptions, using fields
+#    Set Headers    {"Accept": "${ACCEPT_JSON}"}
+#    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
+#    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?fields=${fields_subscription}
+#    ${output}=    Output    response
+#    Set Suite Variable    ${response}    ${output}	
+#Get subscriptions with exclude_fields attribute selector
+#    Log    Get the list of active subscriptions, using fields
+#    Set Headers    {"Accept": "${ACCEPT_JSON}"}
+#    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
+#    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?exclude_fields=${fields_subscription}
+#    ${output}=    Output    response
+#    Set Suite Variable    ${response}    ${output}     		
 PUT subscriptions
     log    Trying to perform a PUT. This method should not be implemented
     Set Headers  {"Accept":"${ACCEPT}"}  
@@ -1803,7 +1820,16 @@ GET multiple VNF Snapshots with bad filter
     Set Headers  {"Accept":"${ACCEPT}"}  
     Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} 
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots?fields=wrong_field
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots?${NEG_FILTER_snapshot}
+    ${outputResponse}=    Output    response
+	Set Global Variable    ${response}    ${outputResponse} 	
+	
+GET multiple VNF Snapshots using filter	
+    Log    Query VNF The GET method queries information about multiple VNF snapshots.
+    Set Headers  {"Accept":"${ACCEPT}"}  
+    Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
+    Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} 
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots?${POS_FILTER_snapshot}
     ${outputResponse}=    Output    response
 	Set Global Variable    ${response}    ${outputResponse} 	
 	
@@ -1811,7 +1837,7 @@ GET multiple VNF Snapshots with all_fields attribute selector
     Log    Query status information about multiple VNF snapshots, using fields
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots?exclude_default
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots?all_fields
     ${output}=    Output    response
     Set Suite Variable    ${response}    ${output}
     
@@ -1827,7 +1853,7 @@ GET multiple VNF Snapshots with fields attribute selector
     Log    Query status information about multiple VNF snapshots, using fields
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots?fields=${fields}
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots?fields=${fields_snapshot}
     ${output}=    Output    response
     Set Suite Variable    ${response}    ${output}	    
     
@@ -1835,7 +1861,7 @@ GET multiple VNF Snapshots with exclude_default and fields attribute selector
     Log    Query status information about multiple VNF snapshots, using fields
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots?fields=${fields}&exclude_default
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots?fields=${fields_snapshot}&exclude_default
     ${output}=    Output    response
     Set Suite Variable    ${response}    ${output}
     
@@ -1843,7 +1869,7 @@ GET multiple VNF Snapshots with exclude_fields attribute selector
     Log    Query status information about multiple VNF snapshots, using fields
     Set Headers    {"Accept": "${ACCEPT_JSON}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
-    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots?exclude_fields=${fields}
+    GET    ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots?exclude_fields=${fields_snapshot}
     ${output}=    Output    response
     Set Suite Variable    ${response}    ${output} 	
 
diff --git a/SOL003/VNFLifecycleManagement-API/environment/variables.txt b/SOL003/VNFLifecycleManagement-API/environment/variables.txt
index 07c4dbe0..bc47d9d4 100644
--- a/SOL003/VNFLifecycleManagement-API/environment/variables.txt
+++ b/SOL003/VNFLifecycleManagement-API/environment/variables.txt
@@ -64,10 +64,20 @@ ${response}    {}
 ${json}    {}
 ${requestedFlavour}    test
 
-${sub_filter}    filter
-${sub_filter_invalid}    filter_invalid
+${POS_filter_subscription}    id=41fdd38a-3d4c-465c-83e0-f80e014425f8
+${NEG_filter_subscription}    nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8
 
-${fields}         criteria,objectInstanceIds
+${fields_vnfLcmOpOcc}         operationParams,grantId
+${POS_FILTER_vnfLcmOpOcc}     id=41fdd38a-3d4c-465c-83e0-f80e014425f8   # Positive case, suing compiant fields name for filtering get request
+${NEG_FILTER_vnfLcmOpOcc}     nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8    # Negative case, using wrong name of field
+
+${fields_vnfInstance}         vnfInstanceDescription,vimConnectionInfo
+${POS_FILTER_vnfInstance}     id=41fdd38a-3d4c-465c-83e0-f80e014425f8   # Positive case, suing compiant fields name for filtering get request
+${NEG_FILTER_vnfInstance}     nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8    # Negative case, using wrong name of field
+
+${POS_FILTER_snapshot}     id=41fdd38a-3d4c-465c-83e0-f80e014425f8   # Positive case, suing compiant fields name for filtering get request
+${NEG_FILTER_snapshot}     nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8    # Negative case, using wrong name of field
+${fields_snapshot}    vnfStateSnapshotInfo    
 
 ${PAGING_SUPPORTED}    1
 
-- 
GitLab