blob: 358ef64ee5323ab91b5eb5664561bb56c071e155 [file] [log] [blame]
*** Settings ***
Documentation The main interface for interacting with CDS. It handles low level stuff like managing the http request library and CDS required fields
Library RequestsLibrary
Resource global_properties.robot
Library SSHLibrary
Library OperatingSystem
Library String
*** Variables ***
${CDS_HEALTH_CHECK_PATH} /api/v1/execution-service/health-check
${CDS_HEALTH_ENDPOINT} ${GLOBAL_CCSDK_CDS_SERVER_PROTOCOL}://${GLOBAL_INJECTED_CCSDK_CDS_BLUEPRINT_PROCESSOR_IP_ADDR}:${GLOBAL_CCSDK_CDS_HEALTH_SERVER_PORT}
${CDS_CREATE_DATA_DICTIONARY_ENDPOINT} /api/v1/dictionary/definition
${CDS_RETRIEVE_DATA_DICTIONARY_ENDPOINT} /api/v1/dictionary/search/
${CDS_BOOTSTRAP_ENDPOINT} /api/v1/blueprint-model/bootstrap
${CDS_CBA_ENRICH_ENDPOINT} /api/v1/blueprint-model/enrich
${CDS_CBA_PUBLISH_ENDPOINT} /api/v1/blueprint-model/publish
${CDS_CBA_PROCESS_API_ENDPOINT} /api/v1/execution-service/process
${CDS_CBA_DELETE_ENDPOINT} /api/v1/blueprint-model/
${CREATE_DICTIONARY_JSON_PATH} ${CURDIR}${/}../assets/cds/create_dictionary.json
${BOOTSTRAP_JSON_PATH} ${CURDIR}${/}../assets/cds/bootstrap.json
${CDS_CBA_PROCESS_FILE_PATH} ${CURDIR}${/}../assets/cds/cba_process.json
${CDS_CBA_PACKAGE_FILE} ${CURDIR}${/}../assets/cds/cba.zip
${CDS_CBA_ENRICHED_FILE} ${CURDIR}${/}../assets/cds/enriched-cba.zip
${CDS_CD_TAG} restmock
${SUCCESS} EVENT_COMPONENT_EXECUTED
*** Keywords ***
Run CDS Basic Health Check
[Documentation] Runs a CDS health check
${auth}= Create List ${GLOBAL_CCSDK_CDS_USERNAME} ${GLOBAL_CCSDK_CDS_PASSWORD}
${session}= Create Session cds ${CDS_HEALTH_ENDPOINT} auth=${auth}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json
${resp}= Get Request cds ${CDS_HEALTH_CHECK_PATH} headers=${headers}
Log Received response code from cds ${resp}
Log Received content from cds ${resp.content}
Should Be Equal As Strings ${resp.status_code} 200
Run CDS Create Data Dictionary Health Check
[Documentation] Runs CDS Create Data Dictionary Health Check
${auth}= Create List ${GLOBAL_CCSDK_CDS_USERNAME} ${GLOBAL_CCSDK_CDS_PASSWORD}
${session}= Create Session cds ${CDS_HEALTH_ENDPOINT} auth=${auth}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json
${json} Get Binary File ${CREATE_DICTIONARY_JSON_PATH}
${resp}= Post Request cds ${CDS_CREATE_DATA_DICTIONARY_ENDPOINT} data=${json} headers=${headers}
Log Received response code from cds ${resp}
Log Received content from cds ${resp.content}
Should Be Equal As Strings ${resp.status_code} 200
Run CDS GET Data Dictionary Health Check
[Documentation] Runs CDS Get Data Dictionary health check
${auth}= Create List ${GLOBAL_CCSDK_CDS_USERNAME} ${GLOBAL_CCSDK_CDS_PASSWORD}
${session}= Create Session cds ${CDS_HEALTH_ENDPOINT} auth=${auth}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json
${resp}= Get Request cds ${CDS_RETRIEVE_DATA_DICTIONARY_ENDPOINT}${CDS_CD_TAG} headers=${headers}
Log Received response code from cds ${resp}
Log Received content from cds ${resp.content}
Should Be Equal As Strings ${resp.status_code} 200
${res_body}= Convert to string ${resp.content}
Should Contain ${res_body} ${CDS_CD_TAG}
Run CDS Bootstrap Health Check
[Documentation] Run CDS Bootstrap Health Check
${auth}= Create List ${GLOBAL_CCSDK_CDS_USERNAME} ${GLOBAL_CCSDK_CDS_PASSWORD}
${session}= Create Session cds ${CDS_HEALTH_ENDPOINT} auth=${auth}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json
${json_bootstrap} Get Binary File ${BOOTSTRAP_JSON_PATH}
${resp}= Post Request cds ${CDS_BOOTSTRAP_ENDPOINT} data=${json_bootstrap} headers=${headers}
Log Received response code from cds ${resp}
Log Received content from cds ${resp.content}
Should Be Equal As Strings ${resp.status_code} 200
Run CDS Enrich CBA Health Check
[Documentation] Runs a successful CDS enrich Post requests
${auth}= Create List ${GLOBAL_CCSDK_CDS_USERNAME} ${GLOBAL_CCSDK_CDS_PASSWORD}
${session}= Create Session cds ${CDS_HEALTH_ENDPOINT} auth=${auth}
${data}= Get Binary File ${CDS_CBA_PACKAGE_FILE}
${file}= Create Dictionary file=${data}
${resp}= Post Request cds ${CDS_CBA_ENRICH_ENDPOINT} files=${file}
Should Be Equal As Strings ${resp.status_code} 200
Create File ${CDS_CBA_ENRICHED_FILE} ${resp.text} encoding=ISO-8859-1
Run CDS Publish CBA Health Check
[Documentation] Runs a publish CDS upload enriched Post requests API
${auth}= Create List ${GLOBAL_CCSDK_CDS_USERNAME} ${GLOBAL_CCSDK_CDS_PASSWORD}
${session}= Create Session cds ${CDS_HEALTH_ENDPOINT} auth=${auth}
${data}= Get Binary File ${CDS_CBA_ENRICHED_FILE}
${file}= Create Dictionary file=${data}
${resp}= Post Request cds ${CDS_CBA_PUBLISH_ENDPOINT} files=${file}
Should Be Equal As Strings ${resp.status_code} 200 And ${resp.json()['blueprintModel']['id']}!= ${NONE}
Set Global Variable ${blueprintModel} ${resp.json()['blueprintModel']['id']}
Run CDS Process CBA Health Check
[Documentation] Runs a process CDS enriched CBA Post requests API
${auth}= Create List ${GLOBAL_CCSDK_CDS_USERNAME} ${GLOBAL_CCSDK_CDS_PASSWORD}
${session}= Create Session cds ${CDS_HEALTH_ENDPOINT} auth=${auth}
${headers}= Create Dictionary Accept=*/* Content-Type=application/json
${file} Get Binary File ${CDS_CBA_PROCESS_FILE_PATH}
${resp}= Post Request cds ${CDS_CBA_PROCESS_API_ENDPOINT} data=${file} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 200
Should Be Equal As Strings ${resp.json()['status']['eventType']} ${SUCCESS}
Run CDS Delete CBA Health Check
[Documentation] Runs a CDS Delete CBA Delete requests API
${auth}= Create List ${GLOBAL_CCSDK_CDS_USERNAME} ${GLOBAL_CCSDK_CDS_PASSWORD}
${session}= Create Session cds ${CDS_HEALTH_ENDPOINT} auth=${auth}
${headers}= Create Dictionary Accept=*/* Content-Type=application/json
${resp}= Delete Request cds ${CDS_CBA_DELETE_ENDPOINT}${blueprintModel} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 200