xref: /openbmc/openbmc-test-automation/redfish/update_service/test_firmware_property.robot (revision 619d870c11fc70543b8912f15be585b089d32759)
1*** Settings ***
2Documentation    Verify that firmware update properties.
3
4Resource         ../../lib/resource.robot
5Resource         ../../lib/bmc_redfish_resource.robot
6Resource         ../../lib/openbmc_ffdc.robot
7Library          ../../lib/gen_robot_valid.py
8
9Suite Setup      Redfish.Login
10Suite Teardown   Redfish.Logout
11Test Setup       Printn
12Test Teardown    FFDC On Test Case Fail
13
14Test Tags    Firmware_Property
15
16*** Test Cases ***
17
18Verify Firmware Update ApplyTime Immediate
19    [Documentation]  Verify supported apply time "Immediate" property.
20    [Tags]  Verify_Firmware_Update_ApplyTime_Immediate
21
22    # Example:
23    # /redfish/v1/UpdateService
24    # "HttpPushUriOptions": {
25    #    "HttpPushUriApplyTime": {
26    #        "ApplyTime": "Immediate"
27    #    }
28    # }
29
30    Redfish.Patch  ${REDFISH_BASE_URI}UpdateService
31    ...  body={'HttpPushUriOptions' : {'HttpPushUriApplyTime' : {'ApplyTime' : 'Immediate'}}}
32    ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
33
34    ${http_push_uri_options}=  Redfish.Get Attribute  ${REDFISH_BASE_URI}UpdateService  HttpPushUriOptions
35    Rprint Vars  http_push_uri_options
36    Valid Value  http_push_uri_options["HttpPushUriApplyTime"]["ApplyTime"]  ['Immediate']
37
38
39Verify Firmware Update ApplyTime OnReset
40    [Documentation]  Verify supported apply time "OnReset" property.
41    [Tags]  Verify_Firmware_Update_ApplyTime_OnReset
42
43    # Example:
44    # /redfish/v1/UpdateService
45    # "HttpPushUriOptions": {
46    #    "HttpPushUriApplyTime": {
47    #        "ApplyTime": "OnReset"
48    #    }
49    # }
50
51    Redfish.Patch  ${REDFISH_BASE_URI}UpdateService
52    ...  body={'HttpPushUriOptions' : {'HttpPushUriApplyTime' : {'ApplyTime' : 'OnReset'}}}
53    ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
54
55    ${http_push_uri_options}=  Redfish.Get Attribute  ${REDFISH_BASE_URI}UpdateService  HttpPushUriOptions
56    Rprint Vars  http_push_uri_options
57    Valid Value  http_push_uri_options["HttpPushUriApplyTime"]["ApplyTime"]  ['OnReset']
58
59
60Verify Firmware Update ApplyTime Invalid
61    [Documentation]  Verify supported apply time returns error on invalid value.
62    [Tags]  Verify_Firmware_Update_ApplyTime_Invalid
63
64    Redfish.Patch  ${REDFISH_BASE_URI}UpdateService
65    ...  body={'HttpPushUriOptions' : {'HttpPushUriApplyTime' : {'ApplyTime' : 'Invalid'}}}
66    ...  valid_status_codes=[${HTTP_BAD_REQUEST}]
67