blob: 6c15780bcd804b29712c579ce8bba43a37496f8a [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
manashsarmab9feda72020-10-05 10:40:12 -050088 Install Certificate File On BMC ${REDFISH_CA_CERTIFICATE_URI} ok data=${file_data}
89
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.
100 Replace Certificate Via Redfish Server Valid Certificate Valid Privatekey ok
manashsarmae07858a2020-10-16 06:09:46 -0500101
102 # Verify certificate is available in GUI.
manashsarmad2376442020-12-16 05:14:10 -0600103 Wait Until Page Contains HTTPS Certificate timeout=10
manashsarmae07858a2020-10-16 06:09:46 -0500104
105
106Verify Installed LDAP Certificate
107 [Documentation] Install LDAP certificate via Redfish and verify it in GUI.
108 [Tags] Verify_Installed_LDAP_Certificate
109
110 Delete Certificate Via BMC CLI Client
111
112 # Install LDAP certificate.
manashsarmab56a2532020-11-17 06:17:40 -0600113 ${file_data}= Generate Certificate File Data Client
manashsarmae07858a2020-10-16 06:09:46 -0500114 Install Certificate File On BMC ${REDFISH_LDAP_CERTIFICATE_URI} ok data=${file_data}
115
Ashwini Chandrappa8dcd93d2021-09-22 08:41:45 -0500116 # Refresh GUI and verify certificate is available in GUI.
117 Refresh GUI
manashsarmad2376442020-12-16 05:14:10 -0600118 Wait Until Page Contains LDAP Certificate timeout=10
manashsarmae07858a2020-10-16 06:09:46 -0500119
120
Sushma M M98fa8772020-07-09 02:38:33 -0500121*** Keywords ***
122
manashsarmab9feda72020-10-05 10:40:12 -0500123Generate Certificate File Data
124 [Documentation] Generate data of certificate file.
125
manashsarmab56a2532020-11-17 06:17:40 -0600126 [Arguments] ${cert_type}
127
128 # Description of Arguments(s):
129 # cert_type Certificate type (e.g. "Client" or "CA").
130
131 ${cert_file_path}= Run Keyword If '${cert_type}' == 'Client' or 'Server'
132 ... Generate Certificate File Via Openssl Valid Certificate Valid Privatekey
133 ... ELSE IF '${cert_type}' == 'CA'
134 ... Generate Certificate File Via Openssl Valid Certificate
manashsarmab9feda72020-10-05 10:40:12 -0500135 ${bytes}= OperatingSystem.Get Binary File ${cert_file_path}
136 ${file_data}= Decode Bytes To String ${bytes} UTF-8
137
138 [return] ${file_data}
139
140
Sushma M M98fa8772020-07-09 02:38:33 -0500141Test Setup Execution
142 [Documentation] Do test case setup tasks.
143
Rahul Maheshwari142642d2021-08-24 00:00:15 -0500144 Click Element ${xpath_secuity_and_accesss_menu}
145 Click Element ${xpath_certificates_sub_menu}
146 Wait Until Keyword Succeeds 30 sec 10 sec Location Should Contain certificates
manashsarmab9feda72020-10-05 10:40:12 -0500147
148
149Suite Setup Execution
150 [Documentation] Do test case suite setup tasks.
151
152 Launch Browser And Login GUI
153 Create Directory certificate_dir