From 34a83b2890bc4647fcf88b5e808f684f0e9f3316 Mon Sep 17 00:00:00 2001
From: uihassan <najam.hassan@xflowresearch.com>
Date: Thu, 1 Oct 2020 15:37:34 +0500
Subject: [PATCH] templating, minor fix and new testcases added

---
 SOL002/VNFFaultManagement-API/Alarms.robot    |  25 ++--
 .../EscalatePerceivedSeverityTask.robot       |  29 +++--
 .../IndividualAlarm.robot                     |  35 +++---
 .../IndividualSubscription.robot              |  40 +++---
 .../Subscriptions.robot                       | 117 +++++++++---------
 .../jsons/fmSubscriptionRequest.json          |  14 +--
 6 files changed, 137 insertions(+), 123 deletions(-)

diff --git a/SOL002/VNFFaultManagement-API/Alarms.robot b/SOL002/VNFFaultManagement-API/Alarms.robot
index c2509417..6bc714a2 100644
--- a/SOL002/VNFFaultManagement-API/Alarms.robot
+++ b/SOL002/VNFFaultManagement-API/Alarms.robot
@@ -38,7 +38,7 @@ GET information about multiple alarms with attribute-based filter
     ...    Test title: GET information about multiple alarms with attribute-based filter
     ...    Test objective: The objective is to retrieve information about the alarm list
     ...    Pre-conditions: 
-    ...    Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.7.1
+    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: 
     ...    Post-Conditions: 
@@ -51,7 +51,7 @@ GET information about multiple alarms with invalid attribute-based filter
     ...    Test title: GET information about multiple alarms with invalid attribute-based filter
     ...    Test objective: The objective is to retrieve information about the alarm list
     ...    Pre-conditions: 
-    ...    Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.7.1
+    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: 
     ...    Post-Conditions: 
@@ -85,7 +85,6 @@ GET information about multiple alarms with exclude_default attribute selector
     Check HTTP Response Status Code Is    200
     Check HTTP Response Body Json Schema Is    alarms
 
-    
 GET information about multiple alarms with fields attribute selector
     [Documentation]    Test ID: 6.3.4.1.7
     ...    Test title: GET information about multiple alarms with fields attribute selector
@@ -117,7 +116,7 @@ PUT Alarms - Method not implemented
     ...    Test title: PUT Alarms - Method not implemented
     ...    Test objective: The objective is to test that the method is not implemented
     ...    Pre-conditions: 
-    ...    Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.7.1
+    ...    Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: 
     ...    Post-Conditions: none
@@ -129,7 +128,7 @@ PATCH Alarms - Method not implemented
     ...    Test title: PATCH Alarms - Method not implemented
     ...    Test objective: The objective is to test that the method is not implemented
     ...    Pre-conditions: 
-    ...    Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v2.7.1
+    ...    Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: 
     ...    Post-Conditions: none
@@ -141,7 +140,7 @@ DELETE Alarms - Method not implemented
     ...    Test title: DELETE Alarms - Method not implemented
     ...    Test objective: The objective is to test that the method is not implemented
     ...    Pre-conditions: 
-    ...    Reference: Clause 7.4.2.3.6 - ETSI GS NFV-SOL 002 [2] v2.7.1
+    ...    Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: 
     ...    Post-Conditions: the alarm is not deleted
@@ -166,7 +165,7 @@ GET information about multiple alarms for Bad Request Response too big
     ...    Test title: GET information about multiple alarms for Bad Request Response too big
     ...    Test objective: The objective is to test that GET method fail retrieving status information about Alarms when Response is too big, and perform the JSON schema validation of the failed operation HTTP response
     ...    Pre-conditions: 
-    ...    Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.7.1
+    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: 
     ...    Post-Conditions: 
@@ -179,7 +178,7 @@ GET information about alarms with attribute-based filter "id"
     ...    Test title: GET information about alarms with attribute-based filter "id"
     ...    Test objective: The objective is to retrieve information about the alarm list with alarm filter "id"
     ...    Pre-conditions: 
-    ...    Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.7.1
+    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: 
     ...    Post-Conditions: 
@@ -193,7 +192,7 @@ GET information about multiple alarms with attribute-based filter "vnfcInstanceI
     ...    Test title: GET information about multiple alarms with attribute-based filter "vnfcInstanceIds"
     ...    Test objective: The objective is to retrieve information about the alarm list with attribute filter "vnfcInstanceIds"
     ...    Pre-conditions: 
-    ...    Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.7.1
+    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: 
     ...    Post-Conditions: 
@@ -207,7 +206,7 @@ GET information about multiple alarms with attribute-based filter "rootCauseFaul
     ...    Test title: GET information about multiple alarms with attribute-based filter "rootCauseFaultyResource.faultyResourceType"
     ...    Test objective: The objective is to retrieve information about the alarm list with attribute filter "rootCauseFaultyResource.faultyResourceType"
     ...    Pre-conditions: 
-    ...    Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.7.1
+    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: 
     ...    Post-Conditions: 
@@ -221,7 +220,7 @@ GET information about multiple alarms with attribute-based filter "eventType"
     ...    Test title: GET information about multiple alarms with attribute-based filter "eventType"
     ...    Test objective: The objective is to retrieve information about the alarm list with attribute filter "eventType"
     ...    Pre-conditions: 
-    ...    Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.7.1
+    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: 
     ...    Post-Conditions: 
@@ -235,7 +234,7 @@ GET information about multiple alarms with attribute-based filter "perceivedSeve
     ...    Test title: GET information about multiple alarms with attribute-based filter "perceivedSeverity"
     ...    Test objective: The objective is to retrieve information about the alarm list with attribute filter "perceivedSeverity"
     ...    Pre-conditions: 
-    ...    Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.7.1
+    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: 
     ...    Post-Conditions: 
@@ -249,7 +248,7 @@ GET information about multiple alarms with attribute-based filter "probableCause
     ...    Test title: GET information about multiple alarms with attribute-based filter "probableCause"
     ...    Test objective: The objective is to retrieve information about the alarm list with attribute filter "probableCause"
     ...    Pre-conditions: 
-    ...    Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.7.1
+    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: 
     ...    Post-Conditions: 
diff --git a/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot b/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot
index 7f6e2706..394a9c78 100644
--- a/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot
+++ b/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot
@@ -12,8 +12,8 @@ Escalate the perceived severity
     ...    Pre-conditions: The resource representing the individual alarm has been created
     ...    Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
-    ...    Post-Conditions:   
+    ...    Applicability: none
+    ...    Post-Conditions: none
     Post escalate severity
     Check HTTP Response Status Code Is    204
     
@@ -21,11 +21,11 @@ GET Escalate the perceived severity - Method not implemented
     [Documentation]    Test ID: 6.3.4.3.2
     ...    Test title: GET Escalate the perceived severity - Method not implemented
     ...    Test objective: The objective is to test that the GET HTTP method not implemented for escalate perceived severity
-    ...    Pre-conditions: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
-    ...    Post-Conditions:   
+    ...    Applicability: none
+    ...    Post-Conditions:   none
     Get escalate severity
     Check HTTP Response Status Code Is    405
 
@@ -33,11 +33,11 @@ PUT Escalate the perceived severity - Method not implemented
     [Documentation]    Test ID: 6.3.4.3.3
     ...    Test title: PUT Escalate the perceived severity - Method not implemented
     ...    Test objective: The objective is to test that the PUT HTTP method not implemented for escalate perceived severity
-    ...    Pre-conditions: 
+    ...    Pre-conditions: none 
     ...    Reference: Clause 7.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
-    ...    Post-Conditions:   
+    ...    Applicability: none
+    ...    Post-Conditions: none
     Put escalate severity
     Check HTTP Response Status Code Is    405
     
@@ -45,24 +45,23 @@ PATCH Escalate the perceived severity - Method not implemented
     [Documentation]    Test ID: 6.3.4.3.4
     ...    Test title: PATCH Escalate the perceived severity - Method not implemented
     ...    Test objective: The objective is to test that the PATCH HTTP method not implemented for escalate perceived severity
-    ...    Pre-conditions: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
-    ...    Post-Conditions:   
+    ...    Applicability: none
+    ...    Post-Conditions: none
     PATCH escalate severity
     Check HTTP Response Status Code Is    405
     
-    
 DELETE Escalate the perceived severity - Method not implemented
     [Documentation]    Test ID: 6.3.4.3.5
     ...    Test title: DELETE Escalate the perceived severity - Method not implemented
     ...    Test objective: The objective is to test that the DELETE HTTP method not implemented for escalate perceived severity
-    ...    Pre-conditions: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
-    ...    Post-Conditions:   
+    ...    Applicability: none
+    ...    Post-Conditions: none
     Delete escalate severity
     Check HTTP Response Status Code Is    405
 
diff --git a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot
index da15e6b9..ada7690e 100644
--- a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot
+++ b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot
@@ -7,11 +7,9 @@ Library    JSONLibrary
 Library    JSONSchemaLibrary    schemas/
 Library    DependencyLibrary
 
-
 *** Variables **
 ${original_etag}    1234
 
-
 *** Test Cases ***
 POST Alarm - Method not implemented
     [Documentation]    Test ID: 6.3.4.2.1
@@ -20,12 +18,11 @@ POST Alarm - Method not implemented
     ...    Pre-conditions: 
     ...    Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
+    ...    Applicability: none
     ...    Post-Conditions: none
     POST Alarm Task
     Check HTTP Response Status Code Is    405
 
-
 GET information about an individual alarm
     [Documentation]    Test ID: 6.3.4.2.2
     ...    Test title: GET information about an individual alarm
@@ -33,14 +30,12 @@ GET information about an individual alarm
     ...    Pre-conditions: The related alarm exists
     ...    Reference: Clause 7.4.3.3.2  - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
-    ...    Post-Conditions:   
+    ...    Applicability: none 
+    ...    Post-Conditions: none
     GET Alarm Task
     Check HTTP Response Status Code Is    200
     Check HTTP Response Body Json Schema Is    alarm
     
-
-
 PUT Individual Alarm - Method not implemented
      [Documentation]    Test ID: 6.3.4.2.3
     ...    Test title: PUT Individual Alarm - Method not implemented
@@ -48,12 +43,11 @@ PUT Individual Alarm - Method not implemented
     ...    Pre-conditions: 
     ...    Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
+    ...    Applicability: none
     ...    Post-Conditions: none
     PUT Alarm Task
     Check HTTP Response Status Code Is    405
 
-
 PATCH Individual Alarm
     [Documentation]    Test ID: 6.3.4.2.4
     ...    Test title: PATCH Individual Alarm
@@ -61,7 +55,7 @@ PATCH Individual Alarm
     ...    Pre-conditions: The related alarm exists
     ...    Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
+    ...    Applicability: none
     ...    Post-Conditions: none
     PATCH Alarm Task
     Check HTTP Response Status Code Is    200
@@ -74,7 +68,7 @@ PATCH Individual Alarm - Precondition failed
     ...    Pre-conditions: The related alarm exists
     ...    Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
+    ...    Applicability: none
     ...    Post-Conditions: The alarm resource is not modified
     PATCH Alarm Task with wrong precondition
     Check HTTP Response Status Code Is    412
@@ -87,13 +81,12 @@ PATCH Individual Alarm - Conflict
     ...    Pre-conditions: The related alarm exists
     ...    Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
+    ...    Applicability: none
     ...    Post-Conditions: The alarm resource is not modified
     PATCH Alarm Task
     Check HTTP Response Status Code Is    409
     Check HTTP Response Body Json Schema Is     ProblemDetails
     
-
 DELETE Individual Alarm - Method not implemented
     [Documentation]    Test ID: 6.3.4.2.7
     ...    Test title: DELETE Individual Alarm - Method not implemented
@@ -101,10 +94,22 @@ DELETE Individual Alarm - Method not implemented
     ...    Pre-conditions: 
     ...    Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
+    ...    Applicability: none
     ...    Post-Conditions: alarm not deleted
     DELETE Alarm Task
     Check HTTP Response Status Code Is    405
+    
+GET information about an individual alarm - Not Found
+    [Documentation]    Test ID: 6.3.4.2.8
+    ...    Test title: GET information about an individual alarm - Not Found
+    ...    Test objective: The objective is to test that GET method fail retrieving status information about individaual Alarms when alarm is not present.
+    ...    Pre-conditions: The related alarm doesnot exists
+    ...    Reference: Clause 7.4.3.3.2  - ETSI GS NFV-SOL 002 [2] v2.7.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability: none
+    ...    Post-Conditions: none   
+    GET Alarm Task
+    Check HTTP Response Status Code Is    404
 
 *** Keywords ***
 POST Alarm Task
diff --git a/SOL002/VNFFaultManagement-API/IndividualSubscription.robot b/SOL002/VNFFaultManagement-API/IndividualSubscription.robot
index 36b8f864..274b8338 100644
--- a/SOL002/VNFFaultManagement-API/IndividualSubscription.robot
+++ b/SOL002/VNFFaultManagement-API/IndividualSubscription.robot
@@ -12,11 +12,11 @@ POST Individual Subscription - Method not implemented
     [Documentation]    Test ID: 6.3.4.5.1
     ...    Test title: POST Individual Subscription - Method not implemented
     ...    Test objective: The objective is to test that the method is not implemented
-    ...    Pre-conditions: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
-    ...    Post-Conditions: 
+    ...    Applicability: none
+    ...    Post-Conditions: none
     Post Create individual subscription
     Check HTTP Response Status Code Is    405
     
@@ -27,8 +27,8 @@ GET Information about an individual subscription
     ...    Pre-conditions: The subscription with the given id exists
     ...    Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
-    ...    Post-Conditions: 
+    ...    Applicability:  none
+    ...    Post-Conditions: none
     Get individual subscription
     Check HTTP Response Status Code Is    200
     Check HTTP Response Body Json Schema Is   FmSubscription
@@ -37,28 +37,26 @@ PUT an individual subscription - Method not implemented
     [Documentation]    Test ID: 6.3.4.5.3
     ...    Test title: PUT an individual subscription - Method not implemented
     ...    Test objective: The objective is to test that the method is not implemented
-    ...    Pre-conditions: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
-    ...    Post-Conditions: 
+    ...    Applicability: none
+    ...    Post-Conditions: none
     Put individual subscription
     Check HTTP Response Status Code Is    405
-    
-
+   
 PATCH an individual subscription - Method not implemented
     [Documentation]    Test ID: 6.3.4.5.4
     ...    Test title: PATCH an individual subscription - Method not implemented
     ...    Test objective: The objective is to test that the method is not implemented
-    ...    Pre-conditions: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
-    ...    Post-Conditions: 
+    ...    Applicability: none
+    ...    Post-Conditions: none
     Patch individual subscription
     Check HTTP Response Status Code Is    405
     
-    
 DELETE an individual subscription
     [Documentation]    Test ID: 6.3.4.5.5
     ...    Test title: DELETE an individual subscription
@@ -66,11 +64,23 @@ DELETE an individual subscription
     ...    Pre-conditions: an existing subscription
     ...    Reference: Clause 7.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
+    ...    Applicability: none
     ...    Post-Conditions: the subscription is deleted
     Delete individual subscription
     Check HTTP Response Status Code Is    204
     
+GET Information about an individual subscription - Not Found
+    [Documentation]    Test ID: 6.3.4.5.6
+    ...    Test title: GET Information about an individual subscription - Not Found
+    ...    Test objective: The objective is to test that GET method fail retrieving individual subscription for VNF alarms subscribed by the client because it is not present.
+    ...    Pre-conditions: The subscription with the given id donot exists
+    ...    Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability:  none
+    ...    Post-Conditions: none
+    Get individual subscription
+    Check HTTP Response Status Code Is    404
+    
 *** Keywords ***
 Check resource existence
     Set Headers    {"Accept":"${ACCEPT}"}
diff --git a/SOL002/VNFFaultManagement-API/Subscriptions.robot b/SOL002/VNFFaultManagement-API/Subscriptions.robot
index 209997b2..bc3bbb18 100644
--- a/SOL002/VNFFaultManagement-API/Subscriptions.robot
+++ b/SOL002/VNFFaultManagement-API/Subscriptions.robot
@@ -4,6 +4,7 @@ Library    REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}     ssl_verify=fal
 Library     OperatingSystem
 Library    JSONLibrary
 Library    JSONSchemaLibrary    schemas/
+Library    String
 
 *** Test Cases ***
 Create a new subscription
@@ -13,7 +14,7 @@ Create a new subscription
     ...    Pre-conditions: no subscription with the same filter and callbackUri exists
     ...    Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability: 
+    ...    Applicability: none
     ...    Post-Conditions: Resource created successfully
     Post Create subscription
     Check HTTP Response Status Code Is    201
@@ -49,10 +50,10 @@ GET Subscriptions
     [Documentation]    Test ID: 6.3.4.4.4
     ...    Test title: GET Subscriptions
     ...    Test objective: The objective is to retrieve the list of active subscriptions
-    ...    Pre-conditions: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
+    ...    Applicability:  none
     ...    Post-Conditions: subscription is not deleted
     Get subscriptions
     Check HTTP Response Status Code Is    200
@@ -62,11 +63,11 @@ GET Subscription - Filter
     [Documentation]    Test ID: 6.3.4.4.5
     ...    Test title: GET Subscription - Filter
     ...    Test objective: The objective is to retrieve the list of active subscriptions with filter
-    ...    Pre-conditions: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
-    ...    Post-Conditions: 
+    ...    Applicability:  none
+    ...    Post-Conditions: none
     Get subscriptions - filter
     Check HTTP Response Status Code Is    200
     Check HTTP Response Body Json Schema Is   FmSubscriptions 
@@ -75,11 +76,11 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters
     [Documentation]    Test ID: 6.3.4.4.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
-    ...    Pre-conditions: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
-    ...    Post-Conditions: 
+    ...    Applicability:  none
+    ...    Post-Conditions: none
     Get subscriptions - invalid filter
     Check HTTP Response Status Code Is    400
     Check HTTP Response Body Json Schema Is   ProblemDetails 
@@ -88,11 +89,11 @@ GET subscriptions with "all_fields" attribute selector
     [Documentation]    Test ID: 6.3.4.4.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: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
-    ...    Post-Conditions: 
+    ...    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   FmSubscriptions 
@@ -101,11 +102,11 @@ GET subscriptions with "exclude_default" attribute selector
     [Documentation]    Test ID: 6.3.4.4.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: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
-    ...    Post-Conditions: 
+    ...    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   FmSubscriptions
@@ -114,11 +115,11 @@ GET subscriptions with "fields" attribute selector
     [Documentation]    Test ID: 6.3.4.4.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: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
-    ...    Post-Conditions: 
+    ...    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   FmSubscriptions
@@ -127,26 +128,24 @@ GET subscriptions with "exclude_fields" attribute selector
     [Documentation]    Test ID: 6.3.4.4.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: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
-    ...    Post-Conditions: 
+    ...    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   FmSubscriptions    
-
-
         
 PUT subscriptions - Method not implemented
     [Documentation]    Test ID: 6.3.4.4.11
     ...    Test title: PUT subscriptions - Method not implemented
     ...    Test objective: The objective is to test that the method is not implemented
-    ...    Pre-conditions: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
-    ...    Post-Conditions: 
+    ...    Applicability:  none
+    ...    Post-Conditions: none
     PUT subscriptions
     Check HTTP Response Status Code Is    405
 
@@ -154,11 +153,11 @@ PATCH subscriptions - Method not implemented
     [Documentation]    Test ID: 6.3.4.4.12
     ...    Test title: PUT subscriptions - Method not implemented
     ...    Test objective: The objective is to test that the method is not implemented
-    ...    Pre-conditions: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
-    ...    Post-Conditions: 
+    ...    Applicability:  none
+    ...    Post-Conditions: none
     PATCH subscriptions
     Check HTTP Response Status Code Is    405
 
@@ -166,10 +165,10 @@ DELETE subscriptions - Method not implemented
     [Documentation]    Test ID: 6.3.4.4.13
     ...    Test title: DELETE subscriptions - Method not implemented
     ...    Test objective: The objective is to test that the method is not implemented
-    ...    Pre-conditions: 
+    ...    Pre-conditions: none 
     ...    Reference: Clause 7.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
+    ...    Applicability:  none
     ...    Post-Conditions: subscription not deleted
     DELETE subscriptions
     Check HTTP Response Status Code Is    405
@@ -178,10 +177,10 @@ GET Subscriptions to get Paged Response
     [Documentation]    Test ID: 6.3.4.4.14
     ...    Test title: GET Subscriptions to get Paged Response
     ...    Test objective: The objective is to retrieve the list of active subscriptions to get paged response
-    ...    Pre-conditions: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
+    ...    Applicability:  none
     ...    Post-Conditions: subscription is not deleted
     Get subscriptions
     Check HTTP Response Status Code Is    200
@@ -191,11 +190,11 @@ GET subscriptions - Bad Request Response too Big
     [Documentation]    Test ID: 6.3.4.4.15
     ...    Test title: GET subscriptions - Bad Request Response too Big
     ...    Test objective: The objective is to test that GET method fail retrieving list of active subscription because Response is too big, and perform the JSON schema validation of the failed operation HTTP response
-    ...    Pre-conditions: 
+    ...    Pre-conditions: none 
     ...    Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
-    ...    Post-Conditions: 
+    ...    Applicability:  none
+    ...    Post-Conditions: none
     Get subscriptions - invalid filter
     Check HTTP Response Status Code Is    400
     Check HTTP Response Body Json Schema Is   ProblemDetails
@@ -204,26 +203,25 @@ 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: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
-    ...    Post-Conditions: 
+    ...    Applicability:  none
+    ...    Post-Conditions: none
     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: 
+    ...    Pre-conditions: none 
     ...    Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
-    ...    Post-Conditions: 
+    ...    Applicability:  none
+    ...    Post-Conditions: none
     Get subscriptions with filter "filter_notificationTypes"
     Check HTTP Response Status Code Is    200
     Check HTTP Response Body Json Schema Is   FmSubscriptions 
@@ -233,11 +231,11 @@ 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: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
-    ...    Post-Conditions: 
+    ...    Applicability:  none
+    ...    Post-Conditions: none
     Get subscriptions with filter "filter_faultyResourceTypes"
     Check HTTP Response Status Code Is    200
     Check HTTP Response Body Json Schema Is   FmSubscriptions
@@ -247,11 +245,11 @@ 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: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
-    ...    Post-Conditions: 
+    ...    Applicability:  none
+    ...    Post-Conditions: none
     Get subscriptions with filter "filter_perceivedSeverities"
     Check HTTP Response Status Code Is    200
     Check HTTP Response Body Json Schema Is   FmSubscriptions
@@ -261,11 +259,11 @@ 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: 
+    ...    Pre-conditions: none
     ...    Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
-    ...    Post-Conditions: 
+    ...    Applicability:  none
+    ...    Post-Conditions: none
     Get subscriptions with filter "filter_eventTypes"
     Check HTTP Response Status Code Is    200
     Check HTTP Response Body Json Schema Is   FmSubscriptions
@@ -275,11 +273,11 @@ 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: 
+    ...    Pre-conditions: none 
     ...    Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.7.1
     ...    Config ID: Config_prod_VNFM
-    ...    Applicability:  
-    ...    Post-Conditions: 
+    ...    Applicability:  none
+    ...    Post-Conditions: none
     Get subscriptions with filter "filter_probableCauses"
     Check HTTP Response Status Code Is    200
     Check HTTP Response Body Json Schema Is   FmSubscriptions
@@ -304,7 +302,8 @@ Post Create subscription
     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
+    ${template}=    Get File    jsons/fmSubscriptionRequest.json
+    ${body}=        Format String   ${template}     callback_uri=${callback_uri}    callback_endpoint=${callback_endpoint}
     Post    ${apiRoot}/${apiName}/${apiVersion}/subscriptions    ${body}
     ${outputResponse}=    Output    response
 	Set Global Variable    ${response}    ${outputResponse}				
@@ -314,7 +313,8 @@ Post Create subscription - DUPLICATION
     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
+    ${template}=    Get File    jsons/fmSubscriptionRequest.json
+    ${body}=        Format String   ${template}     callback_uri=${callback_uri}    callback_endpoint=${callback_endpoint}
     Post    ${apiRoot}/${apiName}/${apiVersion}/subscriptions    ${body}		
     ${outputResponse}=    Output    response
 	Set Global Variable    ${response}    ${outputResponse}			
@@ -324,7 +324,8 @@ Post Create subscription - NO-DUPLICATION
     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
+    ${template}=    Get File    jsons/fmSubscriptionRequest.json
+    ${body}=        Format String   ${template}     callback_uri=${callback_uri}    callback_endpoint=${callback_endpoint}
     Post    ${apiRoot}/${apiName}/${apiVersion}/subscriptions    ${body}
     ${outputResponse}=    Output    response
 	Set Global Variable    ${response}    ${outputResponse}		
diff --git a/SOL002/VNFFaultManagement-API/jsons/fmSubscriptionRequest.json b/SOL002/VNFFaultManagement-API/jsons/fmSubscriptionRequest.json
index e44916f8..1411fe3b 100644
--- a/SOL002/VNFFaultManagement-API/jsons/fmSubscriptionRequest.json
+++ b/SOL002/VNFFaultManagement-API/jsons/fmSubscriptionRequest.json
@@ -1,10 +1,10 @@
-{
-  "filter": {
-    "vnfInstanceSubscriptionFilter": {
+{{
+  "filter": {{
+    "vnfInstanceSubscriptionFilter": {{
       "vnfdIds": [
         "6fc3539c-e602-4afa-8e13-962fb5a7d81f"
       ]
-    }
-  },
-  "callbackUri": "http://127.0.0.1/subscribe"
-}
\ No newline at end of file
+    }}
+  }},
+  "callbackUri": "{callback_uri}{callback_endpoint}"
+}}
\ No newline at end of file
-- 
GitLab