1*** Settings ***
2
3Documentation  Test OpenBMC GUI "LDAP" sub-menu of "Access control".
4
5Resource        ../../lib/resource.robot
6
7Suite Setup     Launch Browser And Login OpenBMC GUI
8Suite Teardown  Close Browser
9Test Setup      Test Setup Execution
10
11
12*** Variables ***
13
14${xpath_enable_ldap_checkbox}           //*[@id='ldap-auth-label']
15${xpath_secure_ldap_checkbox}           //*[@id='use-ssl']
16${xpath_openl_ldap_radio_button}        //input[@id='open-ldap']
17${xpath_active_directory_radio_button}  //input[@id='active-directory']
18${xpath_save_button}                    //button[contains(text(),'Save')]
19${xpath_reset_button}                   //button[contains(text(),'Reset')]
20${xpath_add_role_group_button}          //button[@type='button']//*[contains(text(),'Add role group')]
21${xpath_remove_role_groups_button}      //button[@type='button']//*[contains(text(),'Remove role groups')]
22
23*** Test Cases ***
24
25Verify Existence Of All Sections In LDAP Page
26    [Documentation]  Verify existence of all sections in LDAP page.
27    [Tags]  Verify_Existence_Of_All_Sections_In_LDAP_Page
28
29    Page Should Contain  Settings
30    Page Should Contain  Role groups
31
32
33Verify Existence Of All Buttons In LDAP Page
34    [Documentation]  Verify existence of all buttons in LDAP page.
35    [Tags]  Verify_Existence_Of_All_Buttons_In_LDAP_Page
36
37    # Buttons under settings section
38    Page Should Contain Element  ${xpath_openl_ldap_radio_button}
39    Page Should Contain Element  ${xpath_active_directory_radio_button}
40    Page Should Contain Element  ${xpath_save_button}
41    Page Should Contain Element  ${xpath_reset_button}
42
43    # Buttons under role groups section
44    Page Should Contain Element  ${xpath_add_role_group_button}
45    Page Should Contain Element  ${xpath_remove_role_groups_button}
46
47
48Verify Existence Of All Checkboxes In LDAP Page
49    [Documentation]  Verify existence of all checkboxes in LDAP page.
50    [Tags]  Verify_Existence_Of_All_Checkboxes_In_LDAP_Page
51
52    # Checkboxes under settings section
53    Page Should Contain Element  ${xpath_enable_ldap_checkbox}
54    Page Should Contain Element  ${xpath_secure_ldap_checkbox}
55
56
57*** Keywords ***
58
59Test Setup Execution
60    [Documentation]  Do test case setup tasks.
61
62    Wait Until Page Does Not Contain Element  ${xpath_refresh_circle}
63    Click Element  ${xpath_select_access_control}
64    Wait Until Page Does Not Contain Element  ${xpath_refresh_circle}
65    Click Element  ${xpath_select_ldap}
66    Wait Until Page Contains  Configure LDAP settings and manage role groups
67