blob: 6b487281e9d9bd913c35bcbbfee45f7dca4a2d9b [file] [log] [blame]
*** Settings ***
Documentation This suite will verifiy the Generic Configuration Rest Interfaces
... Details of valid interfaces can be found here...
... https://github.com/openbmc/docs/blob/master/rest-api.md
Resource ../lib/rest_client.robot
Resource ../lib/openbmc_ffdc.robot
Test Teardown FFDC On Test Case Fail
*** Variables ***
${MIN_POWER_VALUE} ${0}
${MAX_POWER_VALUE} ${1000}
${SETTING_HOST} ${SETTINGS_URI}host0
${VALUE_ERROR} ValueError: Invalid input. Data not in allowed range
*** Test Cases ***
Get the boot_flags
[Documentation] ***GOOD PATH***
... This test case tries to get the boot flags
...
${resp}= Read Attribute ${SETTING_HOST} boot_flags
should not be empty ${resp}
Get the power
[Documentation] ***GOOD PATH***
... This test case tries to get the power value and it should be
... between ${MIN_POWER_VALUE} and ${MAX_POWER_VALUE}
${powerValue}= Read Attribute ${SETTING_HOST} power_cap
should be true ${powerValue} >= ${MIN_POWER_VALUE} and ${powerValue} <= ${MAX_POWER_VALUE}
Set Powercap Value With String
[Documentation] Set the power values with string and expect error.
[Tags] Set_Powercap_Value_With_String
${valueToBeSet}= Set Variable abcdefg
${error_msg}= Run Keyword And Expect Error
... * Write To Powercap Attribute ${valueToBeSet}
Should Contain ${error_msg} ${VALUE_ERROR}
${value}= Read Attribute ${SETTING_HOST} power_cap
Should Not Be True '${value}'=='${valueToBeSet}'
Set Powercap Value Greater Than Allowed Range
[Documentation] Set the power value greater then MAX_ALLOWED_VALUE
... and expect error.
[Tags] Set_Powercap_Value_Greater_Than_Allowed_Range
${valueToBeSet}= Set Variable ${1010}
${error_msg}= Run Keyword And Expect Error
... * Write To Powercap Attribute ${valueToBeSet}
Should Contain ${error_msg} ${VALUE_ERROR}
${value}= Read Attribute ${SETTING_HOST} power_cap
Should Not Be Equal ${value} ${valueToBeSet}
Set the power with MIN_POWER_VALUE
[Documentation] ***BAD PATH***
... This test case sets the power value less then
... MIN_ALLOWED_VALUE,Expectation is it should get error.
${valueToBeSet}= Set Variable ${MIN_POWER_VALUE}
${valueDict}= create dictionary data=${valueToBeSet}
Write Attribute ${SETTING_HOST} power_cap data=${valueDict}
${value}= Read Attribute ${SETTING_HOST} power_cap
Should Be Equal ${value} ${valueToBeSet}
Set the power with MAX_POWER_VALUE
[Documentation] ***GOOD PATH***
... This test case sets the power value with MAX_POWER_VALUE
... and it should be set.
${valueToBeSet}= Set Variable ${MAX_POWER_VALUE}
${valueDict}= create dictionary data=${valueToBeSet}
Write Attribute ${SETTING_HOST} power_cap data=${valueDict}
${value}= Read Attribute ${SETTING_HOST} power_cap
Should Be Equal ${value} ${valueToBeSet}
Set the boot flags with string
[Documentation] ***BAD PATH***
... This test case sets the boot flag with some invalid string
... Expectation is it should not be set.
... Existing Issue: https://github.com/openbmc/openbmc/issues/552
[Tags] known_issue
${valueToBeSet}= Set Variable 3ab56f
${valueDict}= create dictionary data=${valueToBeSet}
Write Attribute ${SETTING_HOST} boot_flags data=${valueDict}
${value}= Read Attribute ${SETTING_HOST} boot_flags
Should not Be Equal ${value} ${valueToBeSet}
*** Keywords ***
Write To Powercap Attribute
[Documentation] Write to Powercap value.
[Arguments] ${args}
${value}= Create Dictionary data=${args}
${resp}= OpenBMC Put Request
... ${SETTING_HOST}/attr/power_cap data=${value}
${jsondata}= To JSON ${resp.content}
Should Be Equal ${jsondata['status']} ${HTTP_OK}
... msg=${jsondata}