2 Documentation The main interface for interacting with DCAE. It handles low level stuff like managing the http request library and DCAE required fields
3 Library RequestsLibrary
5 Library OperatingSystem
7 Resource global_properties.robot
10 ${DCAE_HEALTH_CHECK_BODY} robot/assets/dcae/dcae_healthcheck.json
11 ${DCAE_HEALTH_CHECK_PATH} /gui
15 [Documentation] Runs a DCAE health check
16 ${auth}= Create List ${GLOBAL_DCAE_USERNAME} ${GLOBAL_DCAE_PASSWORD}
17 Log Creating session ${GLOBAL_DCAE_SERVER}
18 ${session}= Create Session dcae ${GLOBAL_DCAE_SERVER} auth=${auth}
19 ${uuid}= Generate UUID
20 ${data}= OperatingSystem.Get File ${DCAE_HEALTH_CHECK_BODY}
21 ${headers}= Create Dictionary action=getTable Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
22 ${resp}= Put Request dcae ${DCAE_HEALTH_CHECK_PATH} data=${data} headers=${headers}
23 Log Received response from dcae ${resp.json()}
24 Should Be Equal As Strings ${resp.status_code} 200
25 Check DCAE Results ${resp.json()}
28 [Documentation] Parse DCAE JSON response and make sure all rows have healthTestStatus=GREEN
30 @{rows}= Get From Dictionary ${json['returns']} rows
31 @{headers}= Get From Dictionary ${json['returns']} columns
33 # Retrieve column names from headers
34 ${columns}= Create List
35 :for ${header} in @{headers}
36 \ ${colName}= Get From Dictionary ${header} colName
37 \ Append To List ${columns} ${colName}
39 # Process each row making sure status=GREEN
40 :for ${row} in @{rows}
41 \ ${cells}= Get From Dictionary ${row} cells
42 \ ${dict}= Make A Dictionary ${cells} ${columns}
43 \ Dictionary Should Contain Item ${dict} healthTestStatus GREEN
47 [Documentation] Given a list of column names and a list of dictionaries, map columname=value
48 [Arguments] ${columns} ${names} ${valuename}=value
49 ${dict}= Create Dictionary
50 ${collength}= Get Length ${columns}
51 ${namelength}= Get Length ${names}
52 :for ${index} in range 0 ${collength}
53 \ ${name}= Evaluate ${names}[${index}]
54 \ ${valued}= Evaluate ${columns}[${index}]
55 \ ${value}= Get From Dictionary ${valued} ${valueName}
56 \ Set To Dictionary ${dict} ${name} ${value}