From 6fc5a7b764ed5d16d79c3b28756bd91c822f7ece Mon Sep 17 00:00:00 2001
From: Giacomo Bernini <g.bernini@nextworks.it>
Date: Fri, 26 Jul 2019 17:52:19 +0200
Subject: [PATCH] Added doc for NS and VNF LCM notification tests

---
 .../NotificationEndpoint.robot                | 253 ++++++++++++------
 .../environment/variables.txt                 |  10 +-
 ...dentifierDeletionNotification.schema.json} |   0
 ...erationOccurrenceNotification.schema.json} |   0
 .../NotificationEndpoint.robot                | 241 +++++++++++------
 .../environment/variables.txt                 |  20 +-
 .../NotificationEndpoint.robot                | 221 +++++++++++----
 .../environment/variables.txt                 |   9 +-
 8 files changed, 531 insertions(+), 223 deletions(-)
 rename SOL002/VNFLifecycleManagement-API/schemas/{vnfIdentifierDeletionNotification.schema.json => VnfIdentifierDeletionNotification.schema.json} (100%)
 rename SOL002/VNFLifecycleManagement-API/schemas/{vnfLcmOperationOccurrenceNotification.schema.json => VnfLcmOperationOccurrenceNotification.schema.json} (100%)

diff --git a/SOL002/VNFLifecycleManagement-API/NotificationEndpoint.robot b/SOL002/VNFLifecycleManagement-API/NotificationEndpoint.robot
index 1c442cd8..babeda31 100644
--- a/SOL002/VNFLifecycleManagement-API/NotificationEndpoint.robot
+++ b/SOL002/VNFLifecycleManagement-API/NotificationEndpoint.robot
@@ -5,96 +5,187 @@ Resource    environment/variables.txt
 Library    MockServerLibrary
 Library    Process
 Library    OperatingSystem
-
+Library    Collections
 
 *** Test Cases ***
-Deliver a notification - Operation Occurence
-    log    The POST method delivers a notification from the server to the client.
-    ${json}=	Get File	schemas/vnfLcmOperationOccurrenceNotification.schema.json
-    ${BODY}=	evaluate	json.loads('''${json}''')	json
-    Log  Creating mock request and response to handle vnfLcmOperationOccurrenceNotification
-    &{req}=  Create Mock Request Matcher	POST  ${callback_endpoint}  body_type="JSON_SCHEMA"    body=${BODY}
-    &{rsp}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
-    Create Mock Expectation  ${req}  ${rsp}
-    Sleep  ${sleep_interval}
-    Log  Verifying results
-    Verify Mock Expectation  ${req}
-    Log  Cleaning the endpoint
-    Clear Requests  ${callback_endpoint}
+VNF LCM Operation Occurrence Start Notification
+    [Documentation]    Test ID: 6.3.5.19.1
+    ...    Test title: VNF LCM Operation Occurrence Start Notification
+    ...    Test objective: The objective is to test the dispatch of VNF LCM Operation Occurrence Start Notification when a new VNF LCM operation is started in the VNFM, and perform a JSON schema and content validation of the delivered notification
+    ...    Pre-conditions: A subscription for VNF LCM Operation Occurrence notifications is available in the VNFM.
+    ...    Reference:  section 5.4.20.3.1 - SOL002 v2.4.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability: none
+    ...    Post-Conditions: none 
+    Trigger a VNF LCM operation (external action) 
+    Check VNF LCM Operation Occurrence Start Notification Http POST Request Body Json Schema Is    VnfLcmOperationOccurrenceNotification
+    Check VNF LCM Operation Occurrence Start Notification Http POST Request Body notificationType attribute Is    VnfLcmOperationOccurrenceNotification
+    Check VNF LCM Operation Occurrence Start Notification Http POST Request Body notificationStatus attribute Is    START
+    
+VNF LCM Operation Occurrence Result Notification
+    [Documentation]    Test ID: 6.3.5.19.2
+    ...    Test title: VNF LCM Operation Occurrence Result Notification
+    ...    Test objective: The objective is to test the dispatch of VNF LCM Operation Occurrence Result Notification when a VNF LCM operation is completed in the VNFM, and perform a JSON schema and content validation of the delivered notification
+    ...    Pre-conditions: An VNF LCM operation is in progress, and a subscription for VNF LCM Operation Occurrence notifications is available in the VNFM.
+    ...    Reference:  section 5.4.20.3.1 - SOL002 v2.4.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability: none
+    ...    Post-Conditions: none 
+    Trigger the completion of an VNF LCM operation (external action)
+    Check VNF LCM Operation Occurrence Result Notification Http POST Request Body Json Schema Is    VnfLcmOperationOccurrenceNotification
+    Check VNF LCM Operation Occurrence Result Notification Http POST Request Body notificationType attribute Is    VnfLcmOperationOccurrenceNotification
+    Check VNF LCM Operation Occurrence Start Notification Http POST Request Body notificationStatus attribute Is    RESULT
+    
+VNF Identifier Creation Notification
+    [Documentation]    Test ID: 6.3.5.19.3
+    ...    Test title: VNF Identifier Creation Notification
+    ...    Test objective: The objective is to test the dispatch of VNF Identifier Creation Notification when a new VNF instance resource is created in the VNFM, and perform a JSON schema and content validation of the delivered notification
+    ...    Pre-conditions: A subscription for VNF identifier creation notifications is available in the VNFM.
+    ...    Reference:  section 5.4.20.3.1 - SOL002 v2.4.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability: none
+    ...    Post-Conditions: none 
+    Trigger the creation of a VNF instance resource (external action)
+    Check VNF Identifier Creation Notification Http POST Request Body Json Schema Is    VnfIdentifierCreationNotification
+    Check VNF Identifier Creation Notification Http POST Request Body notificationType attribute Is    VnfIdentifierCreationNotification
+    
+VNF Identifier Deletion Notification
+    [Documentation]    Test ID: 6.3.5.19.4
+    ...    Test title: VNF Identifier Deletion Notification
+    ...    Test objective: The objective is to test the dispatch of VNF Identifier Deletion Notification when a VNF instance resource is deleted in the VNFM, and perform a JSON schema and content validation of the delivered notification
+    ...    Pre-conditions: A VNF instance resource is created, and a subscription for VNF identifier creation notifications is available in the VNFM.
+    ...    Reference:  section 6.4.18.3.1 - SOL002 v2.4.1
+    ...    Config ID: Config_prod_VNFM
+    ...    Applicability: none
+    ...    Post-Conditions: none 
+    Trigger the deletion of a VNF instance resource (external action)
+    Check VNF Identifier Deletion Notification Http POST Request Body Json Schema Is    VnfIdentifierDeletionNotification
+    Check VNF Identifier Deletion Notification Http POST Request Body notificationType attribute Is    VnfIdentifierDeletionNotification
+    
+*** Keywords ***
+Trigger a VNF LCM operation (external action) 
+    #do nothing
+    Log    do nothing
+
+Trigger the completion of an VNF LCM operation (external action)
+    #do nothing
+    Log    do nothing   
+    
+Trigger the creation of a VNF instance resource (external action)
+    #do nothing
+    Log    do nothing     
+  
+Trigger the deletion of a VNF instance resource (external action)
+    #do nothing
+    Log    do nothing     
+    
+Check VNF LCM Operation Occurrence Start Notification Http POST Request Body Json Schema Is  
+    [Arguments]    ${element}
+    ${schema}=	Get File	schemas/${element}.schema.json
+    Configure Notification Forward    ${schema}    ${callback_endpoint}    ${callback_endpoint_fwd}
 
-Deliver a notification - Id Creation
-    log    The POST method delivers a notification from the server to the client.
-    ${json}=	Get File	schemas/vnfIdentifierCreationNotification.schema.json
-    ${BODY}=	evaluate	json.loads('''${json}''')	json
-    Log  Creating mock request and response to handle vnfLcmOperationOccurrenceNotification
-    &{req}=  Create Mock Request Matcher	POST  ${callback_endpoint}}  body_type="JSON_SCHEMA"    body=${BODY}
-    &{rsp}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
-    Create Mock Expectation  ${req}  ${rsp}
-    Sleep  ${sleep_interval}
-    Log  Verifying results
-    Verify Mock Expectation  ${req}
-    Log  Cleaning the endpoint
-    Clear Requests  ${callback_endpoint}
+Check VNF LCM Operation Occurrence Start Notification Http POST Request Body notificationType attribute Is
+    [Arguments]    ${type}
+    Configure Notification VNF LCM Operation Occurrence Start Handler    ${callback_endpoint_fwd}    ${type}    START
+    Wait Until Keyword Succeeds    2 min   10 sec   Verify Mock Expectation    ${notification_request}
+    Clear Requests    ${callback_endpoint}
+    Clear Requests    ${callback_endpoint_fwd}
+    
+Configure Notification VNF LCM Operation Occurrence Start Handler
+    [Arguments]    ${endpoint}    ${type}    ${status}
+    ${json}=    evaluate    {}
+    set to dictionary   ${json}    notificationType    ${type}    changeType    ${status}
+    ${BODY}=    evaluate    json.dumps(${json})    json
+    Log  Creating mock request and response to handle status notification
+    &{notification_request}=  Create Mock Request Matcher	POST  ${endpoint}  body_type="JSON"    body=${BODY}
+    &{notification_response}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
+    Create Mock Expectation  ${notification_request}  ${notification_response}
+
+Check VNF LCM Operation Occurrence Result Notification Http POST Request Body Json Schema Is  
+    [Arguments]    ${element}
+    ${schema}=	Get File	schemas/${element}.schema.json
+    Configure Notification Forward    ${schema}    ${callback_endpoint}    ${callback_endpoint_fwd}
 
-Deliver a notification - Id deletion
-    log    The POST method delivers a notification from the server to the client.
-    ${json}=	Get File	schemas/vnfIdentifierCreationNotification.schema.json
-    ${BODY}=	evaluate	json.loads('''${json}''')	json
-    Log  Creating mock request and response to handle vnfLcmOperationOccurrenceNotification
-    &{req}=  Create Mock Request Matcher	POST  ${callback_endpoint}  body_type="JSON_SCHEMA"    body=${BODY}
-    &{rsp}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
-    Create Mock Expectation  ${req}  ${rsp}
-    Sleep  ${sleep_interval}
-    Log  Verifying results
-    Verify Mock Expectation  ${req}
-    Log  Cleaning the endpoint
-    Clear Requests  ${callback_endpoint}
+Check VNF LCM Operation Occurrence Result Notification Http POST Request Body notificationType attribute Is
+    [Arguments]    ${type}
+    Configure Notification VNF LCM Operation Occurrence Result Handler    ${callback_endpoint_fwd}    ${type}    RESULT
+    Wait Until Keyword Succeeds    2 min   10 sec   Verify Mock Expectation    ${notification_request}
+    Clear Requests    ${callback_endpoint}
+    Clear Requests    ${callback_endpoint_fwd}
+    
+Configure Notification VNF LCM Operation Occurrence Result Handler
+    [Arguments]    ${endpoint}    ${type}    ${status}
+    ${json}=    evaluate    {}
+    set to dictionary   ${json}    notificationType    ${type}    changeType    ${status}
+    ${BODY}=    evaluate    json.dumps(${json})    json
+    Log  Creating mock request and response to handle status notification
+    &{notification_request}=  Create Mock Request Matcher	POST  ${endpoint}  body_type="JSON"    body=${BODY}
+    &{notification_response}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
+    Create Mock Expectation  ${notification_request}  ${notification_response}
 
-Test a notification end point
-    log    The GET method allows the server to test the notification endpoint
-    &{req}=  Create Mock Request Matcher	GET  ${callback_endpoint}    
-    &{rsp}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
-    Create Mock Expectation  ${req}  ${rsp}
-    Sleep  ${sleep_interval}
-    Verify Mock Expectation  ${req}
-    Clear Requests  ${callback_endpoint}
+Check VNF Identifier Creation Notification Http POST Request Body Json Schema Is  
+    [Arguments]    ${element}
+    ${schema}=	Get File	schemas/${element}.schema.json
+    Configure Notification Forward    ${schema}    ${callback_endpoint}    ${callback_endpoint_fwd}
 
-PUT notification - Method not implemented
-    Log  PUT Method not implemented
-    &{req}=  Create Mock Request Matcher	PUT  ${callback_endpoint}
-    &{rsp}=  Create Mock Response  status_code=405
-    Create Mock Expectation  ${req}  ${rsp}
-    Sleep  ${sleep_interval}
-    Log  Verifying results
-    Verify Mock Expectation  ${req}
-    Log  Cleaning the endpoint
-    Clear Requests  ${callback_endpoint}
+Check VNF Identifier Creation Notification Http POST Request Body notificationType attribute Is
+    [Arguments]    ${type}
+    Configure Notification VNF Identifier Creation Handler    ${callback_endpoint_fwd}    ${type}
+    Wait Until Keyword Succeeds    2 min   10 sec   Verify Mock Expectation    ${notification_request}
+    Clear Requests    ${callback_endpoint}
+    Clear Requests    ${callback_endpoint_fwd}
+
+Configure Notification VNF Identifier Creation Handler
+    [Arguments]    ${endpoint}    ${type}
+    ${json}=    evaluate    {}
+    set to dictionary   ${json}    notificationType    ${type}
+    ${BODY}=    evaluate    json.dumps(${json})    json
+    Log  Creating mock request and response to handle status notification
+    &{notification_request}=  Create Mock Request Matcher	POST  ${endpoint}  body_type="JSON"    body=${BODY}
+    &{notification_response}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
+    Create Mock Expectation  ${notification_request}  ${notification_response}
+    
+Check VNF Identifier Deletion Notification Http POST Request Body Json Schema Is  
+    [Arguments]    ${element}
+    ${schema}=	Get File	schemas/${element}.schema.json
+    Configure Notification Forward    ${schema}    ${callback_endpoint}    ${callback_endpoint_fwd}
 
-PATCH subscriptions - Method not implemented
-    Log  PATCH Method not implemented
-    &{req}=  Create Mock Request Matcher	PATCH  ${callback_endpoint}
-    &{rsp}=  Create Mock Response  status_code=405
-    Create Mock Expectation  ${req}  ${rsp}
-    Sleep  ${sleep_interval}
-    Log  Verifying results
-    Verify Mock Expectation  ${req}
-    Log  Cleaning the endpoint
-    Clear Requests  ${callback_endpoint}
+Check VNF Identifier Deletion Notification Http POST Request Body notificationType attribute Is
+    [Arguments]    ${type}
+    Configure Notification VNF Identifier Deletion Handler    ${callback_endpoint_fwd}    ${type}
+    Wait Until Keyword Succeeds    2 min   10 sec   Verify Mock Expectation    ${notification_request}
+    Clear Requests    ${callback_endpoint}
+    Clear Requests    ${callback_endpoint_fwd}
 
+Configure Notification VNF Identifier Deletion Handler
+    [Arguments]    ${endpoint}    ${type}
+    ${json}=    evaluate    {}
+    set to dictionary   ${json}    notificationType    ${type}
+    ${BODY}=    evaluate    json.dumps(${json})    json
+    Log  Creating mock request and response to handle status notification
+    &{notification_request}=  Create Mock Request Matcher	POST  ${endpoint}  body_type="JSON"    body=${BODY}
+    &{notification_response}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
+    Create Mock Expectation  ${notification_request}  ${notification_response}
 
-DELETE subscriptions - Method not implemented
-    Log  DELETE Method not implemented
-    &{req}=  Create Mock Request Matcher	DELETE  ${callback_endpoint}
-    &{rsp}=  Create Mock Response  status_code=405
-    Create Mock Expectation  ${req}  ${rsp}
-    Sleep  ${sleep_interval}
-    Log  Verifying results
-    Verify Mock Expectation  ${req}
-    Log  Cleaning the endpoint
-    Clear Requests  ${callback_endpoint}
+Check VNF LCM Operation Occurrence Start Notification Http POST Request Body notificationStatus attribute Is
+    [Arguments]    ${type}
+    #do nothing
+    Log    do nothing
     
-*** Keywords ***
+Check VNF LCM Operation Occurrence Result Notification Http POST Request Body notificationStatus attribute Is
+    [Arguments]    ${type}
+    #do nothing
+    Log    do nothing
+
+Configure Notification Forward
+    [Arguments]    ${schema}    ${endpoint}    ${endpoint_fwd}    
+    Log  Creating mock Http POST forward to handle ${schema}
+    &{notification_tmp}=  Create Mock Request Matcher	POST  ${endpoint}  body_type="JSON_SCHEMA"    body=${schema}
+    &{notification_fwd}=  Create Mock Http Forward	${endpoint_fwd}
+    Create Mock Expectation With Http Forward  ${notification_tmp}  ${notification_fwd}
+
 Create Sessions
-    Start Process  java  -jar  ../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar  -serverPort  ${callback_port}  alias=mockInstance
+    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}     #The API producer is set to NFVO according to SOL003-5.3.9
+    Create Mock Session  ${callback_uri}:${callback_port}
+
diff --git a/SOL002/VNFLifecycleManagement-API/environment/variables.txt b/SOL002/VNFLifecycleManagement-API/environment/variables.txt
index 3c0d6ef3..21bb5d38 100644
--- a/SOL002/VNFLifecycleManagement-API/environment/variables.txt
+++ b/SOL002/VNFLifecycleManagement-API/environment/variables.txt
@@ -41,5 +41,13 @@ ${VnfIdentifierDeletionNotification}    {}
 ${callback_uri}    http://localhost
 ${callback_port}    9091
 ${callback_endpoint}    /endpoint
+${callback_endpoint_fwd}    /endpoint/check
 ${callback_endpoint_error}    /endpoint_404
-${sleep_interval}    20s
\ No newline at end of file
+${sleep_interval}    20s
+${total_polling_time}   2 min
+${polling_interval}     10 sec
+
+${notification_request}    []
+${notification_response}    []
+
+${MOCK_SERVER_JAR}    ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar
\ No newline at end of file
diff --git a/SOL002/VNFLifecycleManagement-API/schemas/vnfIdentifierDeletionNotification.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/VnfIdentifierDeletionNotification.schema.json
similarity index 100%
rename from SOL002/VNFLifecycleManagement-API/schemas/vnfIdentifierDeletionNotification.schema.json
rename to SOL002/VNFLifecycleManagement-API/schemas/VnfIdentifierDeletionNotification.schema.json
diff --git a/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOperationOccurrenceNotification.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json
similarity index 100%
rename from SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOperationOccurrenceNotification.schema.json
rename to SOL002/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json
diff --git a/SOL003/VNFLifecycleManagement-API/NotificationEndpoint.robot b/SOL003/VNFLifecycleManagement-API/NotificationEndpoint.robot
index 06c8c486..5f8bebf8 100644
--- a/SOL003/VNFLifecycleManagement-API/NotificationEndpoint.robot
+++ b/SOL003/VNFLifecycleManagement-API/NotificationEndpoint.robot
@@ -1,100 +1,191 @@
 *** Settings ***
 Suite Setup    Create Sessions
 Suite Teardown    Terminate All Processes    kill=true
-Resource    environment/configuration.txt
 Resource    environment/variables.txt 
-Resource    VnfLcmMntOperationKeywords.robot
 Library    MockServerLibrary
 Library    Process
 Library    OperatingSystem
-Library    REST    ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT}
-
-*** Variables ***
-${sleep_interval}    20s
+Library    Collections
 
 *** Test Cases ***
-Deliver a notification - Operation Occurence
+VNF LCM Operation Occurrence Start Notification
     [Documentation]    Test ID: 7.3.1.19.1
-    ...    Test title: POST Deliver a notification - Operation Occurence
-    ...    Test objective: The objective is to test that POST method trigger a notification about lifecycle changes triggered by a VNF LCM operation occurrence
-    ...    Pre-conditions: none
-    ...    Reference:  section 5.4.20.3.1 - SOL005 v2.4.1
-    ...    Config ID: Config_prod_NFVO
-    ...    Applicability: none
-    ...    Post-Conditions: none
-    POST Operation occurrence
-
-Deliver a notification - Id Creation
-     [Documentation]    Test ID: 7.3.1.19.2
-    ...    Test title: Deliver a notification - Id Creation
-    ...    Test objective: The objective is to test that POST method trigger a notification about the creation of a VNF identifier and the related to a VNF instance resource.
-    ...    Pre-conditions: none
-    ...    Reference:  section 5.4.20.3.1 - SOL005 v2.4.1
-    ...    Config ID: Config_prod_NFVO
-    ...    Applicability: none
-    ...    Post-Conditions: none
-    POST Id creation
-
-Deliver a notification - Id deletion
-    [Documentation]    Test ID: 7.3.1.19.3
-    ...    Test title: Deliver a notification - Id deletion
-    ...    Test objective: The objective is to test that POST method trigger A notification about the deletion of a VNF identifier and the related to a VNF instance resource
-    ...    Pre-conditions: none
-    ...    Reference:  section 5.4.20.3.1 - SOL005 v2.4.1
-    ...    Config ID: Config_prod_NFVO
-    ...    Applicability: none
-    ...    Post-Conditions: none
-    POST Id deletion
-
-GET Test a notification end point
-    [Documentation]    Test ID: 7.3.1.19.4
-    ...    Test title: GET Test a notification end point
-    ...    Test objective: The objective is to test that GET method allows the server to test the notification endpoint that is provided by the client    
-    ...    Pre-conditions: none
-    ...    Reference:  section 5.4.20.3.2 - SOL005 v2.4.1
-    ...    Config ID: Config_prod_NFVO
+    ...    Test title: VNF LCM Operation Occurrence Start Notification
+    ...    Test objective: The objective is to test the dispatch of VNF LCM Operation Occurrence Start Notification when a new VNF LCM operation is started in the VNFM, and perform a JSON schema and content validation of the delivered notification
+    ...    Pre-conditions: A subscription for VNF LCM Operation Occurrence notifications is available in the VNFM.
+    ...    Reference:  section 5.4.20.3.1 - SOL003 v2.4.1
+    ...    Config ID: Config_prod_VNFM
     ...    Applicability: none
-    ...    Post-Conditions: none
-    GET test endpoint
-
-PUT notification - Method not implemented
-    [Documentation]    Test ID: 7.3.1.19.5
-    ...    Test title: PUT Individual Subscription - Method not implemented
-    ...    Test objective: The objective is to test that the method is not implemented
-    ...    Pre-conditions: none
-    ...    Reference:  section 5.4.20.3.3 - SOL003 v2.4.1
+    ...    Post-Conditions: none 
+    Trigger a VNF LCM operation (external action) 
+    Check VNF LCM Operation Occurrence Start Notification Http POST Request Body Json Schema Is    VnfLcmOperationOccurrenceNotification
+    Check VNF LCM Operation Occurrence Start Notification Http POST Request Body notificationType attribute Is    VnfLcmOperationOccurrenceNotification
+    Check VNF LCM Operation Occurrence Start Notification Http POST Request Body notificationStatus attribute Is    START
+    
+VNF LCM Operation Occurrence Result Notification
+    [Documentation]    Test ID: 7.3.1.19.2
+    ...    Test title: VNF LCM Operation Occurrence Result Notification
+    ...    Test objective: The objective is to test the dispatch of VNF LCM Operation Occurrence Result Notification when a VNF LCM operation is completed in the VNFM, and perform a JSON schema and content validation of the delivered notification
+    ...    Pre-conditions: An VNF LCM operation is in progress, and a subscription for VNF LCM Operation Occurrence notifications is available in the VNFM.
+    ...    Reference:  section 5.4.20.3.1 - SOL003 v2.4.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions: none 
-    Put notification subscription
-	Check HTTP Response Status Code Is   405
-
-PATCH subscriptions - Method not implemented
-    [Documentation]    Test ID: 7.3.1.19.6
-    ...    Test title: PATCH Individual Subscription - Method not implemented
-    ...    Test objective: The objective is to test that the method is not implemented
-    ...    Pre-conditions: none
-    ...    Reference:  section 5.4.20.3.4 - SOL003 v2.4.1
+    Trigger the completion of an VNF LCM operation (external action)
+    Check VNF LCM Operation Occurrence Result Notification Http POST Request Body Json Schema Is    VnfLcmOperationOccurrenceNotification
+    Check VNF LCM Operation Occurrence Result Notification Http POST Request Body notificationType attribute Is    VnfLcmOperationOccurrenceNotification
+    Check VNF LCM Operation Occurrence Start Notification Http POST Request Body notificationStatus attribute Is    RESULT
+    
+VNF Identifier Creation Notification
+    [Documentation]    Test ID: 7.3.1.19.3
+    ...    Test title: VNF Identifier Creation Notification
+    ...    Test objective: The objective is to test the dispatch of VNF Identifier Creation Notification when a new VNF instance resource is created in the VNFM, and perform a JSON schema and content validation of the delivered notification
+    ...    Pre-conditions: A subscription for VNF identifier creation notifications is available in the VNFM.
+    ...    Reference:  section 5.4.20.3.1 - SOL003 v2.4.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions: none 
-    Patch notification subscription
-	Check HTTP Response Status Code Is   405
+    Trigger the creation of a VNF instance resource (external action)
+    Check VNF Identifier Creation Notification Http POST Request Body Json Schema Is    VnfIdentifierCreationNotification
+    Check VNF Identifier Creation Notification Http POST Request Body notificationType attribute Is    VnfIdentifierCreationNotification
     
-DELETE subscriptions - Method not implemented
-    [Documentation]    Test ID: 7.3.1.19.7
-    ...    Test title: DELETE Individual Subscription - Method not implemented
-    ...    Test objective: The objective is to test that the method is not implemented
-    ...    Pre-conditions: none
-    ...    Reference:  section 5.4.20.3.5 - SOL003 v2.4.1
+VNF Identifier Deletion Notification
+    [Documentation]    Test ID: 7.3.1.19.4
+    ...    Test title: VNF Identifier Deletion Notification
+    ...    Test objective: The objective is to test the dispatch of VNF Identifier Deletion Notification when a VNF instance resource is deleted in the VNFM, and perform a JSON schema and content validation of the delivered notification
+    ...    Pre-conditions: A VNF instance resource is created, and a subscription for VNF identifier creation notifications is available in the VNFM.
+    ...    Reference:  section 6.4.18.3.1 - SOL003 v2.4.1
     ...    Config ID: Config_prod_VNFM
     ...    Applicability: none
     ...    Post-Conditions: none 
-    Delete notification subscription
-	Check HTTP Response Status Code Is   405
-	
+    Trigger the deletion of a VNF instance resource (external action)
+    Check VNF Identifier Deletion Notification Http POST Request Body Json Schema Is    VnfIdentifierDeletionNotification
+    Check VNF Identifier Deletion Notification Http POST Request Body notificationType attribute Is    VnfIdentifierDeletionNotification
+    
 *** Keywords ***
+Trigger a VNF LCM operation (external action) 
+    #do nothing
+    Log    do nothing
+
+Trigger the completion of an VNF LCM operation (external action)
+    #do nothing
+    Log    do nothing   
+    
+Trigger the creation of a VNF instance resource (external action)
+    #do nothing
+    Log    do nothing     
+  
+Trigger the deletion of a VNF instance resource (external action)
+    #do nothing
+    Log    do nothing     
+    
+Check VNF LCM Operation Occurrence Start Notification Http POST Request Body Json Schema Is  
+    [Arguments]    ${element}
+    ${schema}=	Get File	schemas/${element}.schema.json
+    Configure Notification Forward    ${schema}    ${callback_endpoint}    ${callback_endpoint_fwd}
+
+Check VNF LCM Operation Occurrence Start Notification Http POST Request Body notificationType attribute Is
+    [Arguments]    ${type}
+    Configure Notification VNF LCM Operation Occurrence Start Handler    ${callback_endpoint_fwd}    ${type}    START
+    Wait Until Keyword Succeeds    2 min   10 sec   Verify Mock Expectation    ${notification_request}
+    Clear Requests    ${callback_endpoint}
+    Clear Requests    ${callback_endpoint_fwd}
+    
+Configure Notification VNF LCM Operation Occurrence Start Handler
+    [Arguments]    ${endpoint}    ${type}    ${status}
+    ${json}=    evaluate    {}
+    set to dictionary   ${json}    notificationType    ${type}    changeType    ${status}
+    ${BODY}=    evaluate    json.dumps(${json})    json
+    Log  Creating mock request and response to handle status notification
+    &{notification_request}=  Create Mock Request Matcher	POST  ${endpoint}  body_type="JSON"    body=${BODY}
+    &{notification_response}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
+    Create Mock Expectation  ${notification_request}  ${notification_response}
+
+Check VNF LCM Operation Occurrence Result Notification Http POST Request Body Json Schema Is  
+    [Arguments]    ${element}
+    ${schema}=	Get File	schemas/${element}.schema.json
+    Configure Notification Forward    ${schema}    ${callback_endpoint}    ${callback_endpoint_fwd}
+
+Check VNF LCM Operation Occurrence Result Notification Http POST Request Body notificationType attribute Is
+    [Arguments]    ${type}
+    Configure Notification VNF LCM Operation Occurrence Result Handler    ${callback_endpoint_fwd}    ${type}    RESULT
+    Wait Until Keyword Succeeds    2 min   10 sec   Verify Mock Expectation    ${notification_request}
+    Clear Requests    ${callback_endpoint}
+    Clear Requests    ${callback_endpoint_fwd}
+    
+Configure Notification VNF LCM Operation Occurrence Result Handler
+    [Arguments]    ${endpoint}    ${type}    ${status}
+    ${json}=    evaluate    {}
+    set to dictionary   ${json}    notificationType    ${type}    changeType    ${status}
+    ${BODY}=    evaluate    json.dumps(${json})    json
+    Log  Creating mock request and response to handle status notification
+    &{notification_request}=  Create Mock Request Matcher	POST  ${endpoint}  body_type="JSON"    body=${BODY}
+    &{notification_response}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
+    Create Mock Expectation  ${notification_request}  ${notification_response}
+
+Check VNF Identifier Creation Notification Http POST Request Body Json Schema Is  
+    [Arguments]    ${element}
+    ${schema}=	Get File	schemas/${element}.schema.json
+    Configure Notification Forward    ${schema}    ${callback_endpoint}    ${callback_endpoint_fwd}
+
+Check VNF Identifier Creation Notification Http POST Request Body notificationType attribute Is
+    [Arguments]    ${type}
+    Configure Notification VNF Identifier Creation Handler    ${callback_endpoint_fwd}    ${type}
+    Wait Until Keyword Succeeds    2 min   10 sec   Verify Mock Expectation    ${notification_request}
+    Clear Requests    ${callback_endpoint}
+    Clear Requests    ${callback_endpoint_fwd}
+
+Configure Notification VNF Identifier Creation Handler
+    [Arguments]    ${endpoint}    ${type}
+    ${json}=    evaluate    {}
+    set to dictionary   ${json}    notificationType    ${type}
+    ${BODY}=    evaluate    json.dumps(${json})    json
+    Log  Creating mock request and response to handle status notification
+    &{notification_request}=  Create Mock Request Matcher	POST  ${endpoint}  body_type="JSON"    body=${BODY}
+    &{notification_response}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
+    Create Mock Expectation  ${notification_request}  ${notification_response}
+    
+Check VNF Identifier Deletion Notification Http POST Request Body Json Schema Is  
+    [Arguments]    ${element}
+    ${schema}=	Get File	schemas/${element}.schema.json
+    Configure Notification Forward    ${schema}    ${callback_endpoint}    ${callback_endpoint_fwd}
+
+Check VNF Identifier Deletion Notification Http POST Request Body notificationType attribute Is
+    [Arguments]    ${type}
+    Configure Notification VNF Identifier Deletion Handler    ${callback_endpoint_fwd}    ${type}
+    Wait Until Keyword Succeeds    2 min   10 sec   Verify Mock Expectation    ${notification_request}
+    Clear Requests    ${callback_endpoint}
+    Clear Requests    ${callback_endpoint_fwd}
+
+Configure Notification VNF Identifier Deletion Handler
+    [Arguments]    ${endpoint}    ${type}
+    ${json}=    evaluate    {}
+    set to dictionary   ${json}    notificationType    ${type}
+    ${BODY}=    evaluate    json.dumps(${json})    json
+    Log  Creating mock request and response to handle status notification
+    &{notification_request}=  Create Mock Request Matcher	POST  ${endpoint}  body_type="JSON"    body=${BODY}
+    &{notification_response}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
+    Create Mock Expectation  ${notification_request}  ${notification_response}
+
+Check VNF LCM Operation Occurrence Start Notification Http POST Request Body notificationStatus attribute Is
+    [Arguments]    ${type}
+    #do nothing
+    Log    do nothing
+    
+Check VNF LCM Operation Occurrence Result Notification Http POST Request Body notificationStatus attribute Is
+    [Arguments]    ${type}
+    #do nothing
+    Log    do nothing
+
+Configure Notification Forward
+    [Arguments]    ${schema}    ${endpoint}    ${endpoint_fwd}    
+    Log  Creating mock Http POST forward to handle ${schema}
+    &{notification_tmp}=  Create Mock Request Matcher	POST  ${endpoint}  body_type="JSON_SCHEMA"    body=${schema}
+    &{notification_fwd}=  Create Mock Http Forward	${endpoint_fwd}
+    Create Mock Expectation With Http Forward  ${notification_tmp}  ${notification_fwd}
+
 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}     #The API producer is set to NFVO according to SOL003-5.3.9
+    Create Mock Session  ${callback_uri}:${callback_port}
+
diff --git a/SOL003/VNFLifecycleManagement-API/environment/variables.txt b/SOL003/VNFLifecycleManagement-API/environment/variables.txt
index 82e8f8ad..7d2807f1 100644
--- a/SOL003/VNFLifecycleManagement-API/environment/variables.txt
+++ b/SOL003/VNFLifecycleManagement-API/environment/variables.txt
@@ -2,18 +2,12 @@
 ${vnfInstanceId}       6fc3539c-e602-4afa-8e13-962fb5a7d81f
 ${subscriptionId}    6fc3539c-e602-4afa-8e13-962fb5a7d81f
 ${vnfLcmOpOccId}    6fc3539c-e602-4afa-8e13-962fb5a7d81d
-${callback_endpoint}    /notification
-${callback_endpoint_fwd}    /notification/check
-${callback_port}    9091
-${callback_uri}    http://localhost
 ${conflicVnfInstanceId}    6fc3539c-e602-4afa-8e13-962fb5a7d81f
 
 ${VnfLcmOperationOccurrenceNotification}    {}
 ${VnfIdentifierCreationNotification}    {}
 ${VnfIdentifierDeletionNotification}    {}
 ${response}    {}
-${notification_request}    []
-${notification_response}    []
 ${json}    {}
 ${requestedFlavour}    test
 
@@ -30,9 +24,21 @@ ${vnfInstanceDescription_Update}    Updated description vnf
 ${vnfPkgId_processing}    007c111c-38a1-42c0-a666-7475ecb1567c
 
 ${changeVnfFlavourRequest}    {}
-${requestedFlavour}    test
 ${changeVnfOperateRequest}    {}
 ${requestedState}   test
 ${changeVnfExtConnectivityRequest}    {}
 ${patchBodyRequest}   {}
 
+${callback_uri}    http://localhost
+${callback_port}    9091
+${callback_endpoint}    /endpoint
+${callback_endpoint_fwd}    /endpoint/check
+${callback_endpoint_error}    /endpoint_404
+${sleep_interval}    20s
+${total_polling_time}   2 min
+${polling_interval}     10 sec
+
+${notification_request}    []
+${notification_response}    []
+
+${MOCK_SERVER_JAR}    ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar
diff --git a/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot b/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot
index 4dbcfca9..61fc50ba 100644
--- a/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot
+++ b/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot
@@ -2,84 +2,189 @@
 Suite Setup    Create Sessions
 Suite Teardown    Terminate All Processes    kill=true
 Resource    environment/variables.txt
-Resource   NSLCMOperationKeywords.robot   
 Library    MockServerLibrary
 Library    Process
 Library    OperatingSystem
-
+Library    Collections
 
 *** Test Cases ***
-POST Deliver a notification - Operation Occurence
+NS LCM Operation Occurrence Start Notification
     [Documentation]    Test ID: 5.3.2.17.1
-    ...    Test title: POST Deliver a notification - Operation Occurence
-    ...    Test objective: The objective is to test that POST method trigger a notification about lifecycle changes triggered by a NS LCM operation occurrence
-    ...    Pre-conditions: none
+    ...    Test title: NS LCM Operation Occurrence Start Notification
+    ...    Test objective: The objective is to test the dispatch of NS LCM Operation Occurrence Start Notification when a new NS LCM operation is started in the NFVO, and perform a JSON schema and content validation of the delivered notification
+    ...    Pre-conditions: A subscription for NS LCM Operation Occurrence notifications is available in the NFVO.
     ...    Reference:  section 6.4.18.3.1 - SOL005 v2.4.1
     ...    Config ID: Config_prod_NFVO
     ...    Applicability: none
-    ...    Post-Conditions: none
-    POST Operation occurrence
-POST Deliver a notification - Id Creation
+    ...    Post-Conditions: none 
+    Trigger a NS LCM operation (external action) 
+    Check NS LCM Operation Occurrence Start Notification Http POST Request Body Json Schema Is    NsLcmOperationOccurrenceNotification
+    Check NS LCM Operation Occurrence Start Notification Http POST Request Body notificationType attribute Is    NsLcmOperationOccurrenceNotification
+    Check NS LCM Operation Occurrence Start Notification Http POST Request Body notificationStatus attribute Is    START
+    
+NS LCM Operation Occurrence Result Notification
     [Documentation]    Test ID: 5.3.2.17.2
-    ...    Test title: POST Deliver a notification - Id Creation
-    ...    Test objective: The objective is to test that POST method trigger a notification about the creation of a NS identifier and the related NS instance resource
-    ...    Pre-conditions: none
+    ...    Test title: NS LCM Operation Occurrence Result Notification
+    ...    Test objective: The objective is to test the dispatch of NS LCM Operation Occurrence Result Notification when a NS LCM operation is completed in the NFVO, and perform a JSON schema and content validation of the delivered notification
+    ...    Pre-conditions: An NS LCM operation is in progress, and a subscription for NS LCM Operation Occurrence notifications is available in the NFVO.
     ...    Reference:  section 6.4.18.3.1 - SOL005 v2.4.1
     ...    Config ID: Config_prod_NFVO
     ...    Applicability: none
-    ...    Post-Conditions: none    
-    POST Id creation
-POST Deliver a notification - Id deletion
+    ...    Post-Conditions: none 
+    Trigger the completion of an NS LCM operation (external action)
+    Check NS LCM Operation Occurrence Result Notification Http POST Request Body Json Schema Is    NsLcmOperationOccurrenceNotification
+    Check NS LCM Operation Occurrence Result Notification Http POST Request Body notificationType attribute Is    NsLcmOperationOccurrenceNotification
+    Check NS LCM Operation Occurrence Start Notification Http POST Request Body notificationStatus attribute Is    RESULT
+    
+NS Identifier Creation Notification
     [Documentation]    Test ID: 5.3.2.17.3
-    ...    Test title: POST Deliver a notification - Id deletion
-    ...    Test objective: The objective is to test that POST method trigger a notification about the deletion of a NS identifier and the related NS instance resource
-    ...    Pre-conditions: none
+    ...    Test title: NS Identifier Creation Notification
+    ...    Test objective: The objective is to test the dispatch of NS Identifier Creation Notification when a new NS instance resource is created in the NFVO, and perform a JSON schema and content validation of the delivered notification
+    ...    Pre-conditions: A subscription for NS identifier creation notifications is available in the NFVO.
     ...    Reference:  section 6.4.18.3.1 - SOL005 v2.4.1
     ...    Config ID: Config_prod_NFVO
     ...    Applicability: none
-    ...    Post-Conditions: none    
-    POST Id deletion
-
-GET a notification end point
-    [Documentation]    Test ID: 5.3.2.17.4 
-    ...    Test title: GET a notification end point
-    ...    Test objective: The objective is to test that GET method successfully test the notification endpoint
-    ...    Pre-conditions: none
-    ...    Reference:  section 6.4.18.3.2 - SOL005 v2.4.1
-    ...    Config ID: Config_prod_NFVO
-    ...    Applicability: none
     ...    Post-Conditions: none 
-    GET notification endpoint
-
-PUT notification - Method not implemented
-    [Documentation]    Test ID: 5.3.2.17.5
-    ...    Test title: PUT notification - Method not implemented
-    ...    Test objective: The objective is to test that the PUT method is not implemented
-    ...    Pre-conditions: none
-    ...    Reference:  section 6.4.18.3.3 - SOL005 v2.4.1
+    Trigger the creation of a NS instance resource (external action)
+    Check NS Identifier Creation Notification Http POST Request Body Json Schema Is    NsIdentifierDeletionNotification
+    Check NS Identifier Creation Notification Http POST Request Body notificationType attribute Is    NsIdentifierDeletionNotification
+    
+NS Identifier Deletion Notification
+    [Documentation]    Test ID: 5.3.2.17.4
+    ...    Test title: NS Identifier Deletion Notification
+    ...    Test objective: The objective is to test the dispatch of NS Identifier Deletion Notification when a NS instance resource is deleted in the NFVO, and perform a JSON schema and content validation of the delivered notification
+    ...    Pre-conditions: A NS instance resource is created, and a subscription for NS identifier creation notifications is available in the NFVO.
+    ...    Reference:  section 6.4.18.3.1 - SOL005 v2.4.1
     ...    Config ID: Config_prod_NFVO
     ...    Applicability: none
     ...    Post-Conditions: none 
-    PUT notification
+    Trigger the deletion of a NS instance resource (external action)
+    Check NS Identifier Deletion Notification Http POST Request Body Json Schema Is    NsIdentifierCreationNotification
+    Check NS Identifier Deletion Notification Http POST Request Body notificationType attribute Is    NsIdentifierCreationNotification
+    
+*** Keywords ***
+Trigger a NS LCM operation (external action) 
+    #do nothing
+    Log    do nothing
 
-PATCH subscriptions - Method not implemented
-    [Documentation]    Test ID: 5.3.2.17.6
-    ...    Test title: PATCH subscriptions - Method not implemented
-    ...    Test objective: The objective is to test that the PATCH method is not implemented
-    ...    Pre-conditions: none
-    ...    Reference:  section 6.4.18.3.4 - SOL005 v2.4.1
-    ...    Config ID: Config_prod_NFVO
-    ...    Applicability: none
-    ...    Post-Conditions: none     
-    PATCH subscriptions
+Trigger the completion of an NS LCM operation (external action)
+    #do nothing
+    Log    do nothing   
+    
+Trigger the creation of a NS instance resource (external action)
+    #do nothing
+    Log    do nothing     
+  
+Trigger the deletion of a NS instance resource (external action)
+    #do nothing
+    Log    do nothing     
+    
+Check NS LCM Operation Occurrence Start Notification Http POST Request Body Json Schema Is  
+    [Arguments]    ${element}
+    ${schema}=	Get File	schemas/${element}.schema.json
+    Configure Notification Forward    ${schema}    ${callback_endpoint}    ${callback_endpoint_fwd}
 
-DELETE subscriptions - Method not implemented
-    [Documentation]    Test ID: 5.3.2.17.7
-    ...    Test title: DELETE subscriptions - Method not implemented
-    ...    Test objective: The objective is to test that the DELETE method is not implemented
-    ...    Pre-conditions: none
-    ...    Reference:  section 6.4.18.3.5 - SOL005 v2.4.1
-    ...    Config ID: Config_prod_NFVO
-    ...    Applicability: none
-    ...    Post-Conditions: none 
-    DELETE subscriptions
+Check NS LCM Operation Occurrence Start Notification Http POST Request Body notificationType attribute Is
+    [Arguments]    ${type}
+    Configure Notification NS LCM Operation Occurrence Start Handler    ${callback_endpoint_fwd}    ${type}    START
+    Wait Until Keyword Succeeds    2 min   10 sec   Verify Mock Expectation    ${notification_request}
+    Clear Requests    ${callback_endpoint}
+    Clear Requests    ${callback_endpoint_fwd}
+    
+Configure Notification NS LCM Operation Occurrence Start Handler
+    [Arguments]    ${endpoint}    ${type}    ${status}
+    ${json}=    evaluate    {}
+    set to dictionary   ${json}    notificationType    ${type}    changeType    ${status}
+    ${BODY}=    evaluate    json.dumps(${json})    json
+    Log  Creating mock request and response to handle status notification
+    &{notification_request}=  Create Mock Request Matcher	POST  ${endpoint}  body_type="JSON"    body=${BODY}
+    &{notification_response}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
+    Create Mock Expectation  ${notification_request}  ${notification_response}
+
+Check NS LCM Operation Occurrence Result Notification Http POST Request Body Json Schema Is  
+    [Arguments]    ${element}
+    ${schema}=	Get File	schemas/${element}.schema.json
+    Configure Notification Forward    ${schema}    ${callback_endpoint}    ${callback_endpoint_fwd}
+
+Check NS LCM Operation Occurrence Result Notification Http POST Request Body notificationType attribute Is
+    [Arguments]    ${type}
+    Configure Notification NS LCM Operation Occurrence Result Handler    ${callback_endpoint_fwd}    ${type}    RESULT
+    Wait Until Keyword Succeeds    2 min   10 sec   Verify Mock Expectation    ${notification_request}
+    Clear Requests    ${callback_endpoint}
+    Clear Requests    ${callback_endpoint_fwd}
+    
+Configure Notification NS LCM Operation Occurrence Result Handler
+    [Arguments]    ${endpoint}    ${type}    ${status}
+    ${json}=    evaluate    {}
+    set to dictionary   ${json}    notificationType    ${type}    changeType    ${status}
+    ${BODY}=    evaluate    json.dumps(${json})    json
+    Log  Creating mock request and response to handle status notification
+    &{notification_request}=  Create Mock Request Matcher	POST  ${endpoint}  body_type="JSON"    body=${BODY}
+    &{notification_response}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
+    Create Mock Expectation  ${notification_request}  ${notification_response}
+
+Check NS Identifier Creation Notification Http POST Request Body Json Schema Is  
+    [Arguments]    ${element}
+    ${schema}=	Get File	schemas/${element}.schema.json
+    Configure Notification Forward    ${schema}    ${callback_endpoint}    ${callback_endpoint_fwd}
+
+Check NS Identifier Creation Notification Http POST Request Body notificationType attribute Is
+    [Arguments]    ${type}
+    Configure Notification NS Identifier Creation Handler    ${callback_endpoint_fwd}    ${type}
+    Wait Until Keyword Succeeds    2 min   10 sec   Verify Mock Expectation    ${notification_request}
+    Clear Requests    ${callback_endpoint}
+    Clear Requests    ${callback_endpoint_fwd}
+
+Configure Notification NS Identifier Creation Handler
+    [Arguments]    ${endpoint}    ${type}
+    ${json}=    evaluate    {}
+    set to dictionary   ${json}    notificationType    ${type}
+    ${BODY}=    evaluate    json.dumps(${json})    json
+    Log  Creating mock request and response to handle status notification
+    &{notification_request}=  Create Mock Request Matcher	POST  ${endpoint}  body_type="JSON"    body=${BODY}
+    &{notification_response}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
+    Create Mock Expectation  ${notification_request}  ${notification_response}
+    
+Check NS Identifier Deletion Notification Http POST Request Body Json Schema Is  
+    [Arguments]    ${element}
+    ${schema}=	Get File	schemas/${element}.schema.json
+    Configure Notification Forward    ${schema}    ${callback_endpoint}    ${callback_endpoint_fwd}
+
+Check NS Identifier Deletion Notification Http POST Request Body notificationType attribute Is
+    [Arguments]    ${type}
+    Configure Notification NS Identifier Deletion Handler    ${callback_endpoint_fwd}    ${type}
+    Wait Until Keyword Succeeds    2 min   10 sec   Verify Mock Expectation    ${notification_request}
+    Clear Requests    ${callback_endpoint}
+    Clear Requests    ${callback_endpoint_fwd}
+
+Configure Notification NS Identifier Deletion Handler
+    [Arguments]    ${endpoint}    ${type}
+    ${json}=    evaluate    {}
+    set to dictionary   ${json}    notificationType    ${type}
+    ${BODY}=    evaluate    json.dumps(${json})    json
+    Log  Creating mock request and response to handle status notification
+    &{notification_request}=  Create Mock Request Matcher	POST  ${endpoint}  body_type="JSON"    body=${BODY}
+    &{notification_response}=  Create Mock Response	headers="Content-Type: application/json"  status_code=204
+    Create Mock Expectation  ${notification_request}  ${notification_response}
+
+Check NS LCM Operation Occurrence Start Notification Http POST Request Body notificationStatus attribute Is
+    [Arguments]    ${type}
+    #do nothing
+    Log    do nothing
+    
+Check NS LCM Operation Occurrence Result Notification Http POST Request Body notificationStatus attribute Is
+    [Arguments]    ${type}
+    #do nothing
+    Log    do nothing
+
+Configure Notification Forward
+    [Arguments]    ${schema}    ${endpoint}    ${endpoint_fwd}    
+    Log  Creating mock Http POST forward to handle ${schema}
+    &{notification_tmp}=  Create Mock Request Matcher	POST  ${endpoint}  body_type="JSON_SCHEMA"    body=${schema}
+    &{notification_fwd}=  Create Mock Http Forward	${endpoint_fwd}
+    Create Mock Expectation With Http Forward  ${notification_tmp}  ${notification_fwd}
+
+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}
\ No newline at end of file
diff --git a/SOL005/NSLifecycleManagement-API/environment/variables.txt b/SOL005/NSLifecycleManagement-API/environment/variables.txt
index cd67b817..47a4c646 100644
--- a/SOL005/NSLifecycleManagement-API/environment/variables.txt
+++ b/SOL005/NSLifecycleManagement-API/environment/variables.txt
@@ -39,9 +39,16 @@ ${VnfIdentifierDeletionNotification}    {}
 ${callback_uri}    http://localhost
 ${callback_port}    9091
 ${callback_endpoint}    /endpoint
-${callback_endpoint_fwd}    /notification/check
+${callback_endpoint_fwd}    /endpoint/check
 ${callback_endpoint_error}    /endpoint_404
 ${sleep_interval}    20s
+${total_polling_time}   2 min
+${polling_interval}     10 sec
+
+${notification_request}    []
+${notification_response}    []
+
+${MOCK_SERVER_JAR}    ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar
 
 ${response}    {}
 
-- 
GitLab