Add case to set session privilege level via IPMI

Signed-off-by: Tony Lee <tony.lee@quantatw.com>
Change-Id: I8adf8fcfbd7f9d5cd67887971a43dea2bfc17bcb
diff --git a/ipmi/test_ipmi_general.robot b/ipmi/test_ipmi_general.robot
index 181261f..55f9728 100644
--- a/ipmi/test_ipmi_general.robot
+++ b/ipmi/test_ipmi_general.robot
@@ -164,3 +164,31 @@
     Valid Value  channel_auth_cap['anonymous_login_enabled']  ['no']
     Valid Value  channel_auth_cap['channel_supports_ipmi_v1.5']  ['no']
     Valid Value  channel_auth_cap['channel_supports_ipmi_v2.0']  ['yes']
+
+
+Verify Set Session Privilege Level via IPMI Raw Command
+    [Documentation]  Set session privilege with given privilege level and verify the response with
+    ...              expected level.
+    [Tags]  Verify_Set_Session_Privilege_Level_via_IPMI_Raw_Command
+    [Template]  Set Session Privilege Level And Verify
+
+    # privilege_level   expected_level
+    0x00                04
+    0x02                02
+    0x03                03
+    0x04                04
+
+
+*** Keywords ***
+
+Set Session Privilege Level And Verify
+    [Documentation]   Set session privilege with given privilege level and verify the response with
+    ...               expected level.
+    [Arguments]  ${privilege_level}  ${expected_level}
+    # Description of argument(s):
+    # privilege_level    Requested Privilege Level.
+    # expected_level     New Privilege Level (or present level if ‘return present privilege level’ was selected).
+
+    ${resp}=  Run IPMI Standard Command
+    ...  raw 0x06 0x3b ${privilege_level}
+    Should Contain  ${resp}  ${expected_level}