diff options
Diffstat (limited to 'tests/so/etsi/etsi_package_onboarding_tests.robot')
-rw-r--r-- | tests/so/etsi/etsi_package_onboarding_tests.robot | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/so/etsi/etsi_package_onboarding_tests.robot b/tests/so/etsi/etsi_package_onboarding_tests.robot new file mode 100644 index 00000000..96c9896d --- /dev/null +++ b/tests/so/etsi/etsi_package_onboarding_tests.robot @@ -0,0 +1,55 @@ +*** Settings *** +Library Collections +Library RequestsLibrary +Library OperatingSystem +Library json + +*** Variables *** +${SLEEP_INTERVAL_SEC}= 5 +${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT}= 48 # Represents the maximum number of attempts that will be made before a timeout. It sleeps for SLEEP_INTERVAL_SEC seconds before retry. + +*** Test Cases *** +OnBoard VNF Package In Etsi Catalog + Create Session etsi_catalog_session http://${REPO_IP}:8806 + ${data}= Get Binary File ${CURDIR}${/}data${/}vnfPackageOnboardRequest.json + &{headers}= Create Dictionary Content-Type=application/json Accept=application/json + ${resp}= Post On Session etsi_catalog_session /api/catalog/v1/vnfpackages data=${data} headers=${headers} + Run Keyword If '${resp.status_code}' == '202' log to console \nexecuted with expected result + Should Be Equal As Strings '${resp.status_code}' '202' + log to console ${resp.content} + ${onboarding_job_json_response}= Evaluate json.loads(r"""${resp.content}""", strict=False) json + ${job_ID}= Set Variable ${onboarding_job_json_response}[jobId] + Should Not Be Empty ${job_ID} + ${actual_job_status}= Set Variable "" + + FOR ${INDEX} IN RANGE ${MAXIMUM_ATTEMPTS_BEFORE_TIMEOUT} + ${onboarding_job_status_request}= Get On Session etsi_catalog_session /api/catalog/v1/jobs/${job_ID} + Run Keyword If '${onboarding_job_status_request.status_code}' == '200' log to console \nexecuted with expected result + log to console ${onboarding_job_status_request.content} + + ${onboarding_job_status_json_response}= Evaluate json.loads(r"""${onboarding_job_status_request.content}""", strict=False) json + + ${actual_job_status}= Set Variable "" + + ${response_descriptor_exists}= Run Keyword And Return Status Get From Dictionary ${onboarding_job_status_json_response} responseDescriptor + ${status_exists}= Run Keyword And Return Status Get From Dictionary ${onboarding_job_status_json_response}[responseDescriptor] status + + ${actual_job_status}= Set Variable If ${response_descriptor_exists} == True and ${status_exists} == True + ... ${onboarding_job_status_json_response}[responseDescriptor][status] + + Log To Console Received actual repsonse status:${actual_job_status} + Run Keyword If '${actual_job_status}' == 'finished' or '${actual_job_status}' == 'error' or '${actual_job_status}' == 'timeout' Exit For Loop + log to console Will try again after ${SLEEP_INTERVAL_SEC} seconds + SLEEP ${SLEEP_INTERVAL_SEC} + END + Log To Console final repsonse status received: ${actual_job_status} + Run Keyword If '${actual_job_status}' == 'finished' log to console \nexecuted with expected result + Should Be Equal As Strings '${actual_job_status}' 'finished' + +Distribute Service Template + Create Session sdc_controller_session http://${REPO_IP}:8085 + ${data}= Get Binary File ${CURDIR}${/}data${/}distributeServiceTemplate.json + &{headers}= Create Dictionary Authorization=Basic bXNvX2FkbWluOnBhc3N3b3JkMSQ= resource-location=/distribution-test-zip/unzipped/ Content-Type=application/json Accept=application/json + ${resp}= Post On Session sdc_controller_session /test/treatNotification/v1 data=${data} headers=${headers} + Run Keyword If '${resp.status_code}' == '200' log to console \nexecuted with expected result + Should Be Equal As Strings '${resp.status_code}' '200' |