From 6362252fa4569331f29ae42dee7171931c32488d Mon Sep 17 00:00:00 2001 From: Giacomo Bernini <g.bernini@nextworks.it> Date: Fri, 5 Apr 2019 19:48:16 +0200 Subject: [PATCH] Added test descriptions for SOL002 VNF PM individual reports and Thresholds --- .../IndividualReport.robot | 202 ++++++++++---- .../Thresholds.robot | 258 +++++++++++++----- .../environment/reports.txt | 3 + .../environment/thresholds.txt | 1 + 4 files changed, 342 insertions(+), 122 deletions(-) diff --git a/SOL002/VNFPerformanceManagement-API/IndividualReport.robot b/SOL002/VNFPerformanceManagement-API/IndividualReport.robot index 9de659ad..d042375b 100644 --- a/SOL002/VNFPerformanceManagement-API/IndividualReport.robot +++ b/SOL002/VNFPerformanceManagement-API/IndividualReport.robot @@ -1,10 +1,4 @@ *** Settings *** -Documentation This resource represents an individual performance report that was collected by a PM job. The client can use this -... resource to read the performance report. The URI of this report can be obtained from a -... PerformanceInformationAvailableNotification (see clause 6.5.2.5) or from the representation of the "Individual PM job" -... resource. -... It is determined by means outside the scope of the present document, such as configuration or policy, how long an -... individual performance report is available. Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Resource environment/reports.txt @@ -12,62 +6,170 @@ Library JSONLibrary Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} *** Test Cases *** -GET Report on Single PM Job - [Documentation] The client can use this method for reading an individual performance report. - ... This method shall follow the provisions specified in the tables 6.4.4.3.2-1 and 6.4.4.3.2-2 for URI query parameters, - ... request and response data structures, and response codes. +Get Individual Performance Report + [Documentation] Test ID: 6.3.3.3.1 + ... Test title: Get Individual Performance Report + ... Test objective: The objective is to test the retrieval of an individual VNF performance report associated to a monitoring job and perform a JSON schema validation of the collected report data structure + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. + ... Reference: section 6.4.4.3.2 - SOL002 v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Get Individual Performance Report + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PerformanceReport + +Get Individual Performance Report with invalid resource endpoint + [Documentation] Test ID: 6.3.3.3.2 + ... Test title: Get Individual Performance Report + ... Test objective: The objective is to test the retrieval of an individual VNF performance report associated to a monitoring job and perform a JSON schema validation of the collected report data structure + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. + ... Reference: section 6.4.4.3.2 - SOL002 v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Get Individual Performance Report with invalid resource endpoint + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails + +POST Individual Performance Report - Method not implemented + [Documentation] Test ID: 6.3.3.3.3 + ... Test title: POST Individual Performance Report - Method not implemented + ... Test objective: The objective is to test that POST method is not allowed to create a new VNF performance report within a monitoring job + ... Pre-conditions: A VNF instance is instantiated. + ... Reference: section 6.4.4.3.1 - SOL002 v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: The VNF performance report is not created on the VNFM + Send Post request for Individual Performance Report + Check HTTP Response Status Code Is 405 + Check Postcondition VNF Individual Performance Report is not Created + +PUT Individual Performance Report - Method not implemented + [Documentation] Test ID: 6.3.3.3.4 + ... Test title: PUT Individual Performance Report - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF performance report within a monitoring job + ... Pre-conditions: A VNF instance is instantiated. + ... Reference: section 6.4.4.3.3 - SOL002 v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: The VNF performance report is not modified by the operation + Send Put request for Individual Performance Report + Check HTTP Response Status Code Is 405 + Check Postcondition VNF Individual Performance Report is Unmodified (Implicit) + +PATCH Individual Performance Report - Method not implemented + [Documentation] Test ID: 6.3.3.3.5 + ... Test title: PATCH Individual Performance Report - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF performance report within a monitoring job + ... Pre-conditions: A VNF instance is instantiated. + ... Reference: section 6.4.4.3.4 - SOL002 v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: The VNF performance report is not modified by the operation + Send Patch request for Individual Performance Report + Check HTTP Response Status Code Is 405 + Check Postcondition VNF Individual Performance Report is Unmodified (Implicit) + +DELETE Individual Performance Report - Method not implemented + [Documentation] Test ID: 6.3.3.3.6 + ... Test title: DELETE Individual Performance Report - Method not implemented + ... Test objective: The objective is to test that DELET method is not allowed to delete an existing VNF performance report within a monitoring job + ... Pre-conditions: A VNF instance is instantiated. + ... Reference: section 6.4.4.3.5 - SOL002 v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: The VNF performance report is not deleted by the operation + Send Delete request for Individual Performance Report + Check HTTP Response Status Code Is 405 + Check Postcondition VNF Individual Performance Report Exists + +*** Keywords *** +Get Individual Performance Report + Log Trying to get a performance report present in the VNFM Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}/reports/${reportId} - Integer response status 200 - ${contentType}= Output response headers Content-Type - Should Contain ${contentType} ${CONTENT_TYPE_JSON} - Log Trying to validate result with PerformanceReport schema - ${result}= Output response body - Validate Json PerformanceReport.schema.json ${result} - -GET Report on Single PM Job - Negative (Not Found) - [Documentation] The client can use this method for reading an individual performance report. - ... This method shall follow the provisions specified in the tables 6.4.4.3.2-1 and 6.4.4.3.2-2 for URI query parameters, - ... request and response data structures, and response codes. + ${output}= Output response + Set Suite Variable @{response} ${output} + +Get Individual Performance Report with invalid resource endpoint + Log Trying to get a performance report with invalid resource endpoint Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}/reports/${erroneousReportId} - Integer response status 404 - Log Received 404 Not Found as expected - Log Trying to validate ProblemDetails - ${problemDetails}= Output response body - Validate Json ProblemDetails.schema.json ${problemDetails} - Log Validation OK - -POST Reports - (Method not implemented) - [Documentation] This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Post request for Individual Performance Report + Log Trying to create new performance report Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - POST ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}/reports/${reportId} - Integer response status 405 - Log Received 405 Method not implemented as expected + POST ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}/reports/${newReportId} + ${output}= Output response + Set Suite Variable @{response} ${output} -PUT Reports - (Method not implemented) - [Documentation] This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. +Send Put request for Individual Performance Report + Log Trying to update performance report Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId} + ${origOutput}= Output response + Set Suite Variable @{origResponse} ${origOutput} PUT ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}/reports/${reportId} - Integer response status 405 - Log Received 405 Method not implemented as expected - -PATCH Reports - (Method not implemented) - [Documentation] This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Patch request for Individual Performance Report + Log Trying to update performance report Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId} + ${origOutput}= Output response + Set Suite Variable @{origResponse} ${origOutput} PATCH ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}/reports/${reportId} - Integer response status 405 - Log Received 405 Method not implemented as expected + ${output}= Output response + Set Suite Variable @{response} ${output} -DELETE Reports - (Method not implemented) - [Documentation] This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. +Send Delete request for Individual Performance Report + Log Trying to delete performance report Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}/reports/${reportId} - Integer response status 405 - Log Received 405 Method not implemented as expected + ${output}= Output response + Set Suite Variable @{response} ${output} + +Check Postcondition VNF Individual Performance Report Exists + Log Checking that report still exists + Get Individual Performance Report + +Check Postcondition VNF Individual Performance Report is not Created + Log Trying to get a new report + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/pm_jobs/${pmJobId}/reports/${newReportId} + ${output}= Output response + Set Suite Variable @{response} ${output} + Check HTTP Response Status Code Is 404 + +Check Postcondition VNF Individual Performance Report is Unmodified (Implicit) + Log Check Postcondition VNF PM job is not modified + Get Individual Performance Report + Log Check Response matches original VNF report + ${report}= evaluate json.loads('''${response[0]['body']}''') json + Should Be Equal ${origResponse[0]['body']['entries'][0]['objectInstanceId']} ${report['entries'][0]['objectInstanceId']} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + ${status}= Convert To Integer ${expected_status} + Should Be Equal ${response[0]['status']} ${status} + Log Status code validated + +Check HTTP Response Header Contains + [Arguments] ${CONTENT_TYPE} + Should Contain ${response[0]['headers']} ${CONTENT_TYPE} + Log Header is present + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + Should Contain ${response[0]['headers']['Content-Type']} application/json + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response[0]['body']} + Log Json Schema Validation OK + diff --git a/SOL002/VNFPerformanceManagement-API/Thresholds.robot b/SOL002/VNFPerformanceManagement-API/Thresholds.robot index 8ace19a8..299ccd45 100644 --- a/SOL002/VNFPerformanceManagement-API/Thresholds.robot +++ b/SOL002/VNFPerformanceManagement-API/Thresholds.robot @@ -1,5 +1,4 @@ *** Settings *** -Documentation This resource represents thresholds. The client can use this resource to create and query thresholds. Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Library JSONLibrary @@ -8,98 +7,213 @@ Resource environment/thresholds.txt Library OperatingSystem *** Test Cases *** -GET Thresholds - [Documentation] The client can use this method to query information about thresholds. - ... This method shall follow the provisions specified in the tables 6.4.5.3.2-1 and 6.4.5.3.2-2 for URI query parameters, - ... request and response data structures, and response codes. +GET All Performance Thresholds + [Documentation] Test ID: 6.3.3.4.1 + ... Test title: GET all VNF Performance Thresholds + ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds and perform a JSON schema validation of the collected thresholds data structure + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. + ... Reference: section 6.4.5.3.2 - SOL002 v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET all Performance Thresholds + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is Thresholds + +GET Performance Thresholds with attribute-based filter + [Documentation] Test ID: 6.3.3.4.2 + ... Test title: GET VNF Performance Thresholds with attribute-based filter + ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds when using attribute-based filters, perform a JSON schema validation of the collected thresholds data structure, and verify that the retrieved information matches the issued attribute-based filter + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. + ... Reference: section 6.4.5.3.2 - SOL002 v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET Performance Thresholds with attribute-based filter + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is Thresholds + Check HTTP Response Body Matches filter + +GET Performance Thresholds with invalid attribute-based filter + [Documentation] Test ID: 6.3.3.4.3 + ... Test title: GET VNF Performance Thresholds with invalid attribute-based filter + ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. + ... Reference: section 6.4.5.3.2 - SOL002 v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET Performance Thresholds with invalid attribute-based filter + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Performance Thresholds with invalid resource endpoint + [Documentation] Test ID: 6.3.3.4.4 + ... Test title: GET VNF Performance Thresholds with invalid resource endpoint + ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when using invalid resource endpoint, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. + ... Reference: section 6.4.5.3.2 - SOL002 v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET VNF Performance Thresholds with invalid resource endpoint + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +Create new Performance Threshold + [Documentation] Test ID: 6.3.3.4.5 + ... Test title: Create a new VNF Performance Threshold + ... Test objective: The objective is to test the creation of a new VNF performance threshold and perform the JSON schema validation of the returned threshold data structure + ... Pre-conditions: A VNF instance is instantiated. + ... Reference: section 6.4.5.3.1 - SOL002 v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: The VNF Performance Threshold is successfully created on the VNFM + Send Post Request Create new Performance Threshold + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is Threshold + Check HTTP Response Header Contains Location + Check Postcondition Threshold Exists + +PUT Performance Thresholds - Method not implemented + [Documentation] Test ID: 6.3.3.4.5 + ... Test title: PUT all VNF Performance Thresholds - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to modify VNF Performance Thresholds + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNF. + ... Reference: section 6.4.5.3.3 - SOL002 v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Send PUT Request for all Performance Thresholds + Check HTTP Response Status Code Is 405 + +PATCH Performance Thresholds - Method not implemented + [Documentation] Test ID: 6.3.3.4.6 + ... Test title: PATCH all VNF Performance Thresholds - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to modify VNF Performance Thresholds + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. + ... Reference: section 6.4.5.3.4 - SOL002 v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Send PATCH Request for all Performance Thresholds + Check HTTP Response Status Code Is 405 + +DELETE Performance Thresholds - Method not implemented + [Documentation] Test ID: 6.3.3.4.7 + ... Test title: DELETE all VNF Performance Monitoring Thresholds - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to update VNF Performance Thresholds + ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. + ... Reference: section 6.4.5.3.5 - SOL002 v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Send DELETE Request for all Performance Thresholds + Check HTTP Response Status Code Is 405 + Check Postcondition Thresholds Exist + +*** Keywords *** +GET all Performance Thresholds + Log Trying to get all thresholds present in the VNFM Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/thresholds - Integer response status 200 - ${contentType}= Output response headers Content-Type - Should Contain ${contentType} application/json - ${result}= Output response body - Log Trying to validate result with thresholds schema - Validate Json Thresholds.schema.json ${result} - -GET Thresholds - Filter - [Documentation] The client can use this method to query information about thresholds. - ... This method shall follow the provisions specified in the tables 6.4.5.3.2-1 and 6.4.5.3.2-2 for URI query parameters, - ... request and response data structures, and response codes. + ${output}= Output response + Set Suite Variable @{response} ${output} + +GET Performance Thresholds with attribute-based filter + Log Trying to get thresholds present in the VNFM with filter Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/thresholds?${FILTER_OK} - Integer response status 200 - ${contentType}= Output response headers Content-Type - Should Contain ${contentType} application/json - ${result}= Output response body - Log Trying to validate result with Threshold schema - Validate Json Thresholds.schema.json ${result} - -GET Thresholds - NEGATIVE Filter - [Documentation] The client can use this method to query information about thresholds. - ... This method shall follow the provisions specified in the tables 6.4.5.3.2-1 and 6.4.5.3.2-2 for URI query parameters, - ... request and response data structures, and response codes. + ${output}= Output response + Set Suite Variable @{response} ${output} + +GET Performance Thresholds with invalid attribute-based filter + Log Trying to get thresholds present in the VNFM with invalid filter Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/thresholds?${FILTER_KO} - Integer response status 400 - ${result}= Output response body - Log Trying to validate result with ProblemDetails schema - Validate Json ProblemDetails.schema.json ${result} - -GET Thresholds - Negative (Not Found) - [Documentation] The client can use this method to query information about thresholds. - ... This method shall follow the provisions specified in the tables 6.4.5.3.2-1 and 6.4.5.3.2-2 for URI query parameters, - ... request and response data structures, and response codes. + ${output}= Output response + Set Suite Variable @{response} ${output} + +GET VNF Performance Thresholds with invalid resource endpoint + Log Trying to get thresholds present in the VNFM with invalid resource endpoint Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/threshold - Integer response status 404 - Log Received 404 Not Found as expected - ${problemDetails}= Output response body - Log Trying to validate ProblemDetails - Validate Json ProblemDetails.schema.json ${problemDetails} - Log Validation OK - -POST Threshold Request - [Documentation] The POST method can be used by the client to create a threshold. - ... This method shall follow the provisions specified in the tables 6.4.5.3.1-1 and 6.4.5.3.1-2 for URI query parameters, - ... request and response data structures, and response codes. + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Post Request Create new Performance Threshold + Log Creating a new THreshold Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} ${request}= Get File jsons/CreateThresholdRequest.json POST ${apiRoot}/${apiName}/${apiVersion}/thresholds ${request} - Integer response status 201 - Log Received 201 Created as expected - ${result}= Output response body - Log Trying to validate result with thresholds schema - Validate Json Threshold.schema.json ${result} - Log Trying to validate the Location header - ${headers}= Output response headers - Should Contain ${headers} Location - -PUT Reports - (Method not implemented) - [Documentation] This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send PUT Request for all Performance Thresholds + Log PUT THresholds Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} PUT ${apiRoot}/${apiName}/${apiVersion}/thresholds - Integer response status 405 - Log Received 405 Method not implemented as expected - -PATCH Reports - (Method not implemented) - [Documentation] This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send PATCH Request for all Performance Thresholds + Log PUT THresholds Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} PATCH ${apiRoot}/${apiName}/${apiVersion}/thresholds - Integer response status 405 - Log Received 405 Method not implemented as expected + ${output}= Output response + Set Suite Variable @{response} ${output} -DELETE Reports - (Method not implemented) - [Documentation] This method is not supported. When this method is requested on this resource, the VNFM shall return a "405 Method - ... Not Allowed" response as defined in clause 4.3.5.4. +Send DELETE Request for all Performance Thresholds + Log DELETE THresholds Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiVersion}/thresholds - Integer response status 405 - Log Received 405 Method not implemented as expected + ${output}= Output response + Set Suite Variable @{response} ${output} + +Check Postcondition Thresholds Exist + Log Checking that Thresholds still exists + GET all Performance Thresholds + +Check Postcondition Threshold Exists + Log Checking that Threshold exists + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/thresholds/${response[0]['body']['id']} + ${output}= Output response + Set Suite Variable @{response} ${output} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is Threshold + +Check HTTP Response Body Matches filter + Log Checking that attribute-based filter is matched + #todo + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + ${status}= Convert To Integer ${expected_status} + Should Be Equal ${response[0]['status']} ${status} + Log Status code validated + +Check HTTP Response Header Contains + [Arguments] ${CONTENT_TYPE} + Should Contain ${response[0]['headers']} ${CONTENT_TYPE} + Log Header is present + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + Should Contain ${response[0]['headers']['Content-Type']} application/json + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response[0]['body']} + Log Json Schema Validation OK + + diff --git a/SOL002/VNFPerformanceManagement-API/environment/reports.txt b/SOL002/VNFPerformanceManagement-API/environment/reports.txt index 7edfcc5c..590559d4 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/reports.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/reports.txt @@ -2,3 +2,6 @@ ${pmJobId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${reportId} 0fb4c875-e07f-46ca-a9dd-13907667a568 ${erroneousReportId} erroneousReportId +${newReportId} newReportId +@{response}= httpresponse +@{OrigResponse}= httpresponse diff --git a/SOL002/VNFPerformanceManagement-API/environment/thresholds.txt b/SOL002/VNFPerformanceManagement-API/environment/thresholds.txt index 49461a09..4dbb5520 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/thresholds.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/thresholds.txt @@ -1,3 +1,4 @@ *** Variables *** ${FILTER_OK} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${FILTER_KO} criterias=erroneousFilter +@{response}= httpresponse -- GitLab