1b7af8177Smanashsarma*** Settings *** 2b7af8177Smanashsarma 3b7af8177SmanashsarmaDocumentation VMI certificate exchange tests. 4b7af8177Smanashsarma 55fc20cb9Sshrsuman123Library ../../lib/jobs_processing.py 6b7af8177SmanashsarmaResource ../../lib/resource.robot 7b7af8177SmanashsarmaResource ../../lib/bmc_redfish_resource.robot 8b7af8177SmanashsarmaResource ../../lib/openbmc_ffdc.robot 9b7af8177SmanashsarmaResource ../../lib/bmc_redfish_utils.robot 10b7af8177SmanashsarmaResource ../../lib/utils.robot 11b7af8177Smanashsarma 12b7af8177SmanashsarmaSuite Setup Suite Setup Execution 13b7af8177SmanashsarmaTest Teardown FFDC On Test Case Fail 144e0978d9SGeorge KeishingSuite Teardown Run Keyword And Ignore Error Suite Teardown Execution 15b7af8177Smanashsarma 166fb70d98SMatt FischerTest Tags Vmicert_Management 17725e066bSGeorge Keishing 18b7af8177Smanashsarma 19b7af8177Smanashsarma*** Variables *** 20b7af8177Smanashsarma 21b7af8177Smanashsarma# users User Name password 22b7af8177Smanashsarma@{ADMIN} admin_user TestPwd123 23b7af8177Smanashsarma@{OPERATOR} operator_user TestPwd123 247ee28257SPrashanth Katti@{ReadOnly} readonly_user TestPwd123 257ee28257SPrashanth Katti@{NoAccess} noaccess_user TestPwd123 267c0f9d4cSPrashanth Katti# Removing Operator, need to add it back once support is given. 277c0f9d4cSPrashanth Katti&{USERS} Administrator=${ADMIN} ReadOnly=${ReadOnly} 28b7af8177Smanashsarma${VMI_BASE_URI} /ibm/v1/ 295fc20cb9Sshrsuman123 30b7af8177Smanashsarma 31b7af8177Smanashsarma*** Test Cases *** 32b7af8177Smanashsarma 33b7af8177SmanashsarmaGet CSR Request Signed By VMI And Verify 34b7af8177Smanashsarma [Documentation] Get CSR request signed by VMI using different user roles and verify. 35b7af8177Smanashsarma [Tags] Get_CSR_Request_Signed_By_VMI_And_Verify 36b7af8177Smanashsarma [Template] Get Certificate Signed By VMI 37b7af8177Smanashsarma 38b7af8177Smanashsarma # username password force_create valid_csr valid_status_code 39b7af8177Smanashsarma ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 407ee28257SPrashanth Katti 417ee28257SPrashanth Katti # Send CSR request from operator user. 427c0f9d4cSPrashanth Katti # operator_user TestPwd123 ${False} ${True} ${HTTP_FORBIDDEN} 43b7af8177Smanashsarma 447ee28257SPrashanth Katti # Send CSR request from ReadOnly user. 457ee28257SPrashanth Katti readonly_user TestPwd123 ${False} ${True} ${HTTP_FORBIDDEN} 467ee28257SPrashanth Katti 477ee28257SPrashanth Katti # Send CSR request from NoAccess user. 487c0f9d4cSPrashanth Katti # noaccess_user TestPwd123 ${False} ${True} ${HTTP_FORBIDDEN} 497ee28257SPrashanth Katti 50b7af8177Smanashsarma 514203fad2SGeorge KeishingGet Root Certificate Using Different Privilege Users Role 52b7af8177Smanashsarma [Documentation] Get root certificate using different users. 534203fad2SGeorge Keishing [Tags] Get_Root_Certificate_Using_Different_Privilege_Users_Role 54b7af8177Smanashsarma [Template] Get Root Certificate 55b7af8177Smanashsarma 56b7af8177Smanashsarma # username password force_create valid_csr valid_status_code 577ee28257SPrashanth Katti # Request root certificate from admin user. 58b7af8177Smanashsarma admin_user TestPwd123 ${True} ${True} ${HTTP_OK} 597ee28257SPrashanth Katti 607ee28257SPrashanth Katti # Request root certificate from operator user. 617c0f9d4cSPrashanth Katti # operator_user TestPwd123 ${False} ${True} ${HTTP_FORBIDDEN} 62b7af8177Smanashsarma 637ee28257SPrashanth Katti # Request root certificate from ReadOnly user. 647ee28257SPrashanth Katti readonly_user TestPwd123 ${False} ${True} ${HTTP_FORBIDDEN} 657ee28257SPrashanth Katti 667ee28257SPrashanth Katti # Request root certificate from NoAccess user. 677c0f9d4cSPrashanth Katti # noaccess_user TestPwd123 ${False} ${True} ${HTTP_FORBIDDEN} 687ee28257SPrashanth Katti 697ee28257SPrashanth Katti 707ee28257SPrashanth KattiSend CSR Request When VMI Is Off And Verify 717ee28257SPrashanth Katti [Documentation] Send CSR signing request to VMI when it is off and expect an error. 724203fad2SGeorge Keishing [Tags] Send_CSR_Request_When_VMI_Is_Off_And_Verify 737ee28257SPrashanth Katti [Setup] Redfish Power Off 745d88077cSMegha G N [Teardown] Run Keywords Redfish Power On stack_mode=skip AND 755d88077cSMegha G N ... Wait For Host Boot Progress To Reach Required State 767ee28257SPrashanth Katti [Template] Get Certificate Signed By VMI 777ee28257SPrashanth Katti 78932759bfSshrsuman123 # username password force_create valid_csr valid_status_code read_timeout 79932759bfSshrsuman123 ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_SERVICE_UNAVAILABLE} 60 807ee28257SPrashanth Katti 817ee28257SPrashanth Katti # Send CSR request from operator user. 827c0f9d4cSPrashanth Katti # operator_user TestPwd123 ${False} ${True} ${HTTP_FORBIDDEN} 837ee28257SPrashanth Katti 847ee28257SPrashanth Katti # Send CSR request from ReadOnly user. 853f70a6a1Sshrsuman123 readonly_user TestPwd123 ${False} ${True} ${HTTP_FORBIDDEN} 867ee28257SPrashanth Katti 877ee28257SPrashanth Katti # Send CSR request from NoAccess user. 887c0f9d4cSPrashanth Katti # noaccess_user TestPwd123 ${False} ${True} ${HTTP_FORBIDDEN} 897c0f9d4cSPrashanth Katti 907ee28257SPrashanth Katti 911b1c2a42Sshrsuman123Get Corrupted CSR Request Signed By VMI And Verify 921b1c2a42Sshrsuman123 [Documentation] Send corrupted CSR for signing and expect an error. 931b1c2a42Sshrsuman123 [Tags] Get_Corrupted_CSR_Request_Signed_By_VMI_And_Verify 941b1c2a42Sshrsuman123 [Template] Get Certificate Signed By VMI 951b1c2a42Sshrsuman123 96932759bfSshrsuman123 # username password force_create valid_csr valid_status_code read_timeout 977c0f9d4cSPrashanth Katti ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 60 981b1c2a42Sshrsuman123 991b1c2a42Sshrsuman123 # Send CSR request from operator user. 1007c0f9d4cSPrashanth Katti # operator_user TestPwd123 ${False} ${False} ${HTTP_FORBIDDEN} 1011b1c2a42Sshrsuman123 1021b1c2a42Sshrsuman123 # Send CSR request from ReadOnly user. 1031b1c2a42Sshrsuman123 readonly_user TestPwd123 ${False} ${False} ${HTTP_FORBIDDEN} 1041b1c2a42Sshrsuman123 1051b1c2a42Sshrsuman123 # Send CSR request from NoAccess user. 1067c0f9d4cSPrashanth Katti # noaccess_user TestPwd123 ${False} ${False} ${HTTP_FORBIDDEN} 1077c0f9d4cSPrashanth Katti 1081b1c2a42Sshrsuman123 10968bdcae0Sshrsuman123Get Root Certificate When VMI Is Off And Verify 11068bdcae0Sshrsuman123 [Documentation] Get root certificate when vmi is off and verify. 11168bdcae0Sshrsuman123 [Tags] Get_Root_Certificate_When_VMI_Is_Off_And_Verify 11268bdcae0Sshrsuman123 [Setup] Redfish Power Off 1135d88077cSMegha G N [Teardown] Run Keywords Redfish Power On stack_mode=skip AND 1145d88077cSMegha G N ... Wait For Host Boot Progress To Reach Required State 11568bdcae0Sshrsuman123 [Template] Get Root Certificate 1161b1c2a42Sshrsuman123 11768bdcae0Sshrsuman123 # username password force_create valid_csr valid_status_code 11868bdcae0Sshrsuman123 ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 11968bdcae0Sshrsuman123 12068bdcae0Sshrsuman123 # Request root certificate from operator user. 1217c0f9d4cSPrashanth Katti # operator_user TestPwd123 ${False} ${True} ${HTTP_FORBIDDEN} 12268bdcae0Sshrsuman123 12368bdcae0Sshrsuman123 # Request root certificate from ReadOnly user. 12468bdcae0Sshrsuman123 readonly_user TestPwd123 ${False} ${True} ${HTTP_FORBIDDEN} 12568bdcae0Sshrsuman123 12668bdcae0Sshrsuman123 # Request root certificate from NoAccess user. 1277c0f9d4cSPrashanth Katti # noaccess_user TestPwd123 ${False} ${True} ${HTTP_FORBIDDEN} 12868bdcae0Sshrsuman123 12968bdcae0Sshrsuman123 13068bdcae0Sshrsuman123Get Root Certificate After BMC Reboot And Verify 13168bdcae0Sshrsuman123 [Documentation] Get root certificate after bmc reboot and verify. 13268bdcae0Sshrsuman123 [Tags] Get_Root_Certificate_After_BMC_Reboot_And_Verify 1337c0f9d4cSPrashanth Katti [Setup] Run Keywords OBMC Reboot (off) stack_mode=skip AND Redfish Power On 13468bdcae0Sshrsuman123 [Template] Get Root Certificate 13568bdcae0Sshrsuman123 13668bdcae0Sshrsuman123 # username password force_create valid_csr valid_status_code 13768bdcae0Sshrsuman123 ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 13868bdcae0Sshrsuman123 13968bdcae0Sshrsuman123 # Request root certificate from operator user. 1407c0f9d4cSPrashanth Katti # operator_user TestPwd123 ${False} ${True} ${HTTP_FORBIDDEN} 14168bdcae0Sshrsuman123 14268bdcae0Sshrsuman123 # Request root certificate from ReadOnly user. 14368bdcae0Sshrsuman123 readonly_user TestPwd123 ${False} ${True} ${HTTP_FORBIDDEN} 14468bdcae0Sshrsuman123 14568bdcae0Sshrsuman123 # Request root certificate from NoAccess user. 1467c0f9d4cSPrashanth Katti # noaccess_user TestPwd123 ${False} ${True} ${HTTP_FORBIDDEN} 1477c0f9d4cSPrashanth Katti 148b7af8177Smanashsarma 1495fc20cb9Sshrsuman123Get Concurrent Root Certificate Requests From Multiple Admin Users 1505fc20cb9Sshrsuman123 [Documentation] Get multiple concurrent root certificate requests from multiple admins 1515fc20cb9Sshrsuman123 ... and verify no errors. 1525fc20cb9Sshrsuman123 [Tags] Get_Concurrent_Root_Certificate_Requests_From_Multiple_Admin_Users 1535fc20cb9Sshrsuman123 1545fc20cb9Sshrsuman123 FOR ${i} IN RANGE ${5} 1555fc20cb9Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 1565fc20cb9Sshrsuman123 ... Get Root Certificate ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 1575fc20cb9Sshrsuman123 ... Get Root Certificate ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 1585fc20cb9Sshrsuman123 ... Get Root Certificate ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 1595fc20cb9Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 1605fc20cb9Sshrsuman123 ... msg=One or more operations has failed. 1615fc20cb9Sshrsuman123 END 1625fc20cb9Sshrsuman123 1637c0f9d4cSPrashanth Katti 1645fc20cb9Sshrsuman123Get Concurrent CSR Requests From Multiple Admin Users 1655fc20cb9Sshrsuman123 [Documentation] Get multiple concurrent csr requests from multiple admins and verify no errors. 1665fc20cb9Sshrsuman123 [Tags] Get_Concurrent_CSR_Requests_From_Multiple_Admin_Users 1675fc20cb9Sshrsuman123 1685fc20cb9Sshrsuman123 FOR ${i} IN RANGE ${5} 1695fc20cb9Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 1705fc20cb9Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 1715fc20cb9Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 1725fc20cb9Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 1735fc20cb9Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 1745fc20cb9Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 1755fc20cb9Sshrsuman123 ... msg=One or more operations has failed. 1765fc20cb9Sshrsuman123 END 1775fc20cb9Sshrsuman123 1787c0f9d4cSPrashanth Katti 1795fc20cb9Sshrsuman123Get Concurrent Corrupted CSR Requests From Multiple Admin Users 1805fc20cb9Sshrsuman123 [Documentation] Get multiple concurrent corrupted csr requests from multiple admins and verify no errors. 1815fc20cb9Sshrsuman123 [Tags] Get_Concurrent_Corrupted_CSR_Requests_From_Multiple_Admin_Users 1825fc20cb9Sshrsuman123 1835fc20cb9Sshrsuman123 FOR ${i} IN RANGE ${5} 1845fc20cb9Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 1857c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 1867c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 1877c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 1885fc20cb9Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 1895fc20cb9Sshrsuman123 ... msg=One or more operations has failed. 1905fc20cb9Sshrsuman123 END 1915fc20cb9Sshrsuman123 1927c0f9d4cSPrashanth Katti 193767900dfSGeorge Keishing*** Comments *** 1947c0f9d4cSPrashanth Katti 19582a9a310Sshrsuman123Get Concurrent Root Certificate Request From Operator Users 19682a9a310Sshrsuman123 [Documentation] Get multiple concurrent root certificate from non admin users and verify no errors. 19782a9a310Sshrsuman123 [Tags] Get_Concurrent_Root_Certificate_Request_From_Operator_Users 19882a9a310Sshrsuman123 19982a9a310Sshrsuman123 FOR ${i} IN RANGE ${5} 20082a9a310Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 20182a9a310Sshrsuman123 ... Get Root Certificate operator_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 20282a9a310Sshrsuman123 ... Get Root Certificate operator_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 20382a9a310Sshrsuman123 ... Get Root Certificate operator_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 20482a9a310Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 20582a9a310Sshrsuman123 ... msg=One or more operations has failed. 20682a9a310Sshrsuman123 END 20782a9a310Sshrsuman123 2087c0f9d4cSPrashanth Katti 2097c0f9d4cSPrashanth Katti*** Test Cases *** 2107c0f9d4cSPrashanth Katti 21182a9a310Sshrsuman123Get Concurrent Root Certificate Request From Admin And Non Admin Users 21282a9a310Sshrsuman123 [Documentation] Get multiple concurrent root certificate from admin and non admin users 21382a9a310Sshrsuman123 ... and verify no errors. 21482a9a310Sshrsuman123 [Tags] Get_Concurrent_Root_Certificate_Request_From_Admin_And_Non_Admin_Users 21582a9a310Sshrsuman123 21682a9a310Sshrsuman123 FOR ${i} IN RANGE ${5} 21782a9a310Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 21882a9a310Sshrsuman123 ... Get Root Certificate ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 21982a9a310Sshrsuman123 ... Get Root Certificate readonly_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 22082a9a310Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 22182a9a310Sshrsuman123 ... msg=One or more operations has failed. 22282a9a310Sshrsuman123 END 22382a9a310Sshrsuman123 2247c0f9d4cSPrashanth Katti 225767900dfSGeorge Keishing*** Comments *** 2267c0f9d4cSPrashanth Katti 22782a9a310Sshrsuman123Get Concurrent Root Certificate Request From Different Non Admin Users 22882a9a310Sshrsuman123 [Documentation] Get multiple concurrent root certificate from different non admin users 22982a9a310Sshrsuman123 ... and verify no errors. 23082a9a310Sshrsuman123 [Tags] Get_Concurrent_Root_Certificate_Request_From_Different_Non_Admin_Users 23182a9a310Sshrsuman123 23282a9a310Sshrsuman123 FOR ${i} IN RANGE ${5} 23382a9a310Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 23482a9a310Sshrsuman123 ... Get Root Certificate operator_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 23582a9a310Sshrsuman123 ... Get Root Certificate readonly_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 23682a9a310Sshrsuman123 ... Get Root Certificate noaccess_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 23782a9a310Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 23882a9a310Sshrsuman123 ... msg=One or more operations has failed. 23982a9a310Sshrsuman123 END 24082a9a310Sshrsuman123 2417c0f9d4cSPrashanth Katti 24282a9a310Sshrsuman123Get Concurrent CSR Request From Operator Users 24382a9a310Sshrsuman123 [Documentation] Get multiple concurrent csr request from non admin users and verify no errors. 24482a9a310Sshrsuman123 [Tags] Get_Concurrent_CSR_Request_From_Operator_Users 24582a9a310Sshrsuman123 24682a9a310Sshrsuman123 FOR ${i} IN RANGE ${5} 24782a9a310Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 24882a9a310Sshrsuman123 ... Get Certificate Signed By VMI operator_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 24982a9a310Sshrsuman123 ... Get Certificate Signed By VMI operator_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 25082a9a310Sshrsuman123 ... Get Certificate Signed By VMI operator_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 25182a9a310Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 25282a9a310Sshrsuman123 ... msg=One or more operations has failed. 25382a9a310Sshrsuman123 END 25482a9a310Sshrsuman123 2557c0f9d4cSPrashanth Katti 2567c0f9d4cSPrashanth Katti*** Test Cases *** 2577c0f9d4cSPrashanth Katti 25894b36574Sshrsuman123Get Root Certificate And Send CSR Request Concurrently And Verify 25994b36574Sshrsuman123 [Documentation] Get root certificate and send csr request concurrently and 26094b36574Sshrsuman123 ... verify gets root and signed certificate. 26194b36574Sshrsuman123 [Tags] Get_Root_Certificate_And_Send_CSR_Request_Concurrently_And_Verify 26294b36574Sshrsuman123 26394b36574Sshrsuman123 FOR ${i} IN RANGE ${5} 26494b36574Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 26594b36574Sshrsuman123 ... Get Root Certificate ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 26694b36574Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 26794b36574Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 26894b36574Sshrsuman123 ... msg=One or more operations has failed. 26994b36574Sshrsuman123 END 27094b36574Sshrsuman123 2717c0f9d4cSPrashanth Katti 27294b36574Sshrsuman123Get Concurrent Root Certificate And Send CSR Request And Verify 27394b36574Sshrsuman123 [Documentation] Get concurrent root certificate and send csr request 27494b36574Sshrsuman123 ... and verify gets root certificate and signed certificate. 27594b36574Sshrsuman123 [Tags] Get_Concurrent_Root_Certificate_And_Send_CSR_Request_And_Verify 27694b36574Sshrsuman123 27794b36574Sshrsuman123 FOR ${i} IN RANGE ${5} 27894b36574Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 27994b36574Sshrsuman123 ... Get Root Certificate ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 28094b36574Sshrsuman123 ... Get Root Certificate ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 28194b36574Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 28294b36574Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 28394b36574Sshrsuman123 ... msg=One or more operations has failed. 28494b36574Sshrsuman123 END 28594b36574Sshrsuman123 2867c0f9d4cSPrashanth Katti 28794b36574Sshrsuman123Get Root Certificate And Send Multiple CSR Requests Concurrently And Verify 28894b36574Sshrsuman123 [Documentation] Get root certificate and send multiple csr requests concurrently and 28994b36574Sshrsuman123 ... verify gets root certificate and signed certificates. 29094b36574Sshrsuman123 [Tags] Get_Root_Certificate_And_Send_Multiple_CSR_Requests_Concurrently_And_Verify 29194b36574Sshrsuman123 29294b36574Sshrsuman123 FOR ${i} IN RANGE ${5} 29394b36574Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 29494b36574Sshrsuman123 ... Get Root Certificate ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 29594b36574Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 29694b36574Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 29794b36574Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 29894b36574Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 29994b36574Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 30094b36574Sshrsuman123 ... msg=One or more operations has failed. 30194b36574Sshrsuman123 END 30294b36574Sshrsuman123 3037c0f9d4cSPrashanth Katti 30494b36574Sshrsuman123Get Root Certificate And Send Multiple Corrupted CSR Requests Concurrently And Verify 30594b36574Sshrsuman123 [Documentation] Get root certificate and send multiple corrupted csr requests concurrently and 30694b36574Sshrsuman123 ... verify gets root certificate and error for corrupted csr requests. 30794b36574Sshrsuman123 [Tags] Get_Root_Certificate_And_Send_Multiple_Corrupted_CSR_Requests_Concurrently_And_Verify 30894b36574Sshrsuman123 30994b36574Sshrsuman123 FOR ${i} IN RANGE ${5} 31094b36574Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 31194b36574Sshrsuman123 ... Get Root Certificate ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 3127c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 3137c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 3147c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 31594b36574Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 31694b36574Sshrsuman123 ... msg=One or more operations has failed. 31794b36574Sshrsuman123 END 31894b36574Sshrsuman123 3197c0f9d4cSPrashanth Katti 320b63aa5e1Sshrsuman123Send Concurrent CSR Request And Corrupted CSR Request And Verify 321b63aa5e1Sshrsuman123 [Documentation] Send concurrent csr request and corrupted csr request 322b63aa5e1Sshrsuman123 ... and verify gets certificate for valid csr and error for corrupted csr. 323b63aa5e1Sshrsuman123 [Tags] Send_Concurrent_CSR_Request_And_Corrupted_CSR_Request_And_Verify 324b63aa5e1Sshrsuman123 325b63aa5e1Sshrsuman123 FOR ${i} IN RANGE ${5} 326b63aa5e1Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 327b63aa5e1Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 328b63aa5e1Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 3297c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 3307c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 331b63aa5e1Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 332b63aa5e1Sshrsuman123 ... msg=One or more operations has failed. 333b63aa5e1Sshrsuman123 END 334b63aa5e1Sshrsuman123 3357c0f9d4cSPrashanth Katti 336b63aa5e1Sshrsuman123Get Root Certificate Send CSR And Corrupted CSR Request Concurrently And Verify 337b63aa5e1Sshrsuman123 [Documentation] Get root certificate send csr and corrupted csr requests concurrently and 338b63aa5e1Sshrsuman123 ... verify gets root certificate and certificate for valid csr and error for corrupted csr. 339b63aa5e1Sshrsuman123 [Tags] Get_Root_Certificate_Send_CSR_And_Corrupted_CSR_Request_Concurrently_And_Verify 340b63aa5e1Sshrsuman123 341b63aa5e1Sshrsuman123 FOR ${i} IN RANGE ${5} 342b63aa5e1Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 343b63aa5e1Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 344b63aa5e1Sshrsuman123 ... Get Root Certificate ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 3457c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 3467c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 347b63aa5e1Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 348b63aa5e1Sshrsuman123 ... msg=One or more operations has failed. 349b63aa5e1Sshrsuman123 END 350b63aa5e1Sshrsuman123 3517c0f9d4cSPrashanth Katti 352b63aa5e1Sshrsuman123Send Concurrent CSR Request From Admin And Non Admin Users And Verify 353b63aa5e1Sshrsuman123 [Documentation] Send concurrent csr requests from admin and non-admin users and verify 354b63aa5e1Sshrsuman123 ... admin gets certificate and non-admin gets error. 355b63aa5e1Sshrsuman123 [Tags] Send_Concurrent_CSR_Request_From_Admin_And_Non_Admin_Users_And_Verify 356b63aa5e1Sshrsuman123 357b63aa5e1Sshrsuman123 FOR ${i} IN RANGE ${5} 358b63aa5e1Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 359b63aa5e1Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 360b63aa5e1Sshrsuman123 ... Get Certificate Signed By VMI readonly_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 361b63aa5e1Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 362b63aa5e1Sshrsuman123 ... msg=One or more operations has failed. 363b63aa5e1Sshrsuman123 END 364b63aa5e1Sshrsuman123 3657c0f9d4cSPrashanth Katti 366767900dfSGeorge Keishing*** Comments *** 3677c0f9d4cSPrashanth Katti 368b63aa5e1Sshrsuman123Send Concurrent CSR Request From Non Admin Users And Verify 369b63aa5e1Sshrsuman123 [Documentation] Send concurrent csr request from non admin users 370b63aa5e1Sshrsuman123 ... and verify gets error. 371b63aa5e1Sshrsuman123 [Tags] Send_Concurrent_CSR_Request_From_Non_Admin_Users_And_Verify 372b63aa5e1Sshrsuman123 373b63aa5e1Sshrsuman123 FOR ${i} IN RANGE ${5} 374b63aa5e1Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 375b63aa5e1Sshrsuman123 ... Get Certificate Signed By VMI operator_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 376b63aa5e1Sshrsuman123 ... Get Certificate Signed By VMI readonly_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 377b63aa5e1Sshrsuman123 ... Get Certificate Signed By VMI noaccess_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 378b63aa5e1Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 379b63aa5e1Sshrsuman123 ... msg=One or more operations has failed. 380b63aa5e1Sshrsuman123 END 381b63aa5e1Sshrsuman123 3827c0f9d4cSPrashanth Katti 383a968ad56Sshrsuman123Get Root Certificate And Send Corrupted CSR From Admin CSR Request From Operator Concurrently 384a968ad56Sshrsuman123 [Documentation] Get root certificate and send corrupted csr request from admin and 3857bc01e92SGeorge Keishing ... csr from operator concurrently and verify gets root certificate and errors for corrupted 386a968ad56Sshrsuman123 ... and for operator. 387a968ad56Sshrsuman123 [Tags] Get_Root_Certificate_And_Send_Corrupted_CSR_From_Admin_CSR_Request_From_Operator_Concurrently 388a968ad56Sshrsuman123 389a968ad56Sshrsuman123 FOR ${i} IN RANGE ${5} 390a968ad56Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 391a968ad56Sshrsuman123 ... Get Root Certificate ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 3927c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 3937c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 394a968ad56Sshrsuman123 ... Get Certificate Signed By VMI operator_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 395a968ad56Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 396a968ad56Sshrsuman123 ... msg=One or more operations has failed. 397a968ad56Sshrsuman123 END 398a968ad56Sshrsuman123 3997c0f9d4cSPrashanth Katti 400a968ad56Sshrsuman123Get Root Certificate From Operator And Send Corrupted CSR Request And CSR Request From Admin Concurrently 401a968ad56Sshrsuman123 [Documentation] Get root certificate from operator and send corrupted csr request 402a968ad56Sshrsuman123 ... and csr from admin and verify errors for operator and corrupted csr and signed certificate 403a968ad56Sshrsuman123 ... for valid csr. 404a968ad56Sshrsuman123 [Tags] Get_Root_Certificate_From_Operator_And_Send_Corrupted_CSR_Request_And_CSR_Request_From_Admin_Concurrently 405a968ad56Sshrsuman123 406a968ad56Sshrsuman123 FOR ${i} IN RANGE ${5} 407a968ad56Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 408a968ad56Sshrsuman123 ... Get Root Certificate operator_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 4097c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 4107c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 411a968ad56Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 412a968ad56Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 413a968ad56Sshrsuman123 ... msg=One or more operations has failed. 414a968ad56Sshrsuman123 END 415a968ad56Sshrsuman123 416a968ad56Sshrsuman123 417a968ad56Sshrsuman123Get Root Certificate From Operator And Admin Send CSR Request From Admin Concurrently 418a968ad56Sshrsuman123 [Documentation] Get root certificate from operator and admin and 419a968ad56Sshrsuman123 ... and send csr request from admin concurrently and verify error for operator 420a968ad56Sshrsuman123 ... and admin gets root and signed certificate. 421a968ad56Sshrsuman123 [Tags] Get_Root_Certificate_From_Operator_And_Admin_Send_CSR_Request_From_Admin_Concurrently 422a968ad56Sshrsuman123 423a968ad56Sshrsuman123 FOR ${i} IN RANGE ${5} 424a968ad56Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 425a968ad56Sshrsuman123 ... Get Root Certificate operator_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 426a968ad56Sshrsuman123 ... Get Root Certificate ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 427a968ad56Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 428a968ad56Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 429a968ad56Sshrsuman123 ... msg=One or more operations has failed. 430a968ad56Sshrsuman123 END 431a968ad56Sshrsuman123 4327c0f9d4cSPrashanth Katti 4335e80c021Sshrsuman123Send CSR Request From Admin And Operator And Corrupted CSR From Admin Concurrently And Verify 4345e80c021Sshrsuman123 [Documentation] Send csr request from admin and operator and corrupted 4355e80c021Sshrsuman123 ... csr request from admin and verify gets signed certificate for valid csr for admin 4365e80c021Sshrsuman123 ... gets error for operator and error for corrupted csr. 4375e80c021Sshrsuman123 [Tags] Send_CSR_Request_From_Admin_And_Operator_And_Corrupted_CSR_From_Admin_Concurrently_And_Verify 4385e80c021Sshrsuman123 4395e80c021Sshrsuman123 FOR ${i} IN RANGE ${5} 4405e80c021Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 4415e80c021Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 4425e80c021Sshrsuman123 ... Get Certificate Signed By VMI operator_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 4437c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 4445e80c021Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 4455e80c021Sshrsuman123 ... msg=One or more operations has failed. 4465e80c021Sshrsuman123 END 4475e80c021Sshrsuman123 4487c0f9d4cSPrashanth Katti 4495e80c021Sshrsuman123Send Corrupted CSR Requests From Admin And Operator And CSR Request From Admin Concurrently And Verify 4505e80c021Sshrsuman123 [Documentation] Send corrupted csr request from admin and operator and csr request 4515e80c021Sshrsuman123 ... from admin concurrently and verify errors for corrupted csr and gets signed certificate 4525e80c021Sshrsuman123 ... for valid csr from admin. 4535e80c021Sshrsuman123 [Tags] Send_Corrupted_CSR_Requests_From_Admin_And_Operator_And_CSR_Request_From_Admin_Concurrently_And_Verify 4545e80c021Sshrsuman123 4555e80c021Sshrsuman123 FOR ${i} IN RANGE ${5} 4565e80c021Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 4577c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 4585e80c021Sshrsuman123 ... Get Certificate Signed By VMI operator_user TestPwd123 ${True} ${False} ${HTTP_FORBIDDEN} 4595e80c021Sshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 4605e80c021Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 4615e80c021Sshrsuman123 ... msg=One or more operations has failed. 4625e80c021Sshrsuman123 END 4635e80c021Sshrsuman123 4647c0f9d4cSPrashanth Katti 4655e80c021Sshrsuman123Send Corrupted CSR Requests From Admin And Operator User Concurrently And Verify 4665e80c021Sshrsuman123 [Documentation] Send corrupted csr requests from admin and operator and 4675e80c021Sshrsuman123 ... verify gets error. 4685e80c021Sshrsuman123 [Tags] Send_Corrupted_CSR_Requests_From_Admin_And_Operator_User_Concurrently_And_Verify 4695e80c021Sshrsuman123 4705e80c021Sshrsuman123 FOR ${i} IN RANGE ${5} 4715e80c021Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 4727c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 4737c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 4745e80c021Sshrsuman123 ... Get Certificate Signed By VMI operator_user TestPwd123 ${True} ${False} ${HTTP_FORBIDDEN} 4755e80c021Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 4765e80c021Sshrsuman123 ... msg=One or more operations has failed. 4775e80c021Sshrsuman123 END 4785e80c021Sshrsuman123 4797c0f9d4cSPrashanth Katti 4807c0f9d4cSPrashanth Katti*** Test Cases *** 4817c0f9d4cSPrashanth Katti 482e05f7bc2Sshrsuman123Get Root Certificate From Admin And Send CSR Requests From Non Admin Concurrently And Verify 483e05f7bc2Sshrsuman123 [Documentation] Get root certificate from admin and csr requests from 484e05f7bc2Sshrsuman123 ... non admin users concurrently and verify gets root certificate for admin and 485e05f7bc2Sshrsuman123 ... errors for non-admins. 486e05f7bc2Sshrsuman123 [Tags] Get_Root_Certificate_From_Admin_And_Send_CSR_Requests_From_Non_Admin_Concurrently_And_Verify 487e05f7bc2Sshrsuman123 488e05f7bc2Sshrsuman123 FOR ${i} IN RANGE ${5} 489e05f7bc2Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 490e05f7bc2Sshrsuman123 ... Get Root Certificate ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 491e05f7bc2Sshrsuman123 ... Get Certificate Signed By VMI readonly_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 492e05f7bc2Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 493e05f7bc2Sshrsuman123 ... msg=One or more operations has failed. 494e05f7bc2Sshrsuman123 END 495e05f7bc2Sshrsuman123 4967c0f9d4cSPrashanth Katti 497e05f7bc2Sshrsuman123Get Root Certificate And Send CSR Requests From Non Admin Users Concurrently And Verify 498e05f7bc2Sshrsuman123 [Documentation] Get root certificate and send csr requests from non admin 499e05f7bc2Sshrsuman123 ... users and verify gets errors. 500e05f7bc2Sshrsuman123 [Tags] Get_Root_Certificate_And_Send_CSR_Requests_From_Non_Admin_Users_Concurrently_And_Verify 501e05f7bc2Sshrsuman123 502e05f7bc2Sshrsuman123 FOR ${i} IN RANGE ${5} 503e05f7bc2Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 504e05f7bc2Sshrsuman123 ... Get Root Certificate readonly_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 505e05f7bc2Sshrsuman123 ... Get Certificate Signed By VMI readonly_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 506e05f7bc2Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 507e05f7bc2Sshrsuman123 ... msg=One or more operations has failed. 508e05f7bc2Sshrsuman123 END 509e05f7bc2Sshrsuman123 5107c0f9d4cSPrashanth Katti 511e05f7bc2Sshrsuman123Send Corrupted CSR Request From Admin And CSR Requests From Non Admin Concurrently And Verify 512e05f7bc2Sshrsuman123 [Documentation] Send corrupted csr request from admin and csr request from non admin 513e05f7bc2Sshrsuman123 ... users concurrently and verify gets errors. 514e05f7bc2Sshrsuman123 [Tags] Send_Corrupted_CSR_Request_From_Admin_And_CSR_Requests_From_Non_Admin_Concurrently_And_Verify 515e05f7bc2Sshrsuman123 516e05f7bc2Sshrsuman123 FOR ${i} IN RANGE ${5} 517e05f7bc2Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 5187c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 519e05f7bc2Sshrsuman123 ... Get Certificate Signed By VMI readonly_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 520e05f7bc2Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 521e05f7bc2Sshrsuman123 ... msg=One or more operations has failed. 522e05f7bc2Sshrsuman123 END 523e05f7bc2Sshrsuman123 5247c0f9d4cSPrashanth Katti 525e05f7bc2Sshrsuman123Send CSR Request And Corrupted CSR Requests From Non Admin Users Concurrently And Verify 526e05f7bc2Sshrsuman123 [Documentation] Send csr and corrupted csr request from non admin users 527e05f7bc2Sshrsuman123 ... and verify gets errors. 528e05f7bc2Sshrsuman123 [Tags] Send_CSR_Request_And_Corrupted_CSR_Requests_From_Non_Admin_Users_Concurrently_And_Verify 529e05f7bc2Sshrsuman123 530e05f7bc2Sshrsuman123 FOR ${i} IN RANGE ${5} 531e05f7bc2Sshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 532e05f7bc2Sshrsuman123 ... Get Certificate Signed By VMI readonly_user TestPwd123 ${True} ${False} ${HTTP_FORBIDDEN} 533e05f7bc2Sshrsuman123 ... Get Certificate Signed By VMI readonly_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 534e05f7bc2Sshrsuman123 Dictionary Should Not Contain Value ${dict} False 535e05f7bc2Sshrsuman123 ... msg=One or more operations has failed. 536e05f7bc2Sshrsuman123 END 537e05f7bc2Sshrsuman123 5387c0f9d4cSPrashanth Katti 539767900dfSGeorge Keishing*** Comments *** 5407c0f9d4cSPrashanth Katti 541421e610fSshrsuman123Get Root Certificate And Send CSR Requests From Admin And Operator Concurrently And Verify 542421e610fSshrsuman123 [Documentation] Get root certificate from admin and send csr requests 543421e610fSshrsuman123 ... from admin and operator concurrently and verify gets root certificate 544421e610fSshrsuman123 ... and signed certificate and gets error for operator. 545421e610fSshrsuman123 [Tags] Get_Root_Certificate_And_Send_CSR_Requests_From_Admin_And_Operator_Concurrently_And_Verify 546421e610fSshrsuman123 547421e610fSshrsuman123 FOR ${i} IN RANGE ${5} 548421e610fSshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 549421e610fSshrsuman123 ... Get Root Certificate ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 550421e610fSshrsuman123 ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 551421e610fSshrsuman123 ... Get Certificate Signed By VMI operator_user TestPwd123 ${True} ${True} ${HTTP_FORBIDDEN} 552421e610fSshrsuman123 Dictionary Should Not Contain Value ${dict} False 553421e610fSshrsuman123 ... msg=One or more operations has failed. 554421e610fSshrsuman123 END 555421e610fSshrsuman123 556421e610fSshrsuman123 557421e610fSshrsuman123Get Root Certificate And Send Corrupted CSR Requests From Admin And Operator Concurrently And Verify 558421e610fSshrsuman123 [Documentation] Get root certificate from admin and send corrupted csr requests 559421e610fSshrsuman123 ... from admin and operator concurrently and verify gets root certificate and errors 560421e610fSshrsuman123 ... for corrupted csr. 561421e610fSshrsuman123 [Tags] Get_Root_Certificate_And_Send_Corrupted_CSR_Requests_From_Admin_And_Operator_Concurrently_And_Verify 562421e610fSshrsuman123 563421e610fSshrsuman123 FOR ${i} IN RANGE ${5} 564421e610fSshrsuman123 ${dict}= Execute Process Multi Keyword ${5} 565421e610fSshrsuman123 ... Get Root Certificate ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${True} ${HTTP_OK} 5667c0f9d4cSPrashanth Katti ... Get Certificate Signed By VMI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD} ${True} ${False} ${HTTP_BAD_REQUEST} 567421e610fSshrsuman123 ... Get Certificate Signed By VMI operator_user TestPwd123 ${True} ${False} ${HTTP_FORBIDDEN} 568421e610fSshrsuman123 Dictionary Should Not Contain Value ${dict} False 569421e610fSshrsuman123 ... msg=One or more operations has failed. 570421e610fSshrsuman123 END 571421e610fSshrsuman123 5727c0f9d4cSPrashanth Katti 573b7af8177Smanashsarma*** Keywords *** 574b7af8177Smanashsarma 575b7af8177SmanashsarmaGenerate CSR String 576b7af8177Smanashsarma [Documentation] Generate a csr string. 577b7af8177Smanashsarma 578b7af8177Smanashsarma # Note: Generates and returns csr string. 5795fc20cb9Sshrsuman123 ${csr_gen_time} = Get Current Date Time 5805fc20cb9Sshrsuman123 ${CSR_FILE}= Catenate SEPARATOR=_ ${csr_gen_time} csr_server.csr 5815fc20cb9Sshrsuman123 ${CSR_KEY}= Catenate SEPARATOR=_ ${csr_gen_time} csr_server.key 5825fc20cb9Sshrsuman123 Set Test Variable ${CSR_FILE} 5835fc20cb9Sshrsuman123 Set Test Variable ${CSR_KEY} 584b7af8177Smanashsarma ${ssl_cmd}= Set Variable openssl req -new -newkey rsa:2048 -nodes -keyout ${CSR_KEY} -out ${CSR_FILE} 585b7af8177Smanashsarma ${ssl_sub}= Set Variable 586b7af8177Smanashsarma ... -subj "/C=XY/ST=Abcd/L=Efgh/O=ABC/OU=Systems/CN=abc.com/emailAddress=xyz@xx.ABC.com" 587b7af8177Smanashsarma 588b7af8177Smanashsarma # Run openssl command to create a new private key and use that to generate a CSR string 589b7af8177Smanashsarma # in server.csr file. 590b7af8177Smanashsarma ${output}= Run ${ssl_cmd} ${ssl_sub} 5917ee28257SPrashanth Katti ${csr}= OperatingSystem.Get File ${CSR_FILE} 592b7af8177Smanashsarma 593409df05dSGeorge Keishing RETURN ${csr} 594b7af8177Smanashsarma 595b7af8177Smanashsarma 596b7af8177SmanashsarmaSend CSR To VMI And Get Signed 597f9248957SGeorge Keishing [Documentation] Upload CSR to VMI and get signed. 598932759bfSshrsuman123 [Arguments] ${csr} ${force_create} ${username} ${password} ${read_timeout} 599b7af8177Smanashsarma 600b7af8177Smanashsarma # Description of argument(s): 601b7af8177Smanashsarma # csr Certificate request from client to VMI. 602b7af8177Smanashsarma # force_create Create a new REST session if True. 603b7af8177Smanashsarma # username Username to create a REST session. 604b7af8177Smanashsarma # password Password to create a REST session. 605b7af8177Smanashsarma 606b7af8177Smanashsarma Run Keyword If "${XAUTH_TOKEN}" != "${EMPTY}" or ${force_create} == ${True} 607b7af8177Smanashsarma ... Initialize OpenBMC rest_username=${username} rest_password=${password} 608b7af8177Smanashsarma 609b7af8177Smanashsarma ${data}= Create Dictionary 610b7af8177Smanashsarma ${headers}= Create Dictionary X-Auth-Token=${XAUTH_TOKEN} 611b7af8177Smanashsarma ... Content-Type=application/json 612b7af8177Smanashsarma 613b7af8177Smanashsarma ${cert_uri}= Set Variable ${VMI_BASE_URI}Host/Actions/SignCSR 614b7af8177Smanashsarma 615b7af8177Smanashsarma # For SignCSR request, we need to pass CSR string generated by openssl command. 616b7af8177Smanashsarma ${csr_data}= Create Dictionary CsrString ${csr} 617b7af8177Smanashsarma 618753169ecSGeorge Keishing ${resp}= POST On Session openbmc ${cert_uri} json=${csr_data} headers=${headers} 619fbd67007SGeorge Keishing ... timeout=${read_timeout} expected_status=any 6205fc20cb9Sshrsuman123 Log to console ${resp.content} 621b7af8177Smanashsarma 622409df05dSGeorge Keishing RETURN ${resp} 623b7af8177Smanashsarma 624b7af8177Smanashsarma 625b7af8177SmanashsarmaGet Root Certificate 626b7af8177Smanashsarma [Documentation] Get root certificate from VMI. 627b7af8177Smanashsarma [Arguments] ${username}=${OPENBMC_USERNAME} ${password}=${OPENBMC_PASSWORD} 628b7af8177Smanashsarma ... ${force_create}=${False} ${valid_csr}=${True} ${valid_status_code}=${HTTP_OK} 629b7af8177Smanashsarma 630b7af8177Smanashsarma # Description of argument(s): 631b7af8177Smanashsarma # cert_type Type of the certificate requesting. eg. root or SignCSR. 632b7af8177Smanashsarma # username Username to create a REST session. 633b7af8177Smanashsarma # password Password to create a REST session. 634b7af8177Smanashsarma # force_create Create a new REST session if True. 635b7af8177Smanashsarma # valid_csr Uses valid CSR string in the REST request if True. 636b7af8177Smanashsarma # This is not applicable for root certificate. 637b7af8177Smanashsarma # valid_status_code Expected status code from REST request. 638b7af8177Smanashsarma 639b7af8177Smanashsarma Run Keyword If "${XAUTH_TOKEN}" != "${EMPTY}" or ${force_create} == ${True} 640b7af8177Smanashsarma ... Initialize OpenBMC rest_username=${username} rest_password=${password} 641b7af8177Smanashsarma 642b7af8177Smanashsarma ${data}= Create Dictionary 643b7af8177Smanashsarma ${headers}= Create Dictionary X-Auth-Token=${XAUTH_TOKEN} 644b7af8177Smanashsarma ... Content-Type=application/json 645b7af8177Smanashsarma 646b7af8177Smanashsarma ${cert_uri}= Set Variable ${VMI_BASE_URI}Host/Certificate/root 647b7af8177Smanashsarma 648fbd67007SGeorge Keishing ${resp}= GET On Session openbmc ${cert_uri} &{data} headers=${headers} 649fbd67007SGeorge Keishing ... expected_status=any 650b7af8177Smanashsarma 651b7af8177Smanashsarma Should Be Equal As Strings ${resp.status_code} ${valid_status_code} 652*e54be147SSridevi Ramesh IF ${resp.status_code} != ${HTTP_OK} RETURN 653b7af8177Smanashsarma 654b7af8177Smanashsarma ${cert}= Evaluate json.loads('''${resp.text}''', strict=False) json 655b7af8177Smanashsarma Should Contain ${cert["Certificate"]} BEGIN CERTIFICATE 656b7af8177Smanashsarma Should Contain ${cert["Certificate"]} END CERTIFICATE 657b7af8177Smanashsarma 658b7af8177Smanashsarma 659b7af8177SmanashsarmaGet Subject 660b7af8177Smanashsarma [Documentation] Generate a csr string. 661b7af8177Smanashsarma [Arguments] ${file_name} ${is_csr_file} 662b7af8177Smanashsarma 663b7af8177Smanashsarma # Description of argument(s): 664b7af8177Smanashsarma # file_name Name of CSR or signed CERT file. 665b7af8177Smanashsarma # is_csr_file A True value means a CSR while a False is for signed CERT file. 666b7af8177Smanashsarma 667538f1743SGeorge Keishing ${subject}= Run Keyword If ${is_csr_file} 668538f1743SGeorge Keishing ... Run openssl req -in ${file_name} -text -noout | grep Subject: 669538f1743SGeorge Keishing ... ELSE 670538f1743SGeorge Keishing ... Run openssl x509 -in ${file_name} -text -noout | grep Subject: 671b7af8177Smanashsarma 672409df05dSGeorge Keishing RETURN ${subject} 673b7af8177Smanashsarma 674b7af8177Smanashsarma 675b7af8177SmanashsarmaGet Public Key 676b7af8177Smanashsarma [Documentation] Generate a csr string. 677b7af8177Smanashsarma [Arguments] ${file_name} ${is_csr_file} 678b7af8177Smanashsarma 679b7af8177Smanashsarma # Description of argument(s): 680b7af8177Smanashsarma # file_name Name of CSR or CERT file. 681b7af8177Smanashsarma # is_csr_file A True value means a CSR while a False is for signed CERT file. 682b7af8177Smanashsarma 683b7af8177Smanashsarma ${PublicKey}= Run Keyword If ${is_csr_file} Run openssl req -in ${file_name} -noout -pubkey 684b7af8177Smanashsarma ... ELSE Run openssl x509 -in ${file_name} -noout -pubkey 685b7af8177Smanashsarma 686409df05dSGeorge Keishing RETURN ${PublicKey} 687b7af8177Smanashsarma 688b7af8177Smanashsarma 689b7af8177SmanashsarmaGet Certificate Signed By VMI 690b7af8177Smanashsarma [Documentation] Get signed certificate from VMI. 691b7af8177Smanashsarma [Arguments] ${username}=${OPENBMC_USERNAME} ${password}=${OPENBMC_PASSWORD} 692b7af8177Smanashsarma ... ${force_create}=${False} ${valid_csr}=${True} ${valid_status_code}=${HTTP_OK} 693932759bfSshrsuman123 ... ${read_timeout}=20 694b7af8177Smanashsarma 695b7af8177Smanashsarma # Description of argument(s): 696b7af8177Smanashsarma # cert_type Type of the certificate requesting. eg. root or SignCSR. 697b7af8177Smanashsarma # username Username to create a REST session. 698b7af8177Smanashsarma # password Password to create a REST session. 699b7af8177Smanashsarma # force_create Create a new REST session if True. 700b7af8177Smanashsarma # valid_csr Uses valid CSR string in the REST request if True. 701b7af8177Smanashsarma # This is not applicable for root certificate. 702b7af8177Smanashsarma # valid_status_code Expected status code from REST request. 703b7af8177Smanashsarma 704b7af8177Smanashsarma Set Test Variable ${CSR} CSR 705b7af8177Smanashsarma Set Test Variable ${CORRUPTED_CSR} CORRUPTED_CSR 706b7af8177Smanashsarma 707b7af8177Smanashsarma ${CSR}= Generate CSR String 7081b1c2a42Sshrsuman123 ${csr_left} ${csr_right}= Split String From Right ${CSR} == 1 7091b1c2a42Sshrsuman123 ${CORRUPTED_CSR}= Catenate SEPARATOR= ${csr_left} \N ${csr_right} 710b7af8177Smanashsarma 711b7af8177Smanashsarma # For SignCSR request, we need to pass CSR string generated by openssl command 712b7af8177Smanashsarma ${csr_str}= Set Variable If ${valid_csr} == ${True} ${CSR} ${CORRUPTED_CSR} 713b7af8177Smanashsarma 714b7af8177Smanashsarma ${resp}= Send CSR To VMI And Get Signed ${csr_str} ${force_create} ${username} ${password} 715932759bfSshrsuman123 ... ${read_timeout} 716b7af8177Smanashsarma 717b7af8177Smanashsarma Should Be Equal As Strings ${resp.status_code} ${valid_status_code} 718*e54be147SSridevi Ramesh IF ${resp.status_code} != ${HTTP_OK} RETURN 719b7af8177Smanashsarma 720b7af8177Smanashsarma ${cert}= Evaluate json.loads('''${resp.text}''', strict=False) json 721b7af8177Smanashsarma Should Contain ${cert["Certificate"]} BEGIN CERTIFICATE 722b7af8177Smanashsarma Should Contain ${cert["Certificate"]} END CERTIFICATE 723b7af8177Smanashsarma 724b7af8177Smanashsarma # Now do subject and public key verification 725b7af8177Smanashsarma ${subject_csr}= Get Subject ${CSR_FILE} True 726b7af8177Smanashsarma ${pubKey_csr}= Get Public Key ${CSR_FILE} True 727b7af8177Smanashsarma 728b7af8177Smanashsarma # create a crt file with certificate string 729b7af8177Smanashsarma ${signed_cert}= Set Variable ${cert["Certificate"]} 7305fc20cb9Sshrsuman123 ${testcert_gen_time} = Get Current Date Time 7315fc20cb9Sshrsuman123 ${test_cert_file}= Catenate SEPARATOR=_ ${testcert_gen_time} test_certificate.cert 732b7af8177Smanashsarma 7335fc20cb9Sshrsuman123 Create File ${test_cert_file} ${signed_cert} 7345fc20cb9Sshrsuman123 ${subject_signed_csr}= Get Subject ${test_cert_file} False 7355fc20cb9Sshrsuman123 ${pubKey_signed_csr}= Get Public Key ${test_cert_file} False 736b7af8177Smanashsarma 737b7af8177Smanashsarma Should be equal as strings ${subject_signed_csr} ${subject_csr} 738b7af8177Smanashsarma Should be equal as strings ${pubKey_signed_csr} ${pubKey_csr} 739b7af8177Smanashsarma 740b7af8177Smanashsarma 741b7af8177SmanashsarmaSuite Setup Execution 742b7af8177Smanashsarma [Documentation] Suite setup execution. 743b7af8177Smanashsarma 7445fc20cb9Sshrsuman123 Remove Files *.csr *.key *.cert 745b7af8177Smanashsarma # Create different user accounts. 746b7af8177Smanashsarma Redfish.Login 747d0b4da9cSMegha G N 748d0b4da9cSMegha G N Redfish Power Off 749d0b4da9cSMegha G N Set BIOS Attribute pvm_hmc_managed Enabled 750d0b4da9cSMegha G N 7515fc20cb9Sshrsuman123 Redfish Power On 75288e5c9b1SMegha G N Wait For Host Boot Progress To Reach Required State 753b7af8177Smanashsarma Create Users With Different Roles users=${USERS} force=${True} 754b7af8177Smanashsarma 755b7af8177Smanashsarma 756b7af8177SmanashsarmaSuite Teardown Execution 757b7af8177Smanashsarma [Documentation] Suite teardown execution. 758b7af8177Smanashsarma 7595fc20cb9Sshrsuman123 Remove Files *.csr *.key *.cert 760b7af8177Smanashsarma Delete BMC Users Via Redfish users=${USERS} 761b7af8177Smanashsarma Delete All Sessions 762b7af8177Smanashsarma Redfish.Logout 763