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
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${outputResponse}= Output response ${body}= Replace String ${body} \${callback_port} ${callback_port}
Set Global Variable ${response} ${outputResponse} ${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}
${outputResponse}= Output response
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
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${outputResponse}= Output response ${body}= Replace String ${body} \${callback_port} ${callback_port}
Set Global Variable ${response} ${outputResponse} ${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}
${outputResponse}= Output response
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
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${outputResponse}= Output response ${body}= Replace String ${body} \${callback_port} ${callback_port}
Set Global Variable ${response} ${outputResponse} ${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}
${outputResponse}= Output response
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}
${output}= Output response ${body}= Replace String ${body} \${callback_port} ${callback_port}
Set Suite Variable ${response} ${output} ${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
Run Keyword If ${VNFM_CHECKS_NOTIF_ENDPOINT} == 1 Log Creating mock request and response to handle GET operation on notification endpoint
... Check Notification Endpoint &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint}
# Integer response status 201 &{notification_response}= Create Mock Response status_code=204
# Log Received 201 Created as expected Log Issue the subscription request
# ${headers}= Output response headers Create Mock Expectation ${notification_request} ${notification_response}
# Should Contain ${headers} Location Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
# Log Response has header Location ${output}= Output response
# ${result}= Output response body Set Global Variable ${response} ${output}
# Validate Json VnfIndicatorSubscription.schema.json ${result} Clear Requests ${callback_endpoint}
# Log Validation of VnfIndicatorSubscription OK #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
...@@ -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}
${output}= Output response ${body}= Replace String ${body} \${callback_port} ${callback_port}
Set Suite Variable ${response} ${output} ${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
# Integer response status 201 Log Creating mock request and response to handle GET operation on notification endpoint
# Log Received 201 Created as expected &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint}
# ${headers}= Output response headers &{notification_response}= Create Mock Response status_code=204
# Should Contain ${headers} Location Log Issue the subscription request
# Log Response has header Location Create Mock Expectation ${notification_request} ${notification_response}
# ${result}= Output response body Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
# Validate Json VnfIndicatorSubscription.schema.json ${result} ${output}= Output response
# Log Validation of VnfIndicatorSubscription OK 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 Indicator Subscriptions Send Put Request for VNF Indicator Subscriptions
...@@ -554,8 +558,7 @@ Check Postcondition VNF indicator subscription is not created ...@@ -554,8 +558,7 @@ Check Postcondition VNF indicator subscription is not created
GET Individual VNF Indicator Subscription with invalid resource identifier GET Individual VNF Indicator Subscription with invalid resource identifier
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
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${outputResponse}= Output response ${body}= Replace String ${body} \${callback_port} ${callback_port}
Set Global Variable ${response} ${outputResponse} ${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}
${outputResponse}= Output response
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
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${outputResponse}= Output response ${body}= Replace String ${body} \${callback_port} ${callback_port}
Set Global Variable ${response} ${outputResponse} ${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}
${outputResponse}= Output response
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
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${body}= Replace String ${body} \${callback_uri} ${callback_uri}
${outputResponse}= Output response ${body}= Replace String ${body} \${callback_port} ${callback_port}
Set Global Variable ${response} ${outputResponse} ${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}
${outputResponse}= Output response
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}
${output}= Output response ${body}= Replace String ${body} \${callback_port} ${callback_port}
Set Suite Variable ${response} ${output} ${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 Log Creating mock request and response to handle GET operation on notification endpoint
... Check 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
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 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}
${output}= Output response ${body}= Replace String ${body} \${callback_port} ${callback_port}
Set Suite Variable ${response} ${output} ${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
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
...@@ -9,7 +9,8 @@ Library BuiltIn ...@@ -9,7 +9,8 @@ Library BuiltIn
Library JSONLibrary 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}
${output}= Output response ${body}= Replace String ${body} \${callback_port} ${callback_port}
Set Suite Variable ${response} ${output} ${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
Run Keyword If ${VNFM_CHECKS_NOTIF_ENDPOINT} == 1 Log Creating mock request and response to handle GET operation on notification endpoint
... Check Notification Endpoint &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint}
# Integer response status 201 &{notification_response}= Create Mock Response status_code=204
# Log Received a 201 Created as expected Log Issue the subscription request
# ${contentType}= Output response headers Content-Type Create Mock Expectation ${notification_request} ${notification_response}
# Should Contain ${contentType} application/json Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
# ${result}= Output response body ${output}= Output response
# Validate Json PmSubscription.schema.json ${result} Set Global Variable ${response} ${output}
# Log Validated PmSubscription schema Clear Requests ${callback_endpoint}
# Log Trying to validate the Location header #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
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}
${output}= Output response ${body}= Replace String ${body} \${callback_port} ${callback_port}
Set Suite Variable ${response} ${output} ${body}= Replace String ${body} \${callback_endpoint} ${callback_endpoint}
# Integer response status 303 Log Creating mock request and response to handle GET operation on notification endpoint
# Log Received a 303 See other as expected &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint}
# ${contentType}= Output response headers Content-Type &{notification_response}= Create Mock Response status_code=204
# Should Contain ${contentType} application/json Log Issue the subscription request
# ${result}= Output response body Create Mock Expectation ${notification_request} ${notification_response}
# Should Be Empty ${result} Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
# Log Body is empty ${output}= Output response
# Log Trying to validate the Location header Set Global Variable ${response} ${output}
# ${headers}= Output response headers Clear Requests ${callback_endpoint}
# Should Contain ${headers} Location #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
......
{ {
"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}