1*** Settings *** 2Documentation Test Redfish event service subscription function. 3 4Resource ../../../lib/resource.robot 5Resource ../../../lib/bmc_redfish_resource.robot 6Resource ../../../lib/openbmc_ffdc.robot 7Resource ../../../lib/bmc_redfish_utils.robot 8 9Suite Setup Suite Setup Execution 10Suite teardown Suite Teardown Execution 11 12Test Setup Test Setup Execution 13Test Teardown Test Teardown Execution 14 15***Variables*** 16 17# override this default using -v REMOTE_SERVER_IP:<IP> from CLI 18${REMOTE_SERVER_IP} 10.7.7.7 19 20** Test Cases ** 21 22Verify Add Subscribe Server For Event Notification 23 [Documentation] Subscribe a remote server and verify if added successful. 24 [Tags] Verify_Add_Subscribe_Server_For_Event_Notification 25 26 ${subscription_list}= Redfish_Utils.Get Member List 27 ... /redfish/v1/EventService/Subscriptions 28 29 Should Be Empty ${subscription_list} 30 31 ${RegistryPrefixes_list}= Create List Base OpenBMC TaskEvent 32 ${ResourceTypes_list}= Create List Task 33 34 ${payload}= Create Dictionary 35 ... Context=Test_Context Destination=https://${REMOTE_SERVER_IP}:${HTTPS_PORT}/ 36 ... EventFormatType=Event Protocol=Redfish SubscriptionType=RedfishEvent 37 ... RegistryPrefixes=${RegistryPrefixes_list} ResourceTypes=${ResourceTypes_list} 38 39 Redfish.Post /redfish/v1/EventService/Subscriptions body=&{payload} 40 ... valid_status_codes=[${HTTP_CREATED}] 41 42 ${subscription_list}= Redfish_Utils.Get Member List 43 ... /redfish/v1/EventService/Subscriptions 44 45 ${resp}= redfish.Get ${subscription_list[0]} 46 47 Dictionary Should Contain Sub Dictionary ${resp.dict} ${payload} 48 49 50*** Keywords *** 51 52Suite Setup Execution 53 [Documentation] Do the suite setup. 54 55 Should Not be Empty ${REMOTE_SERVER_IP} 56 Should Not be Empty ${HTTPS_PORT} 57 58 Redfish.Login 59 60 61Suite Teardown Execution 62 [Documentation] Do the suite teardown. 63 64 Run Keyword And Ignore Error Delete All Redfish Sessions 65 Run Keyword And Ignore Error Redfish.Logout 66 67 68Test Setup Execution 69 [Documentation] Do the test setup. 70 71 ${subscription_list}= Redfish_Utils.Get Member List 72 ... /redfish/v1/EventService/Subscriptions 73 74 Delete All Subscriptions ${subscription_list} 75 76 # Verify Redfish event service attribute ServiceEnabled is set to True. 77 ${resp} = Redfish_utils.Get Attribute /redfish/v1/EventService ServiceEnabled 78 Should Be Equal As Strings ${resp} ${True} 79 80 81Test Teardown Execution 82 [Documentation] Do the post test teardown. 83 84 FFDC On Test Case Fail 85 86 ${subscription_list}= Redfish_Utils.Get Member List 87 ... /redfish/v1/EventService/Subscriptions 88 89 Delete All Subscriptions ${subscription_list} 90 91 92Delete All Subscriptions 93 [Documentation] Delete all subscriptions. 94 [Arguments] ${subscription_list} 95 96 # Description of argument(s): 97 # subscription_list List of all subscriptions. 98 99 FOR ${url} IN @{subscription_list} 100 Redfish.Delete ${url} 101 END 102 103