diff --git a/SOL002/VNFIndicator-API/Subscriptions.robot b/SOL002/VNFIndicator-API/Subscriptions.robot index 5fcf4a6838b338d974759081bff0af276c2bed3f..e46abfd3d374547d49d9bc11b20ce8c77e1d65be 100644 --- a/SOL002/VNFIndicator-API/Subscriptions.robot +++ b/SOL002/VNFIndicator-API/Subscriptions.robot @@ -4,7 +4,11 @@ Resource environment/variables.txt # Generic Parameters Resource environment/subscriptions.txt Library OperatingSystem Library JSONLibrary -Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} +Library Process +Library MockServerLibrary +Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true *** Test Cases *** GET VNF Indicators Subscriptions @@ -151,7 +155,9 @@ Send Post Request for VNF Indicator Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} ${output}= Output response - Set Suite Variable ${response} ${output} + Set Suite Variable ${response} ${output} + Run Keyword If ${VNFM_CHECKS_NOTIF_ENDPOINT} == 1 + ... Check Notification Endpoint Send Put Request for VNF Indicator Subscriptions Log Trying to create a new subscription @@ -215,3 +221,17 @@ Check Postcondition VNF Indicator Subscription Is Set Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Indicators according to filter #todo + + +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 + Wait For Process handle=mockInstance timeout=5s on_timeout=continue + Create Mock Session ${callback_uri}:${callback_port} + +Check Notification Endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response headers="Content-Type: application/json" status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/environment/subscriptions.txt b/SOL002/VNFIndicator-API/environment/subscriptions.txt index 24a86046f867c1c5c6750b8f5337eaf4e80a3c9d..401b374f6fa4c64f5dbac76b67ed2a7d5f3741d1 100644 --- a/SOL002/VNFIndicator-API/environment/subscriptions.txt +++ b/SOL002/VNFIndicator-API/environment/subscriptions.txt @@ -5,3 +5,5 @@ ${erroneousIndicatorId} erroneousIndicatorId ${POS_FILTER} callbackUri=http://127.0.0.1/subscribe ${NEG_FILTER} callback=http://127.0.0.1/subscribe ${response}= httpresponse +${total_polling_time} 2 min +${polling_interval} 10 sec diff --git a/SOL002/VNFIndicator-API/environment/variables.txt b/SOL002/VNFIndicator-API/environment/variables.txt index f9328b3c339d0ec06bb80528e3e471e4177a9d8f..8c323fcab26fba81c930037c0ddcdb32ff039333 100644 --- a/SOL002/VNFIndicator-API/environment/variables.txt +++ b/SOL002/VNFIndicator-API/environment/variables.txt @@ -14,3 +14,12 @@ ${AUTH_USAGE} 1 ${apiRoot} / ${apiVersion} v1 ${apiName} vnfind + + +${VNFM_CHECKS_NOTIF_ENDPOINT} 0 + +${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar +${callback_uri} http://localhost +${callback_port} 9091 +${callback_endpoint} /endpoint +${callback_endpoint_error} /endpoint_404 \ No newline at end of file diff --git a/SOL002/VNFPerformanceManagement-API/Subscriptions.robot b/SOL002/VNFPerformanceManagement-API/Subscriptions.robot index 9eb052c9c19a7f827d4f0649069b2d627ca80416..ecf9cd79223ff407617b0ba8ee034cc8478aafc1 100644 --- a/SOL002/VNFPerformanceManagement-API/Subscriptions.robot +++ b/SOL002/VNFPerformanceManagement-API/Subscriptions.robot @@ -1,7 +1,7 @@ *** Settings *** Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters -Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library JSONLibrary Resource VNFPerformanceManagementKeywords.robot diff --git a/SOL003/VNFPackageManagement-API/Subscriptions.robot b/SOL003/VNFPackageManagement-API/Subscriptions.robot index 58f897536b42b290275fd815a93e27d8d1f2806c..11aead93359efcb205171ad1fd2b9cdf47d369d7 100644 --- a/SOL003/VNFPackageManagement-API/Subscriptions.robot +++ b/SOL003/VNFPackageManagement-API/Subscriptions.robot @@ -44,6 +44,7 @@ Create new VNF Package subscription Create duplicated VNF Package subscription with duplication handler + [Tags] no-duplicated-subs Send Post Request for Duplicated VNF Package Subscription Check HTTP Response Status Code Is 303 Check HTTP Response Body Is Empty @@ -52,6 +53,7 @@ Create duplicated VNF Package subscription with duplication handler Create duplicated VNF Package subscription without duplication handler + [Tags] duplicated-subs Send Post Request for Duplicated VNF Package Subscription Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is PmSubscription diff --git a/SOL005/VNFPackageManagement-API/Subscriptions.robot b/SOL005/VNFPackageManagement-API/Subscriptions.robot index cd61ac93acf59dfe2ef7a682505e05b6e8c50e55..0a3e5744588581ba136f70c2409fb22735401cd3 100644 --- a/SOL005/VNFPackageManagement-API/Subscriptions.robot +++ b/SOL005/VNFPackageManagement-API/Subscriptions.robot @@ -2,135 +2,79 @@ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Resource environment/subscriptions.txt +Resource VNFPackageManagementKeywords.robot Library OperatingSystem Library JSONLibrary -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library MockServerLibrary +Library Process +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true *** Test Cases *** -GET Subscription - Log Trying to get the list of subscriptions - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions - Integer response status 200 - Log Received a 200 OK as expected - ${contentType}= Output response headers Content-Type - Should Contain ${contentType} ${CONTENT_TYPE_JSON} - ${result}= Output response body - Validate Json PkgmSubscriptions.schema.json ${result} - Log Validated PkgmSubscription schema - -GET Subscription - Filter - Log Trying to get the list of subscriptions using filters - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${filter_ok} - Integer response status 200 - Log Received a 200 OK as expected - ${contentType}= Output response headers Content-Type - Should Contain ${contentType} ${CONTENT_TYPE_JSON} - ${result}= Output response body - Validate Json PkgmSubscriptions.schema.json ${result} - Log Validated PkgmSubscription schema - -GET Subscription - Negative Filter - Log Trying to get the list of subscriptions using filters with wrong attribute name - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${filter_ko} - Integer response status 400 - Log Received a 400 Bad Request as expected - ${contentType}= Output response headers Content-Type - Should Contain ${contentType} ${CONTENT_TYPE_JSON} - Log Trying to validate ProblemDetails - ${problemDetails}= Output response body - Validate Json ProblemDetails.schema.json ${problemDetails} - Log Validation OK - -GET Subscription - Negative (Not Found) - Log Trying to perform a request on a Uri which doesn't exist - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiVersion}/subscription - Integer response status 404 - Log Received 404 Not Found as expected - ${contentType}= Output response headers Content-Type - Should Contain ${contentType} ${CONTENT_TYPE_JSON} - Log Trying to validate ProblemDetails - ${problemDetails}= Output response body - Validate Json ProblemDetails.schema.json ${problemDetails} - Log Validation OK - -POST Subscription - Log Trying to create a new subscription - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - ${body}= Get File jsons/subscriptions.json - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} - Integer response status 201 - 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 PkgmSubscription.schema.json ${result} - Log Validation of PkgmSubscription OK - -POST Subscription - DUPLICATION - Log Trying to create a subscription with an already created content - Pass Execution If ${NFVO_DUPLICATION} == 0 NFVO is not permitting duplication. Skipping the test - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - ${body}= Get File jsons/subscriptions.json - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} - Integer response status 201 - 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 PkgmSubscription.schema.json ${result} - Log Validation of PkgmSubscription OK - -POST Subscription - NO DUPLICATION - Log Trying to create a subscription with an already created content - Pass Execution If ${NFVO_DUPLICATION} == 1 NFVO is permitting duplication. Skipping the test - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - ${body}= Get File jsons/subscriptions.json - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} - Integer response status 303 - Log Received 303 See Other as expected - ${headers}= Output response headers - Should Contain ${headers} Location - Log Response header contains Location - -PUT Subscription - (Method not implemented) - Pass Execution If ${testOptionalMethods} == 0 optional methods are not implemented on the FUT. Skipping test. - Log Trying to perform a PUT. This method should not be implemented - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - PUT ${apiRoot}/${apiName}/${apiVersion}/subscriptions - Integer response status 405 - Log Received 405 Method not implemented as expected - -PATCH Subscription - (Method not implemented) - Pass Execution If ${testOptionalMethods} == 0 optional methods are not implemented on the FUT. Skipping test. - Log Trying to perform a PATCH. This method should not be implemented - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - PATCH ${apiRoot}/${apiName}/${apiVersion}/subscriptions - Integer response status 405 - Log Received 405 Method not implemented as expected - -DELETE Subscription - (Method not implemented) - Pass Execution If ${testOptionalMethods} == 0 optional methods are not implemented on the FUT. Skipping test. - Log Trying to perform a DELETE. This method should not be implemented - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiVersion}/subscriptions - Integer response status 405 - Log Received 405 Method not implemented as expected +Get All VNF Package Subscriptions + Get all VNF Package Subscriptions + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PkgmSubscriptions + + +Get VNF Package Subscriptions with attribute-based filter + Get VNF Package Subscriptions with attribute-based filters + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PkgmSubscriptions + Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter + + +Get VNF Package Subscriptions with invalid attribute-based filter + Get VNF Package Subscriptions with invalid attribute-based filters + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET VNF Package Subscription with invalid resource endpoint + Get VNF Package Subscriptions with invalid resource endpoint + Check HTTP Response Status Code Is 404 + + +Create new VNF Package subscription + Send Post Request for VNF Package Subscription + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is PkgmSubscription + Check HTTP Response Body Matches the Subscription + Check Postcondition VNF Package Subscription Is Set + + +Create duplicated VNF Package subscription with duplication handler + [Tags] no-duplicated-subs + Send Post Request for Duplicated VNF Package Subscription + Check HTTP Response Status Code Is 303 + Check HTTP Response Body Is Empty + Check HTTP Response Header Contains Location + Check Postcondition VNF Package Subscription Is Set Location + + +Create duplicated VNF Package subscription without duplication handler + [Tags] duplicated-subs + Send Post Request for Duplicated VNF Package Subscription + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is PmSubscription + Check HTTP Response Body Matches the Subscription + Check Postcondition VNF Package Subscription Is Set + + + +PUT VNF Package Subscriptions - Method not implemented + Send Put Request for VNF Package Subscriptions + Check HTTP Response Status Code Is 405 + + +PATCH VNF Package Subscriptions - Method not implemented + Send Patch Request for VNF Package Subscriptions + Check HTTP Response Status Code Is 405 + + +DELETE VNF Package Subscriptions - Method not implemented + Send Delete Request for VNF Package Subscriptions + Check HTTP Response Status Code Is 405 + + + diff --git a/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot b/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot new file mode 100644 index 0000000000000000000000000000000000000000..309dd8b8ab175f6020d02491efce1a30b4fbeadb --- /dev/null +++ b/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot @@ -0,0 +1,214 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt # Generic Parameters +Resource environment/subscriptions.txt +Library OperatingSystem +Library JSONLibrary +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library Process +Library MockServerLibrary + + +*** Keywords *** +Get all VNF Package Subscriptions + Log Trying to get the list of subscriptions + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions + ${output}= Output response + Set Suite Variable ${response} ${output} + # Integer response status 200 + # Log Received a 200 OK as expected + # ${contentType}= Output response headers Content-Type + # Should Contain ${contentType} ${CONTENT_TYPE_JSON} + # ${result}= Output response body + # Validate Json PkgmSubscriptions.schema.json ${result} + # Log Validated PkgmSubscription schema + +Get VNF Package Subscriptions with attribute-based filters + Log Trying to get the list of subscriptions using filters + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${filter_ok} + # Integer response status 200 + # Log Received a 200 OK as expected + # ${contentType}= Output response headers Content-Type + # Should Contain ${contentType} ${CONTENT_TYPE_JSON} + # ${result}= Output response body + # Validate Json PkgmSubscriptions.schema.json ${result} + # Log Validated PkgmSubscription schema + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Get VNF Package Subscriptions with invalid attribute-based filters + Log Trying to get the list of subscriptions using filters with wrong attribute name + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${filter_ko} + ${output}= Output response + Set Suite Variable ${response} ${output} + # Integer response status 400 + # Log Received a 400 Bad Request as expected + # ${contentType}= Output response headers Content-Type + # Should Contain ${contentType} ${CONTENT_TYPE_JSON} + # Log Trying to validate ProblemDetails + # ${problemDetails}= Output response body + # Validate Json ProblemDetails.schema.json ${problemDetails} + # Log Validation OK + + +Get VNF Package Subscriptions with invalid resource endpoint + Log Trying to perform a request on a Uri which doesn't exist + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscription + ${output}= Output response + Set Suite Variable ${response} ${output} + # Integer response status 404 + # Log Received 404 Not Found as expected + # ${contentType}= Output response headers Content-Type + # Should Contain ${contentType} ${CONTENT_TYPE_JSON} + # Log Trying to validate ProblemDetails + # ${problemDetails}= Output response body + # Validate Json ProblemDetails.schema.json ${problemDetails} + # Log Validation OK + +Send Post Request for VNF Package Subscription + Log Trying to create a new subscription + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${body}= Get File jsons/subscriptions.json + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 + ... Check Notification Endpoint + # Integer response status 201 + # 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 PkgmSubscription.schema.json ${result} + # Log Validation of PkgmSubscription OK + +Send Post Request for Duplicated VNF Package Subscription + Log Trying to create a subscription with an already created content + Pass Execution If ${NFVO_DUPLICATION} == 0 NFVO is not permitting duplication. Skipping the test + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${body}= Get File jsons/subscriptions.json + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + Run Keyword If ${NFVO_CHECKS_NOTIF_ENDPOINT} == 1 + ... Check Notification Endpoint + # Integer response status 201 + # 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 PkgmSubscription.schema.json ${result} + # Log Validation of PkgmSubscription OK + + +Send Put Request for VNF Package Subscriptions + Pass Execution If ${testOptionalMethods} == 0 optional methods are not implemented on the FUT. Skipping test. + Log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PUT ${apiRoot}/${apiName}/${apiVersion}/subscriptions + ${output}= Output response + Set Suite Variable ${response} ${output} + # Integer response status 405 + # Log Received 405 Method not implemented as expected + +Send Patch Request for VNF Package Subscriptions + Pass Execution If ${testOptionalMethods} == 0 optional methods are not implemented on the FUT. Skipping test. + Log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiVersion}/subscriptions + ${output}= Output response + Set Suite Variable ${response} ${output} + # Integer response status 405 + # Log Received 405 Method not implemented as expected + +Send Delete Request for VNF Package Subscriptions + Pass Execution If ${testOptionalMethods} == 0 optional methods are not implemented on the FUT. Skipping test. + Log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiVersion}/subscriptions + ${output}= Output response + Set Suite Variable ${response} ${output} + # Integer response status 405 + # Log Received 405 Method not implemented as expected + + +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 + Wait For Process handle=mockInstance timeout=5s on_timeout=continue + Create Mock Session ${callback_uri}:${callback_port} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal ${response['status']} ${expected_status} + Log Status code validated + + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + Should Contain ${response['headers']['Content-Type']} application/json + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK + + +Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter + Log Check Response includes VNF Package Management according to filter + #TODO + + +Check Notification Endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response headers="Content-Type: application/json" status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + + +Check HTTP Response Body Matches the Subscription + Log Check Response matches subscription + ${body}= Get File jsons/subscriptions.json + ${subscription}= evaluate json.loads('''${body}''') json + Should Be Equal ${response['body']['callbackUri']} ${subscription['callbackUri']} + + +Check Postcondition VNF Package Subscription Is Set + [Arguments] ${location}="" + Log Check Postcondition subscription exist + Log Trying to get the subscription + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + Run Keyword If Should Not Be Equal As Strings ${location} Location GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${response['body']['id']} + Run Keyword If Should Be Equal As Strings ${location} Location GET ${response['headers']['Location']} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 + + +Check HTTP Response Body Is Empty + Should Be Empty ${response['body']} + Log No json schema is provided. Validation OK + + +Check HTTP Response Header Contains + [Arguments] ${CONTENT_TYPE} + Should Contain ${response.headers} ${CONTENT_TYPE} + Log Header is present \ No newline at end of file diff --git a/SOL005/VNFPackageManagement-API/environment/variables.txt b/SOL005/VNFPackageManagement-API/environment/variables.txt index 5116423dec7aa95c99c790411225736d9137d579..31153eecbb736c24d98b685f9536e37aa9b26464 100644 --- a/SOL005/VNFPackageManagement-API/environment/variables.txt +++ b/SOL005/VNFPackageManagement-API/environment/variables.txt @@ -25,4 +25,10 @@ ${callback_uri} http://localhost ${callback_port} 9091 ${callback_endpoint} /endpoint ${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 + +${NFVO_CHECKS_NOTIF_ENDPOINT} 1 + +${response}