| *** Settings *** |
| Documentation Test BMC multiple network interface functionalities via GUI. |
| |
| Resource ../../lib/gui_resource.robot |
| Resource ../../../lib/resource.robot |
| Resource ../../../lib/certificate_utils.robot |
| |
| Suite Setup Suite Setup Execution |
| Test Teardown FFDC On Test Case Fail |
| |
| *** Variables *** |
| |
| ${bmc_url} https://${OPENBMC_HOST} |
| ${bmc_url_1} https://${OPENBMC_HOST_1} |
| ${LDAP_FILE_PATH} ${EMPTY} |
| ${CA_FILE_PATH} ${EMPTY} |
| |
| ${xpath_add_new_certificate} //*[contains(text(), ' Add new certificate ')] |
| ${xpath_certificate_type} //*[@id="certificate-type"] |
| ${xpath_upload_file} //*[@id="certificate-file"] |
| ${xpath_load_certificate} //button[text()=' Add '] |
| ${xpath_close_poup} //*[@class="close ml-auto mb-1"] |
| |
| *** Test Cases *** |
| |
| Verify BMC GUI Is Accessible Via Both Network Interfaces |
| [Documentation] Verify BMC GUI is accessible via both network interfaces. |
| [Tags] Verify_BMC_GUI_Is_Accessible_Via_Both_Network_Interfaces |
| [Teardown] Close All Browsers |
| |
| Start Virtual Display |
| ${browser_ID}= Open Browser ${bmc_url} alias=tab1 |
| Set Window Size 1920 1080 |
| ${browser_ID}= Open Browser ${bmc_url_1} alias=tab2 |
| Set Window Size 1920 1080 |
| Switch Browser tab1 |
| Run Keywords Login GUI AND Logout GUI |
| Switch Browser tab2 |
| Run Keywords Login GUI AND Logout GUI |
| |
| |
| Load Certificates Via Eth1 IP Address And Verify |
| [Documentation] Verify ability to load LDAP certificate using eth1 IP address. |
| [Tags] Load_Certificates_Via_Eth1_IP_Address_And_Verify |
| [Template] Load Certificates On BMC Via GUI |
| |
| # bmc_url certificate_type file_path |
| ${bmc_url_1} Client ${LDAP_FILE_PATH} |
| ${bmc_url_1} CA ${CA_FILE_PATH} |
| |
| |
| *** keywords *** |
| |
| Suite Setup Execution |
| [Documentation] Do suite setup task. |
| |
| Valid Value OPENBMC_HOST_1 |
| |
| # Check both interfaces are configured and reachable. |
| Ping Host ${OPENBMC_HOST} |
| Ping Host ${OPENBMC_HOST_1} |
| |
| |
| Load Certificates On BMC Via GUI |
| [Documentation] Load certificate on BMC via GUI. |
| [Arguments] ${bmc_url} ${certificate_type} ${file_path} ${delete_cert}=${True} |
| [Teardown] Run Keywords Logout GUI AND Close Browser |
| |
| # Description of argument(s): |
| # bmc_url Openbmc GUI URL to be open. |
| # certificate_type Certificate type. |
| # (e.g. "LDAP Certificate" or "CA Certificate"). |
| # file_path Certificate file path (e.g. "/home/folder/file.pem"). |
| |
| ${path} ${ext}= Split Extension ${file_path} |
| Run Keyword If '${certificate_type}' == 'CA' and '${delete_cert}' == '${True}' |
| ... Delete All CA Certificate Via Redfish |
| ... ELSE IF '${certificate_type}' == 'Client' and '${delete_cert}' == '${True}' |
| ... Delete Certificate Via BMC CLI ${certificate_type} |
| |
| Set Test Variable ${obmc_gui_url} https://${OPENBMC_HOST_1} |
| Launch Browser And Login GUI |
| Navigate To SSL Certificate Page |
| Sleep 10s |
| Click Element ${xpath_add_new_certificate} |
| |
| Wait Until Page Contains Element ${xpath_certificate_type} timeout=20s |
| Run Keyword If '${certificate_type}' == 'CA' |
| ... Select From List By Label ${xpath_certificate_type} CA Certificate |
| ... ELSE IF '${certificate_type}' == 'Client' |
| ... Select From List By Label ${xpath_certificate_type} LDAP Certificate |
| |
| Choose File ${xpath_upload_file} ${file_path} |
| Click Element ${xpath_load_certificate} |
| |
| Run Keyword If '${ext}' !='pem' Wait Until Page Contains Error adding certificate. |
| |
| Run Keyword If '${certificate_type}' == 'CA' |
| ... Wait Until Page Contains Successfully added CA Certificate. |
| ... ELSE IF '${certificate_type}' == 'Client' |
| ... Wait Until Page Contains Successfully added LDAP Certificate. |
| Click Element ${xpath_close_poup} |
| |
| |
| Navigate To SSL Certificate Page |
| [Documentation] Navigate to SSL Certificate page. |
| |
| Click Element ${xpath_secuity_and_accesss_menu} |
| Click Element ${xpath_certificates_sub_menu} |
| Wait Until Keyword Succeeds 30 sec 10 sec Location Should Contain certificates |
| |