diff --git a/redfish/extended/test_nmi_interface.robot b/redfish/extended/test_nmi_interface.robot
index c7d8f29..0ec2abd 100644
--- a/redfish/extended/test_nmi_interface.robot
+++ b/redfish/extended/test_nmi_interface.robot
@@ -4,17 +4,80 @@
 Resource        ../../lib/bmc_redfish_resource.robot
 Resource        ../../lib/boot_utils.robot
 Resource        ../../lib/openbmc_ffdc.robot
+Resource        ../../lib/secureboot/secureboot.robot
+Resource        ../../lib/state_manager.robot
+Library         ../../lib/bmc_ssh_utils.py
+Library         ../../syslib/utils_os.py
 
 Test Teardown   FFDC On Test Case Fail
 Suite Teardown  Redfish.Logout
 
+
 *** Test Cases ***
 
 Trigger NMI When OPAL/Host OS Is Not Up
-    [Documentation]  Verify error while injecting NMI when HOST OS is not up.
+    [Documentation]  Verify return error code from Redfish
+    ...  while injecting NMI when HOST OS is not up.
     [Tags]  Trigger_NMI_When_OPAL/Host_OS_Is_Not_Up
 
+    Redfish Power Off
+    Trigger NMI
+
+
+Trigger NMI When OPAL/Host OS Is Running And Secureboot Is Disabled
+    [Documentation]  Verify valid return status code from Redfish
+    ...  while injecting NMI, when HOST OS is running and
+    ...  secureboot is disabled.
+    [Tags]  Trigger_NMI_When_OPAL/Host_OS_Is_Running_And_Secureboot_Is_Disabled
+    [Setup]  Test Setup Execution  ${0}
+
+    Trigger NMI  valid_status_codes=[${HTTP_OK}]
+    # NMI Post Crash Dump Verification
+    Wait Until Keyword Succeeds  10 min  1 min  Is Host Rebooted
+    Is OS Booted
+    Wait Until Keyword Succeeds  1 min  10 sec  Verify Crash Dump Directory
+
+
+*** Keywords ***
+
+Test Setup Execution
+    [Documentation]  Test setup execution.
+    [Arguments]  ${secure_boot_mode}=${1}
+
+    # Description of argument(s):
+    # secure_boot_mode  Secure boot -> Enable-1 or Disable-0.
+
     Redfish Power Off  stack_mode=skip
+    Set Auto Reboot  ${1}
+    # Set and verify secure boot policy as disabled.
+    Set And Verify TPM Policy  ${secure_boot_mode}
+    Redfish Power On
+    # Delete any pre-existing dump files.
+    OS Execute Command  rm -rf /var/crash/*
+    ${os_release_info}=  Get OS Release Info
+    # Start crash dump utility on OS.
+    ${cmd}=  Set Variable If
+    ...  '${os_release_info['id']}' == 'ubuntu'  kdump-config show  kdumpctl start
+    OS Execute Command  ${cmd}  print_out=1
+
+
+Trigger NMI
+    [Documentation]  Inject non-maskable interrupt Redfish URI.
+    [Arguments]  ${valid_status_codes}=[${HTTP_INTERNAL_SERVER_ERROR}]
+
+    # Description of argument(s):
+    # valid_status_codes  A list of status codes that the
+    #                     caller considers acceptable.
+    #                     See lib/redfish_plus.py for details.
+
     Redfish.Login
     Redfish.Post  ${SYSTEM_BASE_URI}Actions/ComputerSystem.Reset
-    ...  body={"ResetType": "Nmi"}  valid_status_codes=[${HTTP_INTERNAL_SERVER_ERROR}]
+    ...  body={"ResetType": "Nmi"}  valid_status_codes=${valid_status_codes}
+
+Verify Crash Dump Directory
+    [Documentation]  Verify that the crash dump directory is not empty.
+
+    # As per the requirement, there should be a crash dump file
+    # after successful NMI injection.
+    ${output}  ${stderr}  ${rc}=
+    ...  OS Execute Command  ls -ltr /var/crash/*  print_out=1
