diff --git a/SOL003/VNFLifecycleManagement-API_egm/ScaleVNFTaskHighLevel.robot b/SOL003/VNFLifecycleManagement-API_egm/ScaleVNFTaskHighLevel.robot index e9d86e227103802cfc96fc6275c301ac3a000a15..f240641cee7334dbfe2c9d501fec9d4978c784d5 100644 --- a/SOL003/VNFLifecycleManagement-API_egm/ScaleVNFTaskHighLevel.robot +++ b/SOL003/VNFLifecycleManagement-API_egm/ScaleVNFTaskHighLevel.robot @@ -10,6 +10,9 @@ ${GRANT_POLLING_TOT} 2 ${GRANT_POLLING_INTERVAL} 5s ${SCALE_POLLING_TOT} 10 ${SCALE_POLLING_INTERVAL} 15s +${headers} +${vnfLcmOpOccId} +${status} *** Test Cases *** Scale Out a vnfInstance @@ -22,16 +25,23 @@ Scale Out a vnfInstance ... Applicability: Scale operation is supported for the VNF (as capability in the VNFD) ... NFVO is not subscribed for ... Post-Conditions: VNF instance still in INSTANTIATED state and VNF was scaled - ${headers}= Send VNFScaleOut request - Check Response Status 202 ${headers} - ${vnfLcmOpOccId}= Get VnfLcmOpOccId ${headers} - Check Operation Status Transition ${vnfLcmOpOccId} STARTING PROCESSING ${GRANT_POLLING_TOT} ${GRANT_POLLING_INTERVAL} - Check Operation Status Transition ${vnfLcmOpOccId} PROCESSING COMPLETED ${SCALE_POLLING_TOT} ${SCALE_POLLING_INTERVAL} + [Setup] Check resource existance + Send VNFScaleOut request + Check Response Status 202 ${status} + Get VnfLcmOpOccId + Check Operation Status Transition from starting to processing + Check Operation Status Transition from processing to completed *** Keywords *** +Check resource existance + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} + Integer response status 200 + Check Response Status - [Arguments] ${expected_status} ${headers} - ${status}= Get Value From Json ${headers} $..status + [Arguments] ${expected_status} ${status} Should Be Equal ${expected_status} ${status} Send VNFscaleOut Request @@ -42,21 +52,25 @@ Send VNFscaleOut Request ${body}= Get File json/scaleVnfOutRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${body} ${headers}= Output response headers - ${json}= evaluate json.loads('''${headers}''') json - [Return] ${json} + ${headers}= evaluate json.loads('''${headers}''') json + ${status}= Output response status Get VnfLcmOpOccId - [Arguments] ${headers} ${vnfLcmOpOccId}= Get Value From Json ${headers} $..Location Should Not Be Empty ${vnfLcmOpOccId} - [Return] ${vnfLcmOpOccId} +Check Operation Status Transition from starting to processing + Check Operation Status Transition ${vnfLcmOpOccId} STARTING PROCESSING ${GRANT_POLLING_TOT} ${GRANT_POLLING_INTERVAL} + +Check Operation Status Transition from processing to completed + Check Operation Status Transition ${vnfLcmOpOccId} PROCESSING COMPLETED ${SCALE_POLLING_TOT} ${SCALE_POLLING_INTERVAL} + Check Operation Status Transition [Arguments] ${vnfLcmOpOccId} ${initial_status} ${final_status} ${POLLING_TOT} ${POLLING_INTERVAL} - ${INDEX}= 1 - : FOR ${INDEX} IN RANGE 1 ${POLLING_TOT} + :FOR ${INDEX} IN RANGE 1 ${POLLING_TOT} \ GET ${apiRoot}/${apiName}/${apiVersion}/${vnfLcmOpOccId} - \ Check Response Status 200 response code + \ ${status}= Output response status + \ Check Response Status 200 ${status} \ ${body}= Output response body \ ${json}= evaluate json.loads('''${body}''') json \ ${operationState}= Get Value From Json ${json} $..operationState