blob: e4a71a8faed3e4ad586c6a3c2b4faa218aa5cc55 [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
15***Variables***
16
George Keishingba868642022-02-17 05:41:40 -060017# override this default using -v REMOTE_SERVER_IP:<IP> from CLI
18${REMOTE_SERVER_IP} 10.7.7.7
Tony Lee78059b62021-02-24 17:11:09 +080019
20** Test Cases **
21
George Keishingba868642022-02-17 05:41:40 -060022Verify 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
Tony Lee78059b62021-02-24 17:11:09 +080025
26 ${subscription_list}= Redfish_Utils.Get Member List
27 ... /redfish/v1/EventService/Subscriptions
28
29 Should Be Empty ${subscription_list}
30
Tim Lee62acabc2021-06-15 17:04:59 +080031 ${RegistryPrefixes_list}= Create List Base OpenBMC TaskEvent
Tony Lee78059b62021-02-24 17:11:09 +080032 ${ResourceTypes_list}= Create List Task
33
34 ${payload}= Create Dictionary
35 ... Context=Test_Context Destination=https://${REMOTE_SERVER_IP}:${HTTPS_PORT}/
Tim Lee380880d2021-12-09 10:21:15 +080036 ... EventFormatType=Event Protocol=Redfish SubscriptionType=RedfishEvent
37 ... RegistryPrefixes=${RegistryPrefixes_list} ResourceTypes=${ResourceTypes_list}
Tony Lee78059b62021-02-24 17:11:09 +080038
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
George Keishingba868642022-02-17 05:41:40 -060058 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
Tony Lee78059b62021-02-24 17:11:09 +080067
68Test Setup Execution
69 [Documentation] Do the test setup.
70
Tony Lee78059b62021-02-24 17:11:09 +080071 ${subscription_list}= Redfish_Utils.Get Member List
72 ... /redfish/v1/EventService/Subscriptions
73
74 Delete All Subscriptions ${subscription_list}
75
George Keishingba868642022-02-17 05:41:40 -060076 # 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
Tony Lee78059b62021-02-24 17:11:09 +080080
81Test Teardown Execution
82 [Documentation] Do the post test teardown.
83
84 FFDC On Test Case Fail
George Keishingba868642022-02-17 05:41:40 -060085
86 ${subscription_list}= Redfish_Utils.Get Member List
87 ... /redfish/v1/EventService/Subscriptions
88
89 Delete All Subscriptions ${subscription_list}
Tony Lee78059b62021-02-24 17:11:09 +080090
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