Test asset tag function of IPMI.
Test cases added:
- Set Asset Tag With Valid String Length
- Set Asset Tag With Invalid String Length
- Set Asset Tag With Valid String Length Via REST
Resolves openbmc/openbmc-test-automation#775
Change-Id: I19a136548cf87e08a6a9a80ed97b8040f8e8e6db
Signed-off-by: Rahul Maheshwari <rahulmaheshwari@in.ibm.com>
diff --git a/tests/ipmi/test_general_ipmi.robot b/tests/ipmi/test_general_ipmi.robot
new file mode 100644
index 0000000..753507e
--- /dev/null
+++ b/tests/ipmi/test_general_ipmi.robot
@@ -0,0 +1,51 @@
+*** Settings ***
+Documentation This suite is for testing general IPMI functions.
+
+Resource ../../lib/ipmi_client.robot
+Resource ../../lib/openbmc_ffdc.robot
+
+Test Teardown FFDC On Test Case Fail
+
+*** Variables ***
+
+*** Test Cases ***
+
+Set Asset Tag With Valid String Length
+ [Documentation] Set asset tag with valid string length and verify.
+ [Tags] Set_Asset_Tag_With_Valid_String_Length
+
+ # Allowed MAX characters length for asset tag name is 63.
+ ${random_string}= Generate Random String 63
+ Run Keyword Run IPMI Standard Command dcmi set_asset_tag ${random_string}
+
+ ${asset_tag}= Run Keyword Run IPMI Standard Command dcmi asset_tag
+ Should Contain ${asset_tag} ${random_string}
+
+
+Set Asset Tag With Invalid String Length
+ [Documentation] Verify error while setting invalid asset tag via IPMI.
+ [Tags] Set_Asset_Tag_With_Invalid_String_Length
+
+ # Any string more than 63 character is invalid for asset tag.
+ ${random_string}= Generate Random String 64
+
+ ${resp}= Run Keyword And Expect Error * Run IPMI Standard Command
+ ... dcmi set_asset_tag ${random_string}
+ Should Contain ${resp} Parameter out of range ignore_case=True
+
+
+Set Asset Tag With Valid String Length Via REST
+ [Documentation] Set valid asset tag via REST and verify.
+ [Tags] Set_Asset_Tag_With_Valid_String_Length_Via_REST
+
+ ${random_string}= Generate Random String 63
+ ${args}= Create Dictionary data=${random_string}
+ Write Attribute /xyz/openbmc_project/inventory/system AssetTag
+ ... data=${args}
+
+ ${asset_tag}= Read Attribute /xyz/openbmc_project/inventory/system
+ ... AssetTag
+ Should Be Equal As Strings ${asset_tag} ${random_string}
+
+
+*** Keywords ***