Commit 546fb82e authored by Giacomo Bernini's avatar Giacomo Bernini
Browse files

fixed issue #149 on all SOL003ù subscriptions - v2.6.1

parent 3d028d2c
...@@ -5,13 +5,19 @@ Library JSONLibrary ...@@ -5,13 +5,19 @@ Library JSONLibrary
Library JSONSchemaLibrary schemas/ Library JSONSchemaLibrary schemas/
Library OperatingSystem Library OperatingSystem
#Suite Teardown Terminate All Processes kill=true #Suite Teardown Terminate All Processes kill=true
Library Process Library Process
Library MockServerLibrary
Library String
*** Variables *** *** Variables ***
${original_etag} 1234 ${original_etag} 1234
*** Keywords *** *** 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 created Subscription existence Check created Subscription existence
Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
...@@ -261,9 +267,19 @@ POST Subscription ...@@ -261,9 +267,19 @@ POST Subscription
Set Headers {"Content-Type": "${CONTENT_TYPE}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${body}= Get File jsons/fmSubscriptionRequest.json ${body}= Get File jsons/fmSubscriptionRequest.json
${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${body}= Replace String ${body} \${callback_port} ${callback_port}
${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
Log Creating mock request and response to handle GET operation on notification endpoint
&{notification_request}= Create Mock Request Matcher GET ${callback_endpoint}
&{notification_response}= Create Mock Response status_code=204
Log Issue the subscription request
Create Mock Expectation ${notification_request} ${notification_response}
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
${outputResponse}= Output response ${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse} Set Global Variable ${response} ${outputResponse}
Clear Requests ${callback_endpoint}
Send POST Request for duplicated subscription Send POST Request for duplicated subscription
Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions
...@@ -272,9 +288,18 @@ Send POST Request for duplicated subscription ...@@ -272,9 +288,18 @@ Send POST Request for duplicated subscription
Set Headers {"Content-Type": "${CONTENT_TYPE}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${body}= Get File jsons/fmSubscriptionRequest.json ${body}= Get File jsons/fmSubscriptionRequest.json
${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${body}= Replace String ${body} \${callback_port} ${callback_port}
${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
Log Creating mock request and response to handle GET operation on notification endpoint
&{notification_request}= Create Mock Request Matcher GET ${callback_endpoint}
&{notification_response}= Create Mock Response status_code=204
Log Issue the subscription request
Create Mock Expectation ${notification_request} ${notification_response}
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
${outputResponse}= Output response ${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse} Set Global Variable ${response} ${outputResponse}
Clear Requests ${callback_endpoint}
Send POST Request for duplicated subscription not permitted Send POST Request for duplicated subscription not permitted
Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions
...@@ -283,9 +308,18 @@ Send POST Request for duplicated subscription not permitted ...@@ -283,9 +308,18 @@ Send POST Request for duplicated subscription not permitted
Set Headers {"Content-Type": "${CONTENT_TYPE}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${body}= Get File jsons/fmSubscriptionRequest.json ${body}= Get File jsons/fmSubscriptionRequest.json
${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${body}= Replace String ${body} \${callback_port} ${callback_port}
${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
Log Creating mock request and response to handle GET operation on notification endpoint
&{notification_request}= Create Mock Request Matcher GET ${callback_endpoint}
&{notification_response}= Create Mock Response status_code=204
Log Issue the subscription request
Create Mock Expectation ${notification_request} ${notification_response}
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
${outputResponse}= Output response ${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse} Set Global Variable ${response} ${outputResponse}
Clear Requests ${callback_endpoint}
GET Subscriptions GET Subscriptions
Log Get the list of active subscriptions Log Get the list of active subscriptions
......
...@@ -6,6 +6,9 @@ Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=fal ...@@ -6,6 +6,9 @@ Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=fal
Library OperatingSystem Library OperatingSystem
Library JSONLibrary Library JSONLibrary
Library JSONSchemaLibrary schemas/ Library JSONSchemaLibrary schemas/
Library Process
Suite Setup Create Sessions
Suite Teardown Terminate All Processes kill=true
*** Test Cases *** *** Test Cases ***
Create a new Fault Management alarm subscription Create a new Fault Management alarm subscription
......
...@@ -53,3 +53,9 @@ ${invalid_alarm_filter} badFilter ...@@ -53,3 +53,9 @@ ${invalid_alarm_filter} badFilter
${invalidAlarmId} invalidIdAlarm ${invalidAlarmId} invalidIdAlarm
${fields} criteria,objectInstanceIds ${fields} criteria,objectInstanceIds
${callback_endpoint} /notification
${callback_port} 9091
${callback_uri} http://localhost
${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar
...@@ -6,5 +6,5 @@ ...@@ -6,5 +6,5 @@
] ]
} }
}, },
"callbackUri": "http://127.0.0.1/subscribe" "callbackUri": "${callback_uri}:${callback_port}${callback_endpoint}"
} }
\ No newline at end of file
...@@ -105,19 +105,20 @@ Send Post Request for VNF Indicator Subscription ...@@ -105,19 +105,20 @@ Send Post Request for VNF Indicator Subscription
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
${body}= Get File jsons/subscriptions.json ${body}= Get File jsons/subscriptions.json
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${body}= Replace String ${body} \${callback_port} ${callback_port}
${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
Log Creating mock request and response to handle GET operation on notification endpoint
&{notification_request}= Create Mock Request Matcher GET ${callback_endpoint}
&{notification_response}= Create Mock Response status_code=204
Log Issue the subscription request
Create Mock Expectation ${notification_request} ${notification_response}
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Global Variable ${response} ${output}
Run Keyword If ${VNFM_CHECKS_NOTIF_ENDPOINT} == 1 Clear Requests ${callback_endpoint}
... Check Notification Endpoint #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques
# Integer response status 201 #... Check Notification Endpoint
# Log Received 201 Created as expected
# ${headers}= Output response headers
# Should Contain ${headers} Location
# Log Response has header Location
# ${result}= Output response body
# Validate Json VnfIndicatorSubscription.schema.json ${result}
# Log Validation of VnfIndicatorSubscription OK
...@@ -127,17 +128,20 @@ Send Post Request for Duplicated VNF indicator Subscription ...@@ -127,17 +128,20 @@ Send Post Request for Duplicated VNF indicator Subscription
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
${body}= Get File jsons/subscriptions.json ${body}= Get File jsons/subscriptions.json
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${body}= Replace String ${body} \${callback_port} ${callback_port}
${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
Log Creating mock request and response to handle GET operation on notification endpoint
&{notification_request}= Create Mock Request Matcher GET ${callback_endpoint}
&{notification_response}= Create Mock Response status_code=204
Log Issue the subscription request
Create Mock Expectation ${notification_request} ${notification_response}
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Global Variable ${response} ${output}
# Integer response status 201 Clear Requests ${callback_endpoint}
# Log Received 201 Created as expected #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques
# ${headers}= Output response headers #... Check Notification Endpoint
# Should Contain ${headers} Location
# Log Response has header Location
# ${result}= Output response body
# Validate Json VnfIndicatorSubscription.schema.json ${result}
# Log Validation of VnfIndicatorSubscription OK
Send Put Request for VNF Indicator Subscriptions Send Put Request for VNF Indicator Subscriptions
...@@ -555,7 +559,6 @@ Check Postcondition VNF indicator subscription is not created ...@@ -555,7 +559,6 @@ Check Postcondition VNF indicator subscription is not created
Check HTTP Response Status Code Is 404 Check HTTP Response Status Code Is 404
Create Sessions Create Sessions
Pass Execution If ${VNFM_CHECKS_NOTIF_ENDPOINT} == 0 MockServer not necessary to run
Start Process java -jar ${MOCK_SERVER_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 Wait For Process handle=mockInstance timeout=5s on_timeout=continue
Create Mock Session ${callback_uri}:${callback_port} Create Mock Session ${callback_uri}:${callback_port}
......
{ {
"callbackUri": "http://172.22.1.7:9091/vnfind/subscribes" "callbackUri": "${callback_uri}:${callback_port}${callback_endpoint}"
} }
\ No newline at end of file
...@@ -6,7 +6,9 @@ Library OperatingSystem ...@@ -6,7 +6,9 @@ Library OperatingSystem
Library JSONLibrary Library JSONLibrary
Library JSONSchemaLibrary schemas/ Library JSONSchemaLibrary schemas/
Resource VnfLcmMntOperationKeywords.robot Resource VnfLcmMntOperationKeywords.robot
Library Process
Suite Setup Create Sessions
Suite Teardown Terminate All Processes kill=true
*** Test Cases *** *** Test Cases ***
POST Create a new subscription POST Create a new subscription
......
...@@ -9,8 +9,14 @@ Library BuiltIn ...@@ -9,8 +9,14 @@ Library BuiltIn
Library JSONLibrary Library JSONLibrary
Library Collections Library Collections
Library JSONSchemaLibrary schemas/ Library JSONSchemaLibrary schemas/
Library Process
Library String
*** Keywords *** *** 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}
Get Vnf Instance Get Vnf Instance
[Arguments] ${vnfInstanceId} [Arguments] ${vnfInstanceId}
...@@ -1144,9 +1150,19 @@ Post Create subscription ...@@ -1144,9 +1150,19 @@ Post Create subscription
Set Headers {"Content-Type": "${CONTENT_TYPE}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${body}= Get File jsons/lccnSubscriptionRequest.json ${body}= Get File jsons/lccnSubscriptionRequest.json
${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${body}= Replace String ${body} \${callback_port} ${callback_port}
${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
Log Creating mock request and response to handle GET operation on notification endpoint
&{notification_request}= Create Mock Request Matcher GET ${callback_endpoint}
&{notification_response}= Create Mock Response status_code=204
Log Issue the subscription request
Create Mock Expectation ${notification_request} ${notification_response}
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
${outputResponse}= Output response ${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse} Set Global Variable ${response} ${outputResponse}
Clear Requests ${callback_endpoint}
Post Create subscription - DUPLICATION Post Create subscription - DUPLICATION
Log Trying to create a subscription with an already created content Log Trying to create a subscription with an already created content
Pass Execution If ${VNFM_DUPLICATION} == 0 VNFM is not permitting duplication. Skipping the test Pass Execution If ${VNFM_DUPLICATION} == 0 VNFM is not permitting duplication. Skipping the test
...@@ -1154,9 +1170,19 @@ Post Create subscription - DUPLICATION ...@@ -1154,9 +1170,19 @@ Post Create subscription - DUPLICATION
Set Headers {"Content-Type": "${CONTENT_TYPE}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${body}= Get File jsons/lccnSubscriptionRequest.json ${body}= Get File jsons/lccnSubscriptionRequest.json
${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${body}= Replace String ${body} \${callback_port} ${callback_port}
${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
Log Creating mock request and response to handle GET operation on notification endpoint
&{notification_request}= Create Mock Request Matcher GET ${callback_endpoint}
&{notification_response}= Create Mock Response status_code=204
Log Issue the subscription request
Create Mock Expectation ${notification_request} ${notification_response}
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
${outputResponse}= Output response ${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse} Set Global Variable ${response} ${outputResponse}
Clear Requests ${callback_endpoint}
Post Create subscription - NO-DUPLICATION Post Create subscription - NO-DUPLICATION
Log Trying to create a subscription with an already created content Log Trying to create a subscription with an already created content
Pass Execution If ${VNFM_DUPLICATION} == 1 VNFM permits duplication. Skipping the test Pass Execution If ${VNFM_DUPLICATION} == 1 VNFM permits duplication. Skipping the test
...@@ -1164,9 +1190,19 @@ Post Create subscription - NO-DUPLICATION ...@@ -1164,9 +1190,19 @@ Post Create subscription - NO-DUPLICATION
Set Headers {"Content-Type": "${CONTENT_TYPE}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${body}= Get File jsons/lccnSubscriptionRequest.json ${body}= Get File jsons/lccnSubscriptionRequest.json
${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${body}= Replace String ${body} \${callback_port} ${callback_port}
${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
Log Creating mock request and response to handle GET operation on notification endpoint
&{notification_request}= Create Mock Request Matcher GET ${callback_endpoint}
&{notification_response}= Create Mock Response status_code=204
Log Issue the subscription request
Create Mock Expectation ${notification_request} ${notification_response}
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
${outputResponse}= Output response ${outputResponse}= Output response
Set Global Variable ${response} ${outputResponse} Set Global Variable ${response} ${outputResponse}
Clear Requests ${callback_endpoint}
Get subscriptions Get subscriptions
Log Get the list of active subscriptions Log Get the list of active subscriptions
Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Accept":"${ACCEPT}"}
......
...@@ -6,5 +6,5 @@ ...@@ -6,5 +6,5 @@
] ]
} }
}, },
"callbackUri": "http://localhost:9091/notification" "callbackUri": "${callback_uri}:${callback_port}${callback_endpoint}"
} }
...@@ -389,11 +389,20 @@ Send Post Request for VNF Package Subscription ...@@ -389,11 +389,20 @@ Send Post Request for VNF Package Subscription
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
${body}= Get File jsons/subscriptions.json ${body}= Get File jsons/subscriptions.json
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${body}= Replace String ${body} \${callback_port} ${callback_port}
${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
Log Creating mock request and response to handle GET operation on notification endpoint
&{notification_request}= Create Mock Request Matcher GET ${callback_endpoint}
&{notification_response}= Create Mock Response status_code=204
Log Issue the subscription request
Create Mock Expectation ${notification_request} ${notification_response}
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Global Variable ${response} ${output}
Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 Clear Requests ${callback_endpoint}
... Check Notification Endpoint #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques
#... Check Notification Endpoint
Send Post Request for Duplicated VNF Package Subscription Send Post Request for Duplicated VNF Package Subscription
Log Trying to create a subscription with an already created content Log Trying to create a subscription with an already created content
...@@ -401,9 +410,20 @@ Send Post Request for Duplicated VNF Package Subscription ...@@ -401,9 +410,20 @@ Send Post Request for Duplicated VNF Package Subscription
Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
${body}= Get File jsons/subscriptions.json ${body}= Get File jsons/subscriptions.json
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${body}= Replace String ${body} \${callback_port} ${callback_port}
${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
Log Creating mock request and response to handle GET operation on notification endpoint
&{notification_request}= Create Mock Request Matcher GET ${callback_endpoint}
&{notification_response}= Create Mock Response status_code=204
Log Issue the subscription request
Create Mock Expectation ${notification_request} ${notification_response}
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Global Variable ${response} ${output}
Clear Requests ${callback_endpoint}
#Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques
#... Check Notification Endpoint
Send Put Request for VNF Package Subscriptions Send Put Request for VNF Package Subscriptions
Log Trying to perform a PUT. This method should not be implemented Log Trying to perform a PUT. This method should not be implemented
...@@ -773,7 +793,6 @@ Check HTTP Response Body Subscription Identifier matches the requested Subscript ...@@ -773,7 +793,6 @@ Check HTTP Response Body Subscription Identifier matches the requested Subscript
Log Subscription identifier as expected Log Subscription identifier as expected
Create Sessions Create Sessions
Pass Execution If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 0 MockServer not started as NFVO is not checking the notification endpoint
Start Process java -jar ${MOCK_SERVER_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 Wait For Process handle=mockInstance timeout=5s on_timeout=continue
Create Mock Session ${callback_uri}:${callback_port} Create Mock Session ${callback_uri}:${callback_port}
......
{ {
"callbackUri": "http://172.22.1.7:9091/vnfpkgm/subscriptions" "callbackUri": "${callback_uri}:${callback_port}${callback_endpoint}"
} }
\ No newline at end of file
...@@ -10,6 +10,7 @@ Library JSONLibrary ...@@ -10,6 +10,7 @@ Library JSONLibrary
Library Collections Library Collections
Library JSONSchemaLibrary schemas/ Library JSONSchemaLibrary schemas/
Library Process Library Process
Library String
*** Keywords *** *** Keywords ***
Get all VNF Performance Subscriptions Get all VNF Performance Subscriptions
...@@ -104,22 +105,21 @@ Send Post Request for VNF Performance Subscription ...@@ -104,22 +105,21 @@ Send Post Request for VNF Performance Subscription
Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Set headers {"Accept": "${ACCEPT_JSON}"} Set headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${body_request}= Get File jsons/subscriptions.json ${body}= Get File jsons/subscriptions.json
POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body_request} ${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${body}= Replace String ${body} \${callback_port} ${callback_port}
${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
Log Creating mock request and response to handle GET operation on notification endpoint
&{notification_request}= Create Mock Request Matcher GET ${callback_endpoint}
&{notification_response}= Create Mock Response status_code=204
Log Issue the subscription request
Create Mock Expectation ${notification_request} ${notification_response}
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Global Variable ${response} ${output}
Run Keyword If ${VNFM_CHECKS_NOTIF_ENDPOINT} == 1 Clear Requests ${callback_endpoint}
... Check Notification Endpoint #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques
# Integer response status 201 #... Check Notification Endpoint
# Log Received a 201 Created as expected
# ${contentType}= Output response headers Content-Type
# Should Contain ${contentType} application/json
# ${result}= Output response body
# Validate Json PmSubscription.schema.json ${result}
# Log Validated PmSubscription schema
# Log Trying to validate the Location header
# ${headers}= Output response headers
# Should Contain ${headers} Location
Send Post Request for Duplicated VNF Performance Subscription Send Post Request for Duplicated VNF Performance Subscription
...@@ -135,20 +135,21 @@ Send Post Request for Duplicated VNF Performance Subscription ...@@ -135,20 +135,21 @@ Send Post Request for Duplicated VNF Performance Subscription
Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"}
Set headers {"Accept": "${ACCEPT_JSON}"} Set headers {"Accept": "${ACCEPT_JSON}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"}
${body_request}= Get File jsons/subscriptions.json ${body}= Get File jsons/subscriptions.json
POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body_request} ${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${body}= Replace String ${body} \${callback_port} ${callback_port}
${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
Log Creating mock request and response to handle GET operation on notification endpoint
&{notification_request}= Create Mock Request Matcher GET ${callback_endpoint}
&{notification_response}= Create Mock Response status_code=204
Log Issue the subscription request
Create Mock Expectation ${notification_request} ${notification_response}
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
${output}= Output response ${output}= Output response
Set Suite Variable ${response} ${output} Set Global Variable ${response} ${output}
# Integer response status 303 Clear Requests ${callback_endpoint}
# Log Received a 303 See other as expected #Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 #removed as the check of notif endpoint is done by NFVO while processing subscription reques
# ${contentType}= Output response headers Content-Type #... Check Notification Endpoint
# Should Contain ${contentType} application/json
# ${result}= Output response body
# Should Be Empty ${result}
# Log Body is empty
# Log Trying to validate the Location header
# ${headers}= Output response headers
# Should Contain ${headers} Location
......
{ {
"callbackUri": "http://172.22.1.7:9091/vnfpm/subscriptions", "callbackUri": "${callback_uri}:${callback_port}${callback_endpoint}",
"filter": { "filter": {
"notificationTypes": ["ThresholdCrossedNotification"] "notificationTypes": ["ThresholdCrossedNotification"]
} }
......
...@@ -75,9 +75,3 @@ DELETE subscriptions - Method not implemented ...@@ -75,9 +75,3 @@ DELETE subscriptions - Method not implemented
Log Cleaning the endpoint Log Cleaning the endpoint
Clear Requests ${callback_endpoint} Clear Requests ${callback_endpoint}