Verify disabling and enabling IPMI via Host.

Resolves openbmc/openbmc-test-automation#1448

Change-Id: Ief8c9f9959f27270eff6f598d238f0b5c01054ed
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
old mode 100644
new mode 100755
index 6396f2c..a8f77fd
--- a/tests/ipmi/test_general_ipmi.robot
+++ b/tests/ipmi/test_general_ipmi.robot
@@ -9,6 +9,7 @@
 Resource            ../../lib/logging_utils.robot
 Library             ../../lib/ipmi_utils.py
 Variables           ../../data/ipmi_raw_cmd_table.py
+Library             ../../lib/gen_misc.py
 
 Test Teardown       FFDC On Test Case Fail
 
@@ -64,7 +65,6 @@
     [Documentation]  Verify supported cipher list via IPMI lan print command.
     [Tags]  Verify_Supported_Cipher_List_Via_Lan_Print
 
-
     ${network_info_dict}=  Get Lan Print Dict
     # Example 'RMCP+ Cipher Suites' entry: 3,17
     ${cipher_list}=  Evaluate
@@ -88,6 +88,25 @@
     Lists Should Be Equal  ${cipher_list}  ${valid_cipher_list}
 
 
+Verify Disabling And Enabling IPMI Via Host
+    [Documentation]  Verify disabling and enabling IPMI via host.
+    [Tags]  Verify_Disabling_And_Enabling_IPMI_Via_Host
+    [Teardown]  Run Inband IPMI Standard Command  lan set 1 access on
+
+    # Disable IPMI and verify
+    Run Inband IPMI Standard Command  lan set 1 access off
+    Run Keyword and Expect Error  *Unable to establish IPMI*
+    ...  Run External IPMI Standard Command  lan print
+
+    # Enable IPMI and verify
+    Run Inband IPMI Standard Command  lan set 1 access on
+    ${lan_print_output}=  Run External IPMI Standard Command  lan print
+
+    ${openbmc_host_name}  ${openbmc_ip}  ${openbmc_short_name}=
+    ...  Get Host Name IP  host=${OPENBMC_HOST}  short_name=1
+    Should Contain  ${lan_print_output}  ${openbmc_ip}
+
+
 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