| *** Settings *** |
| Library OperatingSystem |
| Library RequestsLibrary |
| Library json |
| |
| *** Variables *** |
| ${MESSAGE} {"ping": "ok"} |
| ${BASIC} Basic |
| ${Music_AUTHVALUE} Y29uZHVjdG9yOmMwbmR1Y3Qwcg== |
| ${HAS_AUTHVALUE} YWRtaW4xOnBsYW4uMTU= |
| ${Music_Auth} ${BASIC} ${Music_AUTHVALUE} |
| ${HAS_Auth} ${BASIC} ${HAS_AUTHVALUE} |
| ${RESP_STATUS} "error" |
| ${RESP_MESSAGE_WRONG_VERSION} "conductor_template_version must be one of: 2016-11-01" |
| ${RESP_MESSAGE_WITHOUT_DEMANDS} Undefined Demand |
| |
| #global variables |
| ${generatedPlanId} |
| ${generatedAID} |
| ${resultStatus} |
| |
| *** Test Cases *** |
| Check Cassandra Docker Container |
| [Documentation] It checks cassandra docker container is running |
| ${rc} ${output}= Run and Return RC and Output docker ps |
| Log To Console ********************* |
| Log To Console retrurn_code = ${rc} |
| Log To Console output = ${output} |
| Should Be Equal As Integers ${rc} 0 |
| Should Contain ${output} music-db |
| |
| Check Zookeeper Docker Container |
| [Documentation] It checks zookeeper docker container is running |
| ${rc} ${output}= Run and Return RC and Output docker ps |
| Log To Console ********************* |
| Log To Console retrurn_code = ${rc} |
| Log To Console output = ${output} |
| Should Be Equal As Integers ${rc} 0 |
| Should Contain ${output} music-zk |
| |
| Check Tomcat Docker Container |
| [Documentation] It checks tomcat docker container is running |
| ${rc} ${output}= Run and Return RC and Output docker ps |
| Log To Console ********************* |
| Log To Console retrurn_code = ${rc} |
| Log To Console output = ${output} |
| Should Be Equal As Integers ${rc} 0 |
| Should Contain ${output} music-tomcat |
| |
| Check Music War Docker Container |
| [Documentation] It checks music.war docker container is running |
| ${rc} ${output}= Run and Return RC and Output docker ps |
| Log To Console ********************* |
| Log To Console retrurn_code = ${rc} |
| Log To Console output = ${output} |
| Should Be Equal As Integers ${rc} 0 |
| Should Contain ${output} music-war |
| |
| Get Music Version |
| [Documentation] It sends a REST GET request to retrieve the Music.war version |
| Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT} |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Get Request musicaas /MUSIC/rest/v2/version headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| Log To Console body = ${resp.text} |
| Should Be Equal As Integers ${resp.status_code} 200 |
| |
| Check ConductorApi Docker Container |
| [Documentation] It checks conductor-api docker container is running |
| ${rc} ${output}= Run and Return RC and Output docker ps |
| Log To Console ********************* |
| Log To Console retrurn_code = ${rc} |
| Log To Console output = ${output} |
| Should Be Equal As Integers ${rc} 0 |
| Should Contain ${output} cond-api |
| |
| Check ConductorController Docker Container |
| [Documentation] It checks conductor-controller docker container is running |
| ${rc} ${output}= Run and Return RC and Output docker ps |
| Log To Console ********************* |
| Log To Console retrurn_code = ${rc} |
| Log To Console output = ${output} |
| Should Be Equal As Integers ${rc} 0 |
| Should Contain ${output} cond-cont |
| |
| Check ConductorSolver Docker Container |
| [Documentation] It checks conductor-solver docker container is running |
| ${rc} ${output}= Run and Return RC and Output docker ps |
| Log To Console ********************* |
| Log To Console retrurn_code = ${rc} |
| Log To Console output = ${output} |
| Should Be Equal As Integers ${rc} 0 |
| Should Contain ${output} cond-solv |
| |
| Check ConductorReservation Docker Container |
| [Documentation] It checks conductor-reservation docker container is running |
| ${rc} ${output}= Run and Return RC and Output docker ps |
| Log To Console ********************* |
| Log To Console retrurn_code = ${rc} |
| Log To Console output = ${output} |
| Should Be Equal As Integers ${rc} 0 |
| Should Contain ${output} cond-resv |
| |
| Check ConductorData Docker Container |
| [Documentation] It checks conductor-data docker container is running |
| ${rc} ${output}= Run and Return RC and Output docker ps |
| Log To Console ********************* |
| Log To Console retrurn_code = ${rc} |
| Log To Console output = ${output} |
| Should Be Equal As Integers ${rc} 0 |
| Should Contain ${output} cond-data |
| |
| Get Root Url |
| [Documentation] It sends a REST GET request to root url |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Get Request optf-cond / headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| Log To Console body = ${resp.text} |
| Should Be Equal As Integers ${resp.status_code} 200 |
| Sleep 10s Wait For 10 seconds |
| |
| Conductor AddHealthcheck Row Into Music |
| [Documentation] It sends a REST PUT request to Music to inject healthcheck plan |
| Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT} |
| ${data}= Get Binary File ${CURDIR}${/}data${/}healthcheck.json |
| &{headers}= Create Dictionary ns=conductor Authorization=${Music_Auth} userId=conductor password=c0nduct0r Content-Type=application/json Accept=application/json |
| ${resp}= Put Request musicaas /MUSIC/rest/v2/keyspaces/conductor/tables/plans/rows?id=healthcheck data=${data} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| Log To Console body = ${resp.text} |
| ${response_json} json.loads ${resp.content} |
| Should Be Equal As Integers ${resp.status_code} 200 |
| Sleep 5s Wait Injection effectiveness |
| |
| Healthcheck |
| [Documentation] It sends a REST GET request to healthcheck url |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Get Request optf-cond /v1/plans/healthcheck headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| Log To Console body = ${resp.text} |
| Should Be Equal As Integers ${resp.status_code} 200 |
| |
| SendPlanWithWrongVersion |
| [Documentation] It sends a POST request to conductor |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_wrong_version.json |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| Log To Console body = ${resp.text} |
| ${response_json} json.loads ${resp.content} |
| ${generatedPlanId}= Convert To String ${response_json['id']} |
| Set Global Variable ${generatedPlanId} |
| Log To Console generatedPlanId = ${generatedPlanId} |
| Should Be Equal As Integers ${resp.status_code} 201 |
| Sleep 10s Wait Plan Resolution |
| |
| GetPlanWithWrongVersion |
| [Documentation] It sends a REST GET request to capture error |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| ${response_json} json.loads ${resp.content} |
| ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} |
| Set Global Variable ${resultStatus} |
| Log To Console resultStatus = ${resultStatus} |
| Log To Console body = ${resp.text} |
| Should Be Equal As Integers ${resp.status_code} 200 |
| Should Be Equal error ${resultStatus} |
| |
| SendPlanWithoutDemandSection |
| [Documentation] It sends a POST request to conductor |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| ${data}= Get Binary File ${CURDIR}${/}data${/}plan_without_demand_section.json |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| Log To Console body = ${resp.text} |
| ${response_json} json.loads ${resp.content} |
| ${generatedPlanId}= Convert To String ${response_json['id']} |
| Set Global Variable ${generatedPlanId} |
| Log To Console generatedPlanId = ${generatedPlanId} |
| Should Be Equal As Integers ${resp.status_code} 201 |
| Sleep 10s Wait Plan Resolution |
| |
| GetPlanWithoutDemandSection |
| [Documentation] It sends a REST GET request to capture error |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| ${response_json} json.loads ${resp.content} |
| ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} |
| Set Global Variable ${resultStatus} |
| Log To Console resultStatus = ${resultStatus} |
| Log To Console body = ${resp.text} |
| Should Be Equal As Integers ${resp.status_code} 200 |
| Should Be Equal error ${resultStatus} |
| |
| SendPlanWithWrongConstraint |
| [Documentation] It sends a POST request to conductor |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_wrong_distance_constraint.json |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| Log To Console body = ${resp.text} |
| ${response_json} json.loads ${resp.content} |
| ${generatedPlanId}= Convert To String ${response_json['id']} |
| Set Global Variable ${generatedPlanId} |
| Log To Console generatedPlanId = ${generatedPlanId} |
| Should Be Equal As Integers ${resp.status_code} 201 |
| Sleep 10s Wait Plan Resolution |
| |
| GetPlanWithWrongConstraint |
| [Documentation] It sends a REST GET request to capture error |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| ${response_json} json.loads ${resp.content} |
| ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} |
| Set Global Variable ${resultStatus} |
| Log To Console resultStatus = ${resultStatus} |
| Log To Console body = ${resp.text} |
| Should Be Equal As Integers ${resp.status_code} 200 |
| Should Be Equal error ${resultStatus} |
| |
| |
| SendPlanWithLatiAndLongi |
| [Documentation] It sends a POST request to conductor |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_lati_and_longi.json |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| Log To Console body = ${resp.text} |
| ${response_json} json.loads ${resp.content} |
| ${generatedPlanId}= Convert To String ${response_json['id']} |
| Set Global Variable ${generatedPlanId} |
| Log To Console generatedPlanId = ${generatedPlanId} |
| Should Be Equal As Integers ${resp.status_code} 201 |
| Sleep 60s Wait Plan Resolution |
| |
| GetPlanWithLatiAndLongi |
| [Documentation] It sends a REST GET request to capture recommendations |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| ${response_json} json.loads ${resp.content} |
| ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} |
| Set Global Variable ${resultStatus} |
| Log To Console resultStatus = ${resultStatus} |
| Log To Console body = ${resp.text} |
| Should Be Equal As Integers ${resp.status_code} 200 |
| Should Be Equal done ${resultStatus} |
| |
| SendPlanWithShortDistanceConstraint |
| [Documentation] It sends a POST request to conductor |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_short_distance_constraint.json |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| Log To Console body = ${resp.text} |
| ${response_json} json.loads ${resp.content} |
| ${generatedPlanId}= Convert To String ${response_json['id']} |
| Set Global Variable ${generatedPlanId} |
| Log To Console generatedPlanId = ${generatedPlanId} |
| Should Be Equal As Integers ${resp.status_code} 201 |
| Sleep 60s Wait Plan Resolution |
| |
| GetPlanWithShortDistanceConstraint |
| [Documentation] It sends a REST GET request to capture recommendations |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| ${response_json} json.loads ${resp.content} |
| ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} |
| Set Global Variable ${resultStatus} |
| Log To Console resultStatus = ${resultStatus} |
| Log To Console body = ${resp.text} |
| Should Be Equal As Integers ${resp.status_code} 200 |
| Should Be Equal not found ${resultStatus} |
| |
| SendPlanWithVimFit |
| [Documentation] It sends a POST request to conductor |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_vim_fit.json |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| Log To Console body = ${resp.text} |
| ${response_json} json.loads ${resp.content} |
| ${generatedPlanId}= Convert To String ${response_json['id']} |
| Set Global Variable ${generatedPlanId} |
| Log To Console generatedPlanId = ${generatedPlanId} |
| Should Be Equal As Integers ${resp.status_code} 201 |
| Sleep 60s Wait Plan Resolution |
| |
| GetPlanWithVimFit |
| [Documentation] It sends a REST GET request to capture recommendations |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| ${response_json} json.loads ${resp.content} |
| ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} |
| Set Global Variable ${resultStatus} |
| Log To Console resultStatus = ${resultStatus} |
| Log To Console body = ${resp.text} |
| Should Be Equal As Integers ${resp.status_code} 200 |
| Should Be Equal done ${resultStatus} |
| |
| SendPlanWithHpa |
| [Documentation] It sends a POST request to conductor |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_hpa.json |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| Log To Console body = ${resp.text} |
| ${response_json} json.loads ${resp.content} |
| ${generatedPlanId}= Convert To String ${response_json['id']} |
| Set Global Variable ${generatedPlanId} |
| Log To Console generatedPlanId = ${generatedPlanId} |
| Should Be Equal As Integers ${resp.status_code} 201 |
| Sleep 60s Wait Plan Resolution |
| |
| GetPlanWithHpa |
| [Documentation] It sends a REST GET request to capture recommendations |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| ${response_json} json.loads ${resp.content} |
| ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} |
| Set Global Variable ${resultStatus} |
| Log To Console resultStatus = ${resultStatus} |
| Log To Console body = ${resp.text} |
| Should Be Equal As Integers ${resp.status_code} 200 |
| Should Be Equal done ${resultStatus} |
| |
| SendPlanWithHpaSimple |
| [Documentation] It sends a POST request to conductor |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_hpa_simple.json |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| Log To Console body = ${resp.text} |
| ${response_json} json.loads ${resp.content} |
| ${generatedPlanId}= Convert To String ${response_json['id']} |
| Set Global Variable ${generatedPlanId} |
| Log To Console generatedPlanId = ${generatedPlanId} |
| Should Be Equal As Integers ${resp.status_code} 201 |
| Sleep 60s Wait Plan Resolution |
| |
| GetPlanWithHpaSimple |
| [Documentation] It sends a REST GET request to capture recommendations |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| ${response_json} json.loads ${resp.content} |
| ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} |
| Set Global Variable ${resultStatus} |
| Log To Console resultStatus = ${resultStatus} |
| Log To Console body = ${resp.text} |
| Should Be Equal As Integers ${resp.status_code} 200 |
| Should Be Equal done ${resultStatus} |
| |
| SendPlanWithHpaMandatory |
| [Documentation] It sends a POST request to conductor |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_hpa_requirements_mandatory.json |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| Log To Console body = ${resp.text} |
| ${response_json} json.loads ${resp.content} |
| ${generatedPlanId}= Convert To String ${response_json['id']} |
| Set Global Variable ${generatedPlanId} |
| Log To Console generatedPlanId = ${generatedPlanId} |
| Should Be Equal As Integers ${resp.status_code} 201 |
| Sleep 60s Wait Plan Resolution |
| |
| GetPlanWithHpaMandatory |
| [Documentation] It sends a REST GET request to capture recommendations |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| ${response_json} json.loads ${resp.content} |
| ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} |
| Set Global Variable ${resultStatus} |
| Log To Console resultStatus = ${resultStatus} |
| Log To Console body = ${resp.text} |
| Should Be Equal As Integers ${resp.status_code} 200 |
| Should Be Equal done ${resultStatus} |
| |
| SendPlanWithHpaOptionals |
| [Documentation] It sends a POST request to conductor |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_hpa_requirements_optionals.json |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| Log To Console body = ${resp.text} |
| ${response_json} json.loads ${resp.content} |
| ${generatedPlanId}= Convert To String ${response_json['id']} |
| Set Global Variable ${generatedPlanId} |
| Log To Console generatedPlanId = ${generatedPlanId} |
| Should Be Equal As Integers ${resp.status_code} 201 |
| Sleep 60s Wait Plan Resolution |
| |
| GetPlanWithHpaOptionals |
| [Documentation] It sends a REST GET request to capture recommendations |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| ${response_json} json.loads ${resp.content} |
| ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} |
| Set Global Variable ${resultStatus} |
| Log To Console resultStatus = ${resultStatus} |
| Log To Console body = ${resp.text} |
| Should Be Equal As Integers ${resp.status_code} 200 |
| Should Be Equal done ${resultStatus} |
| |
| SendPlanWithHpaUnmatched |
| [Documentation] It sends a POST request to conductor |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_hpa_unmatched.json |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| Log To Console body = ${resp.text} |
| ${response_json} json.loads ${resp.content} |
| ${generatedPlanId}= Convert To String ${response_json['id']} |
| Set Global Variable ${generatedPlanId} |
| Log To Console generatedPlanId = ${generatedPlanId} |
| Should Be Equal As Integers ${resp.status_code} 201 |
| Sleep 60s Wait Plan Resolution |
| |
| GetPlanWithHpaUnmatched |
| [Documentation] It sends a REST GET request to capture recommendations |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| ${response_json} json.loads ${resp.content} |
| ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} |
| Set Global Variable ${resultStatus} |
| Log To Console resultStatus = ${resultStatus} |
| Log To Console body = ${resp.text} |
| Should Be Equal As Integers ${resp.status_code} 200 |
| Should Be Equal not found ${resultStatus} |
| |
| # HPA Score Multi objective Optimization |
| SendPlanWithHpaScoreMultiObj |
| [Documentation] It sends a POST request to conductor |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_hpa_score_multi_objective.json |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| Log To Console body = ${resp.text} |
| ${response_json} json.loads ${resp.content} |
| ${generatedPlanId}= Convert To String ${response_json['id']} |
| Set Global Variable ${generatedPlanId} |
| Log To Console generatedPlanId = ${generatedPlanId} |
| Should Be Equal As Integers ${resp.status_code} 201 |
| Sleep 60s Wait Plan Resolution |
| |
| GetPlanWithHpaScoreMultiObj |
| [Documentation] It sends a REST GET request to capture recommendations |
| Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT} |
| &{headers}= Create Dictionary Authorization=${HAS_Auth} Content-Type=application/json Accept=application/json |
| ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers} |
| Log To Console ********************* |
| Log To Console response = ${resp} |
| ${response_json} json.loads ${resp.content} |
| ${resultStatus}= Convert To String ${response_json['plans'][0]['status']} |
| ${vim-id}= Convert To String ${response_json['plans'][0]['recommendations'][0]['vG']['candidate']['vim-id']} |
| # ${hpa_score}= Convert To String ${response_json['plans'][0]['recommendations']['vG']['hpa_score']} |
| Set Global Variable ${resultStatus} |
| Log To Console resultStatus = ${resultStatus} |
| Log To Console body = ${resp.text} |
| Should Be Equal As Integers ${resp.status_code} 200 |
| Should Be Equal done ${resultStatus} |
| Should Be Equal HPA-cloud_cloud-region-1 ${vim-id} |
| |
| |
| *** Keywords *** |
| |
| |