blob: 77bb6ad670275cc9600c693260b3a744d33d6498 [file] [log] [blame]
Tony Lee78059b62021-02-24 17:11:09 +08001*** Settings ***
George Keishingba868642022-02-17 05:41:40 -06002Documentation Test Redfish event service subscription function.
Tony Lee78059b62021-02-24 17:11:09 +08003
4Resource ../../../lib/resource.robot
5Resource ../../../lib/bmc_redfish_resource.robot
6Resource ../../../lib/openbmc_ffdc.robot
7Resource ../../../lib/bmc_redfish_utils.robot
8
George Keishingba868642022-02-17 05:41:40 -06009Suite Setup Suite Setup Execution
10Suite teardown Suite Teardown Execution
11
Tony Lee78059b62021-02-24 17:11:09 +080012Test Setup Test Setup Execution
13Test Teardown Test Teardown Execution
Tony Lee78059b62021-02-24 17:11:09 +080014
George Keishingf699f552023-09-14 19:05:01 +053015Force Tags Event_Service
16
Tony Lee78059b62021-02-24 17:11:09 +080017***Variables***
18
George Keishingba868642022-02-17 05:41:40 -060019# override this default using -v REMOTE_SERVER_IP:<IP> from CLI
20${REMOTE_SERVER_IP} 10.7.7.7
Tony Lee78059b62021-02-24 17:11:09 +080021
22** Test Cases **
23
George Keishingba868642022-02-17 05:41:40 -060024Verify Add Subscribe Server For Event Notification
25 [Documentation] Subscribe a remote server and verify if added successful.
26 [Tags] Verify_Add_Subscribe_Server_For_Event_Notification
Tony Lee78059b62021-02-24 17:11:09 +080027
28 ${subscription_list}= Redfish_Utils.Get Member List
29 ... /redfish/v1/EventService/Subscriptions
30
31 Should Be Empty ${subscription_list}
32
Tim Lee62acabc2021-06-15 17:04:59 +080033 ${RegistryPrefixes_list}= Create List Base OpenBMC TaskEvent
Tony Lee78059b62021-02-24 17:11:09 +080034 ${ResourceTypes_list}= Create List Task
35
36 ${payload}= Create Dictionary
37 ... Context=Test_Context Destination=https://${REMOTE_SERVER_IP}:${HTTPS_PORT}/
Tim Lee380880d2021-12-09 10:21:15 +080038 ... EventFormatType=Event Protocol=Redfish SubscriptionType=RedfishEvent
39 ... RegistryPrefixes=${RegistryPrefixes_list} ResourceTypes=${ResourceTypes_list}
Tony Lee78059b62021-02-24 17:11:09 +080040
41 Redfish.Post /redfish/v1/EventService/Subscriptions body=&{payload}
42 ... valid_status_codes=[${HTTP_CREATED}]
43
44 ${subscription_list}= Redfish_Utils.Get Member List
45 ... /redfish/v1/EventService/Subscriptions
46
47 ${resp}= redfish.Get ${subscription_list[0]}
48
49 Dictionary Should Contain Sub Dictionary ${resp.dict} ${payload}
50
51
52*** Keywords ***
53
54Suite Setup Execution
55 [Documentation] Do the suite setup.
56
57 Should Not be Empty ${REMOTE_SERVER_IP}
58 Should Not be Empty ${HTTPS_PORT}
59
George Keishingba868642022-02-17 05:41:40 -060060 Redfish.Login
61
62
63Suite Teardown Execution
64 [Documentation] Do the suite teardown.
65
66 Run Keyword And Ignore Error Delete All Redfish Sessions
67 Run Keyword And Ignore Error Redfish.Logout
68
Tony Lee78059b62021-02-24 17:11:09 +080069
70Test Setup Execution
71 [Documentation] Do the test setup.
72
Tony Lee78059b62021-02-24 17:11:09 +080073 ${subscription_list}= Redfish_Utils.Get Member List
74 ... /redfish/v1/EventService/Subscriptions
75
76 Delete All Subscriptions ${subscription_list}
77
George Keishingba868642022-02-17 05:41:40 -060078 # Verify Redfish event service attribute ServiceEnabled is set to True.
79 ${resp} = Redfish_utils.Get Attribute /redfish/v1/EventService ServiceEnabled
80 Should Be Equal As Strings ${resp} ${True}
81
Tony Lee78059b62021-02-24 17:11:09 +080082
83Test Teardown Execution
84 [Documentation] Do the post test teardown.
85
86 FFDC On Test Case Fail
George Keishingba868642022-02-17 05:41:40 -060087
88 ${subscription_list}= Redfish_Utils.Get Member List
89 ... /redfish/v1/EventService/Subscriptions
90
91 Delete All Subscriptions ${subscription_list}
Tony Lee78059b62021-02-24 17:11:09 +080092
93
94Delete All Subscriptions
95 [Documentation] Delete all subscriptions.
96 [Arguments] ${subscription_list}
97
98 # Description of argument(s):
99 # subscription_list List of all subscriptions.
100
101 FOR ${url} IN @{subscription_list}
102 Redfish.Delete ${url}
103 END
104