blob: c261a19449c3c2f7e6db8041bc83b17e4639561d [file] [log] [blame]
Sushma M M98fa8772020-07-09 02:38:33 -05001*** Settings ***
2
Rahul Maheshwari142642d2021-08-24 00:00:15 -05003Documentation Test OpenBMC GUI "Certificates" sub-menu of "Security and access".
Sushma M M98fa8772020-07-09 02:38:33 -05004
Rahul Maheshwari41747da2020-11-17 09:09:52 -06005Resource ../../lib/gui_resource.robot
manashsarmab9feda72020-10-05 10:40:12 -05006Resource ../../../lib/certificate_utils.robot
Sushma M M98fa8772020-07-09 02:38:33 -05007
Rahul Maheshwari612f8dc2020-10-28 21:34:43 -05008Suite Setup Suite Setup Execution
Sushma M M98fa8772020-07-09 02:38:33 -05009Suite Teardown Close Browser
10Test Setup Test Setup Execution
11
12
13*** Variables ***
14
Rahul Maheshwari142642d2021-08-24 00:00:15 -050015${xpath_certificate_heading} //h1[text()="Certificates"]
manashsarma23d4ddc2020-10-05 05:35:29 -050016${xpath_add_certificate_button} //button[contains(text(),"Add new certificate")]
Rahul Maheshwari142642d2021-08-24 00:00:15 -050017${xpath_generate_csr_button} //*[@data-test-id='certificates-button-generateCsr']
manashsarma23d4ddc2020-10-05 05:35:29 -050018${xpath_generate_csr_heading} //h5[contains(text(), "Generate a Certificate Signing Request")]
19${xpath_select_certificate_type} //*[@data-test-id='modalGenerateCsr-select-certificateType']
20${xpath_select_country} //*[@data-test-id='modalGenerateCsr-select-country']
21${xpath_input_state} //*[@data-test-id='modalGenerateCsr-input-state']
22${xpath_input_city} //*[@data-test-id='modalGenerateCsr-input-city']
23${xpath_input_company_name} //*[@data-test-id='modalGenerateCsr-input-companyName']
24${xpath_input_company_unit} //*[@data-test-id='modalGenerateCsr-input-companyUnit']
25${xpath_input_common_name} //*[@data-test-id='modalGenerateCsr-input-commonName']
26${xpath_input_challenge_password} //*[@data-test-id='modalGenerateCsr-input-challengePassword']
27${xpath_input_contact_person} //*[@data-test-id='modalGenerateCsr-input-contactPerson']
28${xpath_input_email_address} //*[@data-test-id='modalGenerateCsr-input-emailAddress']
29${xpath_generate_csr_submit} //*[@data-test-id='modalGenerateCsr-button-ok']
manashsarma4e02bfc2020-11-02 03:03:29 -060030${xpath_csr_cancel_button} //button[contains(text(),"Cancel")]
manashsarma23d4ddc2020-10-05 05:35:29 -050031${xpath_input_alternate_name} //input[@id='alternate-name']
32${xpath_select_algorithm_button} //*[@data-test-id='modalGenerateCsr-select-keyPairAlgorithm']
Sushma M M98fa8772020-07-09 02:38:33 -050033
34*** Test Cases ***
35
Rahul Maheshwari142642d2021-08-24 00:00:15 -050036Verify Navigation To Certificate Page
37 [Documentation] Verify navigation to certificate page.
38 [Tags] Verify_Navigation_To_Certificate_Page
Sushma M M26302992020-08-31 01:15:26 -050039
40 Page Should Contain Element ${xpath_certificate_heading}
41
42
Sushma M M98fa8772020-07-09 02:38:33 -050043Verify Existence Of All Sections In Certificate Page
44 [Documentation] Verify existence of all sections in certificate page.
45 [Tags] Verify_Existence_Of_All_Sections_In_Certificate_Page
46
47 Page should contain Certificate
48 Page should contain Valid from
49 Page should contain Valid until
50
51
52Verify Existence Of Add Certificate Button
53 [Documentation] Verify existence of add certificate button.
54 [Tags] Verify_Existence_Of_Add_Certificate_Button
55
56 Page Should Contain Element ${xpath_add_certificate_button}
57
manashsarma23d4ddc2020-10-05 05:35:29 -050058Verify Generate CSR Certificate Button
59 [Documentation] Verify existence of all the fields of CSR generation.
60 [Tags] Verify_Generate_CSR_Certificate_Button
manashsarma4e02bfc2020-11-02 03:03:29 -060061 [Teardown] Click Element ${xpath_csr_cancel_button}
manashsarma23d4ddc2020-10-05 05:35:29 -050062
manashsarma4e02bfc2020-11-02 03:03:29 -060063 Page Should Contain Element ${xpath_generate_csr_button}
64 Click Element ${xpath_generate_csr_button}
65 Wait Until Page Contains Element ${xpath_generate_csr_heading}
66 Page Should Contain Element ${xpath_select_certificate_type}
67 Page Should Contain Element ${xpath_select_country}
68 Page Should Contain Element ${xpath_input_state}
69 Page Should Contain Element ${xpath_input_city}
70 Page Should Contain Element ${xpath_input_company_name}
71 Page Should Contain Element ${xpath_input_common_name}
72 Page Should Contain Element ${xpath_input_challenge_password}
73 Page Should Contain Element ${xpath_input_contact_person}
74 Page Should Contain Element ${xpath_input_email_address}
75 Page Should Contain Element ${xpath_input_alternate_name}
76 Page Should Contain Element ${xpath_select_algorithm_button}
77 Page Should Contain Element ${xpath_generate_csr_submit}
manashsarma23d4ddc2020-10-05 05:35:29 -050078
Sushma M M98fa8772020-07-09 02:38:33 -050079
manashsarmab9feda72020-10-05 10:40:12 -050080Verify Installed CA Certificate
81 [Documentation] Install CA certificate and verify the same via GUI.
82 [Tags] Verify_Installed_CA_Certificate
83
84 Delete All CA Certificate Via Redfish
85
86 # Install CA certificate via Redfish.
manashsarmab56a2532020-11-17 06:17:40 -060087 ${file_data}= Generate Certificate File Data CA
rramyasr-in10e4f102023-03-17 00:13:06 -050088 Install And Verify Certificate Via Redfish CA Valid Certificate ok
manashsarmab9feda72020-10-05 10:40:12 -050089
Ashwini Chandrappa8dcd93d2021-09-22 08:41:45 -050090 # Refresh GUI and verify CA certificate availability in GUI.
91 Refresh GUI
manashsarmad2376442020-12-16 05:14:10 -060092 Wait Until Page Contains CA Certificate timeout=10
manashsarmab9feda72020-10-05 10:40:12 -050093
94
manashsarmae07858a2020-10-16 06:09:46 -050095Verify Installed HTTPS Certificate
96 [Documentation] Install HTTPS certificate via Redfish and verify it in GUI.
97 [Tags] Verify_Installed_HTTPS_Certificate
98
Ashwini Chandrappa6b20ffa2021-08-04 03:18:37 -050099 # Replace HTTPS certificate.
rramyasr-in8fa81a92022-12-06 10:45:25 -0600100 Redfish.Login
Ashwini Chandrappa6b20ffa2021-08-04 03:18:37 -0500101 Replace Certificate Via Redfish Server Valid Certificate Valid Privatekey ok
rramyasr-in8fa81a92022-12-06 10:45:25 -0600102 Redfish.Logout
manashsarmae07858a2020-10-16 06:09:46 -0500103
104 # Verify certificate is available in GUI.
manashsarmad2376442020-12-16 05:14:10 -0600105 Wait Until Page Contains HTTPS Certificate timeout=10
manashsarmae07858a2020-10-16 06:09:46 -0500106
107
108Verify Installed LDAP Certificate
109 [Documentation] Install LDAP certificate via Redfish and verify it in GUI.
110 [Tags] Verify_Installed_LDAP_Certificate
111
112 Delete Certificate Via BMC CLI Client
113
114 # Install LDAP certificate.
manashsarmab56a2532020-11-17 06:17:40 -0600115 ${file_data}= Generate Certificate File Data Client
rramyasr-in10e4f102023-03-17 00:13:06 -0500116 Install And Verify Certificate Via Redfish Client Valid Certificate Valid Privatekey ok
manashsarmae07858a2020-10-16 06:09:46 -0500117
Ashwini Chandrappa8dcd93d2021-09-22 08:41:45 -0500118 # Refresh GUI and verify certificate is available in GUI.
119 Refresh GUI
manashsarmad2376442020-12-16 05:14:10 -0600120 Wait Until Page Contains LDAP Certificate timeout=10
manashsarmae07858a2020-10-16 06:09:46 -0500121
122
Sushma M M98fa8772020-07-09 02:38:33 -0500123*** Keywords ***
124
manashsarmab9feda72020-10-05 10:40:12 -0500125Generate Certificate File Data
126 [Documentation] Generate data of certificate file.
127
manashsarmab56a2532020-11-17 06:17:40 -0600128 [Arguments] ${cert_type}
129
130 # Description of Arguments(s):
131 # cert_type Certificate type (e.g. "Client" or "CA").
132
133 ${cert_file_path}= Run Keyword If '${cert_type}' == 'Client' or 'Server'
134 ... Generate Certificate File Via Openssl Valid Certificate Valid Privatekey
135 ... ELSE IF '${cert_type}' == 'CA'
136 ... Generate Certificate File Via Openssl Valid Certificate
manashsarmab9feda72020-10-05 10:40:12 -0500137 ${bytes}= OperatingSystem.Get Binary File ${cert_file_path}
138 ${file_data}= Decode Bytes To String ${bytes} UTF-8
139
140 [return] ${file_data}
141
142
Sushma M M98fa8772020-07-09 02:38:33 -0500143Test Setup Execution
144 [Documentation] Do test case setup tasks.
145
Rahul Maheshwari142642d2021-08-24 00:00:15 -0500146 Click Element ${xpath_secuity_and_accesss_menu}
147 Click Element ${xpath_certificates_sub_menu}
148 Wait Until Keyword Succeeds 30 sec 10 sec Location Should Contain certificates
rramyasr-in9e2c96f2023-01-24 07:59:34 -0600149 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30
manashsarmab9feda72020-10-05 10:40:12 -0500150
151
152Suite Setup Execution
153 [Documentation] Do test case suite setup tasks.
154
155 Launch Browser And Login GUI
156 Create Directory certificate_dir