summaryrefslogtreecommitdiffstats
path: root/robot/resources/dcae_interface.robot
blob: 8cf9f2119132e094d8ba220e8c5846b59dafb648 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
*** 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_PATH}    /healthcheck
${DCAE_ENDPOINT}     ${GLOBAL_DCAE_SERVER_PROTOCOL}://${GLOBAL_INJECTED_DCAE_IP_ADDR}:${GLOBAL_DCAE_SERVER_PORT}

*** Keywords ***
Run DCAE Health Check
    [Documentation]    Runs a DCAE health check
    ${auth}=  Create List  ${GLOBAL_DCAE_USERNAME}    ${GLOBAL_DCAE_PASSWORD}
    Log    Creating session ${DCAE_ENDPOINT}
    ${session}=    Create Session   dcae  ${DCAE_ENDPOINT}    auth=${auth}
    ${uuid}=    Generate UUID
    ${headers}=  Create Dictionary     X-ECOMP-Client-Version=ONAP-R2   action=getTable    Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
    ${resp}=  Get Request   dcae  ${DCAE_HEALTH_CHECK_PATH}     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 (except for the exceptions ;-)
    [Arguments]    ${json}
    # ${service_names} to contain only the names of services that are passing
    ${service_names}=    Evaluate    map( lambda s: s['ServiceName'], filter(lambda s: s['Status'] == 'passing', ${json} ))
    Should Contain Match    ${service_names}   cdap
    Should Contain Match    ${service_names}   cdap_broker
    Should Contain Match    ${service_names}   config_binding_service
    Should Contain Match    ${service_names}   deployment_handler
    Should Contain Match    ${service_names}   inventory
    Should Contain Match    ${service_names}   service_change_handler
    Should Contain Match    ${service_names}   policy_handler
    Should Contain Match    ${service_names}   platform_dockerhost
    Should Contain Match    ${service_names}   component_dockerhost
    Should Contain Match    ${service_names}   cloudify_manager
    Should Contain Match    ${service_names}   VES
    Should Contain Match    ${service_names}   TCA
    Should Contain Match    ${service_names}   regexp=.*holmes
    [Return]   ${service_names}