From e823155ac2b43adf379b7a5826414e5f01f6392a Mon Sep 17 00:00:00 2001
From: Abbas Ahmad <abbas.ahmad@eglobalmark.com>
Date: Thu, 23 May 2019 11:11:50 +0200
Subject: [PATCH] Corrections after TST10 meeting Remarks + Takaaki remarks
 comments on NFVTST(19)000109

---
 .../Subscriptions.robot                       | 76 +++++++++----------
 .../VRQANOperationKeywords.robot              | 32 ++++----
 2 files changed, 57 insertions(+), 51 deletions(-)

diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/Subscriptions.robot b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/Subscriptions.robot
index fedd477b..35c269ef 100644
--- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/Subscriptions.robot
+++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/Subscriptions.robot
@@ -9,124 +9,124 @@ Library    JSONSchemaLibrary    schemas/
 
 
 *** Test Cases ***
-Create a new subscription
+Create new Virtualised Resources Quota Available Notification subscription
     [Documentation]    Test ID: 7.3.7.1.1
-    ...    Test title: Create a new subscription related to the availability of the virtualised resources quotas
+    ...    Test title: Create new Virtualised Resources Quota Available Notification subscription
     ...    Test objective: The objective is to create a new subscription.
     ...    Pre-conditions: no subscription with the same filter and callbackUri exists
     ...    Reference: section 11.4.2.3.1 - SOL003 v2.4.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions: none
-    Do Post subscription
+    Send Post request for new Virtualised Resources Quota Available Notification subscription
     Check HTTP Response Status Code Is    201
     Check HTTP Response Header Contains    Location
-    Check HTTP Response Header ContentType is    ${CONTENT_TYPE}
-    Check HTTP Response Body Json Schema Is    VrQuotaAvailSubscription.schema.json
+    Check HTTP Response Header ContentType is    application/json
+    Check HTTP Response Body Json Schema Is    VrQuotaAvailSubscription
     
 
-Create a new Subscription - DUPLICATION
+Create new Virtualised Resources Quota Available Notification subscription - DUPLICATION
     [Documentation]    Test ID: 7.3.7.1.2
-    ...    Test title: Create a new resource quota subscription - DUPLICATION
+    ...    Test title: Create new Virtualised Resources Quota Available Notification subscription - DUPLICATION
     ...    Test objective: The objective is to create a new subscription.
     ...    Pre-conditions: subscription with the same filter and callbackUri exists
     ...    Reference: section 11.4.2.3.1 - 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: none
-    Do Post subscription - DUPLICATION
+    Send Post request for new Virtualised Resources Quota Available Notification subscription - DUPLICATION
     Check HTTP Response Status Code Is    201
     Check HTTP Response Header Contains    Location
-    Check HTTP Response Header ContentType is    ${CONTENT_TYPE}
-    Check HTTP Response Body Json Schema Is    VrQuotaAvailSubscription.schema.json
+    Check HTTP Response Header ContentType is    application/json
+    Check HTTP Response Body Json Schema Is    VrQuotaAvailSubscription
     
-Create a new Subscription - NO-DUPLICATION
+Create new Virtualised Resources Quota Available Notification subscription - NO-DUPLICATION
     [Documentation]    Test ID: 7.3.7.1.3
-    ...    Test title: Create a new resource quota subscription - NO DUPLICATION
+    ...    Test title: Create new Virtualised Resources Quota Available Notification subscription - NO-DUPLICATION
     ...    Test objective: The objective is to create a new subscription.
     ...    Pre-conditions: subscription with the same filter and callbackUri exists
     ...    Reference: section 11.4.2.3.1 - SOL003 v2.4.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: the VNFM decides to not create a duplicate subscription resource 
     ...    Post-Conditions: none
-    Do Post subscription - NO-DUPLICATION
+    Send Post request for new Virtualised Resources Quota Available Notification subscription - NO-DUPLICATION
     Check HTTP Response Status Code Is    303
     Check HTTP Response Header Contains    Location
 
-GET Subscriptions
+GET Virtualised Resources Quota Available Notification Subscriptions
     [Documentation]    Test ID: 7.3.7.1.4
-    ...    Test title: Retrieve a list of resource quota subscriptions
+    ...    Test title: GET Virtualised Resources Quota Available Notification Subscriptions 
     ...    Test objective: The objective is to retrieve the list of active subscriptions
     ...    Pre-conditions: none
     ...    Reference: section 11.4.2.3.2 - SOL003 v2.4.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability:  none
     ...    Post-Conditions: none
-    Do Get Subscriptions
+    GET Virtualised Resources Quota Available Notification Subscriptions
     Check HTTP Response Status Code Is    200
-    Check HTTP Response Body Json Schema Is   subscriptions.schema.json
+    Check HTTP Response Body Json Schema Is   subscriptions
 
-GET Subscription - Filter
+GET Virtualised Resources Quota Available Notification Subscriptions with attribute-based Filter
     [Documentation]    Test ID: 7.3.7.1.5
-    ...    Test title: Retrieve a list of resource quota subscriptions
+    ...    Test title: GET Virtualised Resources Quota Available Notification Subscriptions with attribute-based Filter
     ...    Test objective: The objective is to retrieve the list of active subscriptions with filter
     ...    Pre-conditions: none
     ...    Reference: section 11.4.2.3.2 - SOL003 v2.4.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability:  none
     ...    Post-Conditions: none
-    Do Get Subscriptions - Filter
+    GET Virtualised Resources Quota Available Notification Subscriptions with Filter
     Check HTTP Response Status Code Is    200
-    Check HTTP Response Body Json Schema Is    VrQuotaAvailSubscriptions.schema.json
+    Check HTTP Response Body Json Schema Is    VrQuotaAvailSubscriptions
     
-GET subscriptions - Bad Request Invalid attribute-based filtering parameters
+GET Virtualised Resources Quota Available Notification subscriptions - Bad Request Invalid attribute-based filtering parameters
     [Documentation]    Test ID: 7.3.7.1.6
-    ...    Test title: Retrieve a list of resource quota subscriptions
+    ...    Test title: GET Virtualised Resources Quota Available Notification 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
     ...    Pre-conditions: none
     ...    Reference: section 11.4.2 - SOL003 v2.4.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: none 
     ...    Post-Conditions: none
-    DO Get subscriptions - Bad Request Invalid attribute-based filtering parameters 
+    Get Virtualised Resources Quota Available Notification subscriptions with Bad Request Invalid attribute-based filtering parameters 
     Check HTTP Response Status Code Is    400
-    Check HTTP Response Header ContentType is  ${CONTENT_TYPE}
-    Check HTTP Response Body Json Schema Is    ProblemDetails.schema.json
+    Check HTTP Response Header ContentType is  application/json
+    Check HTTP Response Body Json Schema Is    ProblemDetails
     
-PUT subscriptions - Method not implemented
+PUT Virtualised Resources Quota Available Notification subscriptions - Method not implemented
     [Documentation]    Test ID: 7.3.7.1.7
-    ...    Test title: Put  Subscriptions - Method not implemented
-    ...    Test objective: The objective is to test that PUT method is not allowed to update  existing subscriptions instance on NFV 
+    ...    Test title: PUT Virtualised Resources Quota Available Notification subscriptions - Method not implemented
+    ...    Test objective: The objective is to test that PUT method is not allowed to update  existing subscriptions instance on VNF 
     ...    Pre-conditions: A NFV instance is instantiated
     ...    Reference:  section 11.4.3.3.4 - SOL003 v2.4.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions: none
-    Do Put subscription   
+    Send Put request for Virtualised Resources Quota Available Notification subscription   
     Check HTTP Response Status Code Is    405
 
-PATCH subscriptions - Method not implemented
+PATCH Virtualised Resources Quota Available Notification subscriptions - Method not implemented
     [Documentation]    Test ID: 7.3.7.1.8
-    ...    Test title: Patch Subscriptions - Method not implemented
-    ...    Test objective: The objective is to test that PATCH method is not allowed to modify subscriptions instance on NFV 
+    ...    Test title: PATCH Virtualised Resources Quota Available Notification subscriptions - Method not implemented
+    ...    Test objective: The objective is to test that PATCH method is not allowed to modify subscriptions instance on VNF 
     ...    Pre-conditions: A NFV instance is instantiated
     ...    Reference:  section 11.4.3.3.4 - SOL003 v2.4.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions: none
-    Do Patch subscription   
+    Send Patch request for Virtualised Resources Quota Available Notification subscription   
     Check HTTP Response Status Code Is    405
 
-DELETE subscriptions - Method not implemented
+DELETE Virtualised Resources Quota Available Notification subscriptions - Method not implemented
     [Documentation]    Test ID: 7.3.7.1.9
-    ...    Test title: Patch Individual Subscription - Method not implemented
-    ...    Test objective: The objective is to test that PATCH method is not allowed to delete  subscriptions instance on NFV 
+    ...    Test title: DELETE Virtualised Resources Quota Available Notification subscriptions - Method not implemented
+    ...    Test objective: The objective is to test that PATCH method is not allowed to delete  subscriptions instance on VNF 
     ...    Pre-conditions: A NFV instance is instantiated
     ...    Reference:  section 11.4.3.3.5 - SOL003 v2.4.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions: none
-    Do Delete subscription   
+    Send Delete request for Virtualised Resources Quota Available Notification subscription   
     Check HTTP Response Status Code Is    405
 
     
\ No newline at end of file
diff --git a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/VRQANOperationKeywords.robot b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/VRQANOperationKeywords.robot
index 164b7afc..d5211801 100644
--- a/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/VRQANOperationKeywords.robot
+++ b/SOL003/VirtualisedResourcesQuotaAvailableNotification-API/VRQANOperationKeywords.robot
@@ -5,10 +5,15 @@ Library    JSONLibrary
 Library    JSONSchemaLibrary    schemas/
 Library    OperatingSystem
 #Suite Teardown    Terminate All Processes    kill=true
-
+Library    MockServerLibrary
 Library    Process
 
 *** Keywords ***
+Create Sessions
+    Start Process  java  -jar  ${MOCK_SERVER_JAR}  -serverPort  ${callback_port}  alias=mockInstance
+    Wait For Process  handle=mockInstance  timeout=5s  on_timeout=continue
+    Create Mock Session  ${callback_uri}:${callback_port} 
+    
 Check Individual Subscription existance
     Set Headers    {"Accept":"${ACCEPT}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
@@ -27,7 +32,8 @@ Check HTTP Response Header Contains
     Log    Header is present    
     
 Check HTTP Response Body Json Schema Is
-    [Arguments]    ${schema}
+    [Arguments]    ${input}
+    ${schema} =    Catenate    ${input}    .schema.json
     Validate Json    ${schema}    ${response[0]['body']}
     Log    Json Schema Validation OK
     
@@ -77,7 +83,7 @@ Do Delete an individual subscription
     ${outputResponse}=    Output    response 
     Set Global Variable    @{response}    ${outputResponse}
     
-Do Post subscription
+ Send Post request for new Virtualised Resources Quota Available Notification subscription 
     Log    Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions
     Set Headers  {"Accept":"${ACCEPT}"}  
     Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
@@ -87,7 +93,7 @@ Do Post subscription
     ${outputResponse}=    Output    response 
     Set Global Variable    @{response}    ${outputResponse}
     
-Do Post subscription - DUPLICATION
+ Send Post request for new Virtualised Resources Quota Available Notification subscription - DUPLICATION
     Log    Trying to create a subscription with an already created content
     Pass Execution If    ${NFVO_DUPLICATION} == 0    NVFO is not permitting duplication. Skipping the test
     Set Headers    {"Accept": "${ACCEPT}"}
@@ -98,7 +104,7 @@ Do Post subscription - DUPLICATION
     ${outputResponse}=    Output    response 
     Set Global Variable    @{response}    ${outputResponse}
     
-Do Post subscription - NO-DUPLICATION
+Send Post request for new Virtualised Resources Quota Available Notification subscription - NO-DUPLICATION
     Log    Trying to create a subscription with an already created content
     Pass Execution If    ${NFVO_DUPLICATION} == 1    VNFM permits duplication. Skipping the test
     Set Headers    {"Accept": "${ACCEPT}"}
@@ -109,7 +115,7 @@ Do Post subscription - NO-DUPLICATION
     ${outputResponse}=    Output    response 
     Set Global Variable    @{response}    ${outputResponse}
     
-Do Get Subscriptions
+GET Virtualised Resources Quota Available Notification Subscriptions
     Log    Get the list of active subscriptions
     Set Headers  {"Accept":"${ACCEPT}"} 
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
@@ -118,7 +124,7 @@ Do Get Subscriptions
     ${outputResponse}=    Output    response 
     Set Global Variable    @{response}    ${outputResponse}
      
-Do Get Subscriptions - Filter
+GET Virtualised Resources Quota Available Notification Subscriptions with Filter
     Log    Get the list of active subscriptions
     Set Headers  {"Accept":"${ACCEPT}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
@@ -127,7 +133,7 @@ Do Get Subscriptions - Filter
     ${outputResponse}=    Output    response 
     Set Global Variable    @{response}    ${outputResponse}
     
-DO Get subscriptions - Bad Request Invalid attribute-based filtering parameters    
+Get Virtualised Resources Quota Available Notification subscriptions with Bad Request Invalid attribute-based filtering parameters    
      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}"}
@@ -135,7 +141,7 @@ DO Get subscriptions - Bad Request Invalid attribute-based filtering parameters
     ${outputResponse}=    Output    response 
     Set Global Variable    @{response}    ${outputResponse}
     
-Do Put subscription
+Send Put request for Virtualised Resources Quota Available Notification subscription 
     log    Trying to perform a PUT. This method should not be implemented
     Set Headers  {"Accept":"${ACCEPT}"}  
     Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
@@ -144,8 +150,8 @@ Do Put subscription
     ${outputResponse}=    Output    response 
     Set Global Variable    @{response}    ${outputResponse} 
     
-Do Patch subscription
-    log    Trying to perform a PUT. This method should not be implemented
+Send Patch request for Virtualised Resources Quota Available Notification subscription
+    log    Trying to perform a Patch. This method should not be implemented
     Set Headers  {"Accept":"${ACCEPT}"}  
     Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
@@ -153,8 +159,8 @@ Do Patch subscription
     ${outputResponse}=    Output    response 
     Set Global Variable    @{response}    ${outputResponse}  
     
-Do Delete subscription
-    log    Trying to perform a PUT. This method should not be implemented
+Send Delete request for Virtualised Resources Quota Available Notification subscription
+    log    Trying to perform a Delete. This method should not be implemented
     Set Headers  {"Accept":"${ACCEPT}"}  
     Set Headers  {"Content-Type": "${CONTENT_TYPE}"}
     Run Keyword If    ${AUTH_USAGE} == 1    Set Headers    {"Authorization":"${AUTHORIZATION}"}
-- 
GitLab