Moved management controller id test in new IPMI bucket

Change-Id: I2941ef94c2c858b9b73610db7efe93dadd9d45a2
Signed-off-by: Rahul Maheshwari <rahulmaheshwari@in.ibm.com>
diff --git a/ipmi/test_ipmi_mc_id.robot b/ipmi/test_ipmi_mc_id.robot
new file mode 100644
index 0000000..089fe22
--- /dev/null
+++ b/ipmi/test_ipmi_mc_id.robot
@@ -0,0 +1,111 @@
+*** Settings ***
+
+Documentation    Module to test IPMI management controller ID functionality.
+Resource         ../lib/ipmi_client.robot
+Resource         ../lib/openbmc_ffdc.robot
+Variables        ../data/ipmi_raw_cmd_table.py
+
+Test Teardown    FFDC On Test Case Fail
+
+
+*** Variables ***
+
+${new_mc_id}=  HOST
+
+
+*** Test Cases ***
+
+Verify Get And Set Management Controller ID String
+    [Documentation]  Verify get and set management controller ID string.
+    [Tags]  Verify_Get_And_Set_Management_Controller_ID_String
+    # Get the value of the managemment controller ID string.
+    # Example:
+    # Get Management Controller Identifier String: witherspoon
+
+    ${cmd_output}=  Run IPMI Standard Command  dcmi get_mc_id_string
+
+    # Extract management controller ID from cmd_output.
+    ${initial_mc_id}=  Fetch From Right  ${cmd_output}  :${SPACE}
+
+    # Set the management controller ID string to other value.
+    # Example:
+    # Set Management Controller Identifier String Command: HOST
+
+    Set Management Controller ID String  ${new_mc_id}
+
+    # Get the management controller ID and verify.
+    Get Management Controller ID String And Verify  ${new_mc_id}
+
+    # Set the value back to the initial value and verify.
+    Set Management Controller ID String  ${initial_mc_id}
+
+    # Get the management controller ID and verify.
+    Get Management Controller ID String And Verify  ${initial_mc_id}
+
+
+Test Management Controller ID String Status via IPMI
+    [Documentation]  Test management controller ID string status via IPMI.
+    [Tags]  Test_Management_Controller_ID_String_Status_via_IPMI
+    # Disable management controller ID string status via IPMI and verify.
+    Run IPMI Standard Command  dcmi set_conf_param dhcp_config 0x00
+    Verify Management Controller ID String Status  disable
+
+    # Enable management controller ID string status via IPMI and verify.
+    Run IPMI Standard Command  dcmi set_conf_param dhcp_config 0x01
+    Verify Management Controller ID String Status  enable
+
+
+Test Management Controller ID String Status via Raw IPMI
+    [Documentation]  Test management controller ID string status via IPMI.
+    [Tags]  Test_Management_Controller_ID_String_Status_via_Raw_IPMI
+    # Disable management controller ID string status via raw IPMI and verify.
+    Run IPMI Standard Command  raw ${IPMI_RAW_CMD['conf_param']['Disabled'][0]}
+    Verify Management Controller ID String Status  disable
+
+    # Enable management controller ID string status via raw IPMI and verify.
+    Run IPMI Standard Command  raw ${IPMI_RAW_CMD['conf_param']['Enabled'][0]}
+    Verify Management Controller ID String Status  enable
+
+
+*** Keywords ***
+
+Set Management Controller ID String
+    [Documentation]  Set the management controller ID string.
+    [Arguments]  ${string}
+
+    # Description of argument(s):
+    # string  Management Controller ID String to be set
+
+    ${set_mc_id_string}=  Run IPMI Standard Command
+    ...  dcmi set_mc_id_string ${string}
+
+
+Get Management Controller ID String And Verify
+    [Documentation]  Get the management controller ID string.
+    [Arguments]  ${string}
+
+    # Description of argument(s):
+    # string  Management Controller ID string
+
+    ${get_mc_id}=  Run IPMI Standard Command  dcmi get_mc_id_string
+    Should Contain  ${get_mc_id}  ${string}
+    ...  msg=Command failed: get_mc_id.
+
+
+Verify Management Controller ID String Status
+    [Documentation]  Verify management controller ID string status via IPMI.
+    [Arguments]  ${status}
+
+    # Example of dcmi get_conf_param command output:
+    # DHCP Discovery method   :
+    #           Management Controller ID String is disabled
+    #           Vendor class identifier DCMI IANA and Vendor class-specific Informationa are disabled
+    #   Initial timeout interval        : 4 seconds
+    #   Server contact timeout interval : 120 seconds
+    #   Server contact retry interval   : 64 seconds
+
+    ${resp}=  Run IPMI Standard Command  dcmi get_conf_param
+    ${resp}=  Get Lines Containing String  ${resp}
+    ...  Management Controller ID String  case_insensitive=True
+    Should Contain  ${resp}  ${status}
+    ...  msg=Management controller ID string is not ${status}