*** Settings *** Documentation This resource represents an individual subscription for notifications about performance management related events. ... The client can use this resource to read and to terminate a subscription to notifications related to NS performance ... management. Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} Library OperatingSystem Library JSONLibrary Resource environment/individualSubscription.txt *** Test Cases *** GET Individual Subscription [Documentation] The client can use this method for reading an individual subscription about Performance management notifications ... subscribed by the client. ... This method shall follow the provisions specified in the tables 6.4.8.3.2-1 and 6.4.8.3.2-2 for URI query parameters, ... request and response data structures, and response codes. Set headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} Integer response status 200 Log Received a 200 OK 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 GET Individual Subscription - Negative (Not Found) [Documentation] The client can use this method for reading an individual subscription about Performance management notifications ... subscribed by the client. ... This method shall follow the provisions specified in the tables 6.4.8.3.2-1 and 6.4.8.3.2-2 for URI query parameters, ... request and response data structures, and response codes. Set headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${erroneousSubscriptionId} Integer response status 404 Log Received a 404 Not found as expected ${contentType}= Output response headers Content-Type Should Contain ${contentType} application/json ${result}= Output response body Validate Json ProblemDetails.schema.json ${result} Log Validated ProblemDetails schema POST Individual Subscription - (Method not implemented) [Documentation] This method is not supported. When this method is requested on this resource, the NFVO shall return a "405 Method ... Not Allowed" response as defined in clause 4.3.5.4. Pass Execution If ${testOptionalMethods} == 0 optional methods are not implemented on the FUT. Skipping test. Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} Integer response status 405 Log Received 405 Method not implemented as expected PUT Individual Subscription - (Method not implemented) [Documentation] This method is not supported. When this method is requested on this resource, the NFVO shall return a "405 Method ... Not Allowed" response as defined in clause 4.3.5.4. Pass Execution If ${testOptionalMethods} == 0 optional methods are not implemented on the FUT. Skipping test. Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} PUT ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} Integer response status 405 Log Received 405 Method not implemented as expected PATCH Individual Subscription - (Method not implemented) [Documentation] This method is not supported. When this method is requested on this resource, the NFVO shall return a "405 Method ... Not Allowed" response as defined in clause 4.3.5.4. Pass Execution If ${testOptionalMethods} == 0 optional methods are not implemented on the FUT. Skipping test. Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} PATCH ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} Integer response status 405 Log Received 405 Method not implemented as expected DELETE Individual Subscription [Documentation] This method terminates an individual subscription. ... This method shall follow the provisions specified in the tables 6.4.8.3.5-1 and 6.4.8.3.5-2 for URI query parameters, ... request and response data structures, and response codes. Set headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} Integer response status 204 Log Received a 204 No Content as expected ${body}= Output response body Should Be Empty ${body} Log Body of the response is empty