summaryrefslogtreecommitdiffstats
path: root/tests/multicloud-vmware/nova/sanity-host.robot
blob: 444c68e1a8bb38bba1a9cb0b3584abb2baa60577 (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
*** settings ***
Resource    ../../common.robot
Library     Collections
Library     RequestsLibrary
Library     OperatingSystem
Library     json
Library     HttpLibrary.HTTP


*** Variables ***
@{return_ok_list}=   200  201  202
${get_token_url}    /api/multicloud-vio/v0/vmware_fake/identity/v3/auth/tokens

#json files
${auth_info_json}       ${SCRIPTS}/../tests/multicloud-vmware/provision/jsoninput/auth_info.json

#global vars
${TOKEN}
${TENANTID}
${host1Id} 

*** Test Cases ***

GetAuthToken
    [Documentation]    Sanity test -  Get Auth Token
    ${json_value}=      json_from_file      ${auth_info_json}
    ${json_string}=     string_from_json   ${json_value}
    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
    Create Session    web_session    http://${VIO_IP}:9004     headers=${headers}
    ${resp}=  POST Request    web_session    ${get_token_url}  ${json_string}
    ${responese_code}=     Convert To String      ${resp.status_code}
    List Should Contain Value    ${return_ok_list}   ${responese_code}
    ${response_json}    json.loads    ${resp.content}
    ${TOKEN}=    Convert To String      ${response_json['token']['value']}
    ${TENANTID}=    Convert To String   ${response_json['token']['project']['id']}
    Set Global Variable   ${TOKEN}
    Set Global Variable   ${TENANTID}

TestListHosts
    [Documentation]    Sanity Test - List Hosts
    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
    ${resp}=  Get Request    web_session    api/multicloud-vio/v0/vmware_fake/nova/${TENANTID}/os-hypervisors/detail
    ${response_code}=     Convert To String      ${resp.status_code}
    List Should Contain Value    ${return_ok_list}   ${response_code}
    ${response_json}    json.loads    ${resp.content}
    #Log To Console        ${response_json}
    ${host1Id}=    Convert To String      ${response_json['hypervisors'][0]['service']['id']}
    Set Global Variable   ${host1Id}

TestGetHost
    [Documentation]    Sanity Test - Get Host
    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
    ${resp}=  Get Request    web_session    api/multicloud-vio/v0/vmware_fake/nova/${TENANTID}/os-hypervisors/${host1Id}
    ${response_code}=     Convert To String      ${resp.status_code}
    List Should Contain Value    ${return_ok_list}   ${response_code}
    ${response_json}    json.loads    ${resp.content}
    #Log To Console        ${response_json}

TestHostUptime
    [Documentation]    Sanity Test - Host Uptime
    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
    ${resp}=  Get Request    web_session    api/multicloud-vio/v0/vmware_fake/nova/${TENANTID}/os-hypervisors/uptime
    ${response_code}=     Convert To String      ${resp.status_code}
    List Should Contain Value    ${return_ok_list}   ${response_code}
    ${response_json}    json.loads    ${resp.content}
    #Log To Console        ${response_json}


TestHostAggregates
    [Documentation]    Sanity Test - Host Aggregates
    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json  X-Auth-Token=${TOKEN}
    Create Session    web_session    http://${VIO_IP}:9004    headers=${headers}
    ${resp}=  Get Request    web_session    api/multicloud-vio/v0/vmware_fake/nova/${TENANTID}/os-aggregates
    ${response_code}=     Convert To String      ${resp.status_code}
    List Should Contain Value    ${return_ok_list}   ${response_code}
    ${response_json}    json.loads    ${resp.content}
    #Log To Console        ${response_json}