+++ /dev/null
-*** Settings ***
-Documentation The main interface for interacting with DCAE. It handles low level stuff like managing the http request library and DCAE required fields
-Library RequestsLibrary
-Library UUID
-Library OperatingSystem
-Library Collections
-Resource global_properties.robot
-
-*** Variables ***
-${DCAE_HEALTH_CHECK_BODY} robot/assets/dcae/dcae_healthcheck.json
-${DCAE_HEALTH_CHECK_PATH} /gui
-
-*** Keywords ***
-Run DCAE Health Check
- [Documentation] Runs a DCAE health check
- ${auth}= Create List ${GLOBAL_DCAE_USERNAME} ${GLOBAL_DCAE_PASSWORD}
- Log Creating session ${GLOBAL_DCAE_SERVER}
- ${session}= Create Session dcae ${GLOBAL_DCAE_SERVER} auth=${auth}
- ${uuid}= Generate UUID
- ${data}= OperatingSystem.Get File ${DCAE_HEALTH_CHECK_BODY}
- ${headers}= Create Dictionary action=getTable Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
- ${resp}= Put Request dcae ${DCAE_HEALTH_CHECK_PATH} data=${data} headers=${headers}
- Log Received response from dcae ${resp.json()}
- Should Be Equal As Strings ${resp.status_code} 200
- Check DCAE Results ${resp.json()}
-
-Check DCAE Results
- [Documentation] Parse DCAE JSON response and make sure all rows have healthTestStatus=GREEN
- [Arguments] ${json}
- @{rows}= Get From Dictionary ${json['returns']} rows
- @{headers}= Get From Dictionary ${json['returns']} columns
-
- # Retrieve column names from headers
- ${columns}= Create List
- :for ${header} in @{headers}
- \ ${colName}= Get From Dictionary ${header} colName
- \ Append To List ${columns} ${colName}
-
- # Process each row making sure status=GREEN
- :for ${row} in @{rows}
- \ ${cells}= Get From Dictionary ${row} cells
- \ ${dict}= Make A Dictionary ${cells} ${columns}
- \ Dictionary Should Contain Item ${dict} healthTestStatus GREEN
-
-
-Make A Dictionary
- [Documentation] Given a list of column names and a list of dictionaries, map columname=value
- [Arguments] ${columns} ${names} ${valuename}=value
- ${dict}= Create Dictionary
- ${collength}= Get Length ${columns}
- ${namelength}= Get Length ${names}
- :for ${index} in range 0 ${collength}
- \ ${name}= Evaluate ${names}[${index}]
- \ ${valued}= Evaluate ${columns}[${index}]
- \ ${value}= Get From Dictionary ${valued} ${valueName}
- \ Set To Dictionary ${dict} ${name} ${value}
- [Return] ${dict}
\ No newline at end of file