summaryrefslogtreecommitdiffstats
path: root/robot/testsuites/update_onap_page.robot
blob: 2f8ca167bf762522f2dde66991df7c91a075087e (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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
*** Settings ***
Documentation   Initializes ONAP Test Web Page and Password

Library    Collections
Library    OperatingSystem
Library    StringTemplater
Resource          ../resources/openstack/keystone_interface.robot
Resource          ../resources/openstack/nova_interface.robot


Test Timeout    5 minutes

*** Variables ***
${URLS_HTML_TEMPLATE}   robot/assets/templates/web/index.html.template


${WEB_USER}       test
${WEB_PASSWORD}

${URLS_HTML}   html/index.html
${CREDENTIALS_FILE}   /etc/lighttpd/authorization
#${CREDENTIALS_FILE}   authorization

*** Test Cases ***
Update ONAP Page
    [Tags]   UpdateWebPage
    Run Keyword If   '${WEB_PASSWORD}' == ''   Fail   "WEB Password must not be empty"
    Run Openstack Auth Request    auth
    ${server_map}=    Get Openstack Servers    auth
    ${oam_ip_map}=   Create Dictionary
    Set To Dictionary    ${oam_ip_map}   10.0.0.1=onapdns
    Set To Dictionary    ${oam_ip_map}   10.0.1.1=aai
    Set To Dictionary    ${oam_ip_map}   10.0.2.1=appc
    Set To Dictionary    ${oam_ip_map}   10.0.3.1=sdc
    Set To Dictionary    ${oam_ip_map}   10.0.4.1=dcae_controller
    Set To Dictionary    ${oam_ip_map}   10.0.4.105=dcae_cdap
    Set To Dictionary    ${oam_ip_map}   10.0.4.102=dcae_coll
    Set To Dictionary    ${oam_ip_map}   10.0.5.1=mso
    Set To Dictionary    ${oam_ip_map}   10.0.6.1=policy
    Set To Dictionary    ${oam_ip_map}   10.0.7.1=sdnc
    Set To Dictionary    ${oam_ip_map}   10.0.8.1=vid
    Set To Dictionary    ${oam_ip_map}   10.0.9.1=portal
    Set To Dictionary    ${oam_ip_map}   10.0.10.1=robot
    Set To Dictionary    ${oam_ip_map}   10.0.11.1=message_router

    ${values}=   Create Dictionary
    ${keys}=    Get Dictionary Keys    ${oam_ip_map}
    :for   ${oam_ip}   in    @{keys}
    \    ${value_name}=   Get From Dictionary    ${oam_ip_map}   ${oam_ip}
    \    Set Public Ip    ${server_map}    ${oam_ip}   ${value_name}   ${values}
    Log    ${values}
    Run Keyword If   '${WEB_PASSWORD}' != ''   Create File   ${CREDENTIALS_FILE}   ${WEB_USER}:${WEB_PASSWORD}
    Create File From Template   ${URLS_HTML_TEMPLATE}   ${URLS_HTML}   ${values}

*** Keywords ***
Create File From Template
    [Arguments]    ${template}   ${file}   ${values}
    ${data}    OperatingSystem.Get File   ${template}
    ${data}=   Template String   ${data}   ${values}
    Create File     ${file}   ${data}

Set Public Ip
    [Arguments]   ${server_map}    ${oam_ip}   ${value_name}   ${values}
    ${status}   ${public_ip}=   Run Keyword And Ignore Error  Get Public Ip   ${server_map}    ${oam_ip}
    ${public_ip}=   Set Variable If   '${status}' == 'PASS'   ${public_ip}   ${oam_ip}
    Set To Dictionary   ${values}   ${value_name}   ${public_ip}

Get Public Ip
    [Arguments]   ${server_map}    ${oam_ip}
    ${servers}   Get Dictionary Values    ${server_map}
    :for   ${server}   in   @{servers}
    \    ${status}   ${public_ip}   Run Keyword And Ignore Error   Search Addresses   ${server}   ${oam_ip}
    \    Return From Keyword If   '${status}'=='PASS'   ${public_ip}
    Fail  ${oam_ip} Server Not Found

Search Addresses
    [Arguments]   ${server}   ${oam_ip}
    ${addresses}   Get From Dictionary   ${server}   addresses
    ${status}   ${public_ip}=   Run Keyword And Ignore Error   Find Rackspace   ${addresses}   ${oam_ip}
    Return From Keyword If   '${status}'=='PASS'   ${public_ip}
    ${status}   ${public_ip}=   Run Keyword And Ignore Error   Find Openstack   ${addresses}   ${oam_ip}
    Return From Keyword If   '${status}'=='PASS'   ${public_ip}
    Fail  ${oam_ip} Server Not Found

Find Rackspace
    [Arguments]   ${addresses}   ${oam_ip}
    ${public_ips}   Get From Dictionary   ${addresses}   public
    ${public_ip}=   Get V4 IP   ${public_ips}
    ${oam_ips}   Get From Dictionary   ${addresses}   ${GLOBAL_INJECTED_NETWORK}
    ${this_oam_ip}=   Get V4 IP   ${oam_ips}
    Return From Keyword If   '${this_oam_ip}' == '${oam_ip}'   ${public_ip}
    Fail  ${oam_ip} Server Not Found

Find Openstack
    [Arguments]   ${addresses}   ${oam_ip}    
    ${ips}   Get From Dictionary   ${addresses}   ${GLOBAL_INJECTED_NETWORK}
    ${public_ip}=   Get V4 IP Openstack   ${ips}   floating
    ##${oam_ips}   Get From Dictionary   ${addresses}   ${GLOBAL_INJECTED_NETWORK}
    ${this_oam_ip}=    Get V4 IP Openstack   ${ips}   fixed
    Return From Keyword If   '${this_oam_ip}'=='${oam_ip}'   ${public_ip}
    Fail  ${oam_ip} Server Not Found

Get V4 IP
    [Arguments]   ${ipmaps}
    :for   ${ipmap}   in   @{ipmaps}
    \    ${ip}   Get From Dictionary   ${ipmap}   addr
    \    ${version}   Get From Dictionary   ${ipmap}   version
    \    Return from Keyword if   '${version}' == '4'   ${ip}
    Fail  No Version 4 IP

Get V4 IP Openstack
    [Arguments]   ${ipmaps}   ${testtype}
    :for   ${ipmap}   in   @{ipmaps}
    \    ${type}   Get From Dictionary   ${ipmap}   OS-EXT-IPS:type
    \    ${ip}   Get From Dictionary   ${ipmap}   addr
    \    ${version}   Get From Dictionary   ${ipmap}   version
    \    Return from Keyword if   '${version}'=='4' and '${type}'=='${testtype}'   ${ip}
    Fail  No Version 4 IP