diff --git a/tests/test_association.robot b/tests/test_association.robot
index 28809ad..53fdb45 100755
--- a/tests/test_association.robot
+++ b/tests/test_association.robot
@@ -53,7 +53,7 @@
     ...   return_stderr=True
     Should Be Empty    ${stderr}
 
-    ${log_list} =     Get EventList
+    ${log_list}=     Get EventList
     Should Contain   '${log_list}'   ${elog.strip('q ')}
 
     ${association_uri} =
@@ -63,7 +63,7 @@
     ...     Read Attribute    ${association_uri}    endpoints
     Should Contain     ${association_content}    ${DIMM1_URI}
 
-    ${dimm1_event} =     Read Attribute     ${DIMM1_URI}/event   endpoints
+    ${dimm1_event}=     Read Attribute     ${DIMM1_URI}/event   endpoints
     Should Contain     ${dimm1_event}    ${log_list[0]}
 
 
@@ -72,17 +72,17 @@
     ...                 Create an error log on two FRUs and verify
     ...                 its association.\n
 
-    ${log_uri} =      Create a test log
-    ${association_uri} =    catenate    SEPARATOR=   ${log_uri}   /fru
+    ${log_uri}=      Create a test log
+    ${association_uri}=    catenate    SEPARATOR=   ${log_uri}   /fru
 
-    ${association_content} =     Read Attribute    ${association_uri}    endpoints
+    ${association_content}=     Read Attribute    ${association_uri}    endpoints
     Should Contain     ${association_content}    ${DIMM3_URI}
     Should Contain     ${association_content}    ${DIMM2_URI}
 
-    ${dimm3_event} =     Read Attribute     ${DIMM3_URI}/event   endpoints
+    ${dimm3_event}=     Read Attribute     ${DIMM3_URI}/event   endpoints
     Should Contain     ${dimm3_event}    ${log_uri}
 
-    ${dimm2_event} =     Read Attribute     ${DIMM2_URI}/event   endpoints
+    ${dimm2_event}=     Read Attribute     ${DIMM2_URI}/event   endpoints
     Should Contain     ${dimm2_event}    ${log_uri}
 
 
@@ -93,17 +93,17 @@
 
     : FOR    ${INDEX}    IN RANGE    1    4
         \    Log    ${INDEX}
-        \    ${log_uri} =      Create a test log
-        \    ${association_uri} =    catenate    SEPARATOR=   ${log_uri}   /fru
+        \    ${log_uri}=      Create a test log
+        \    ${association_uri}=    catenate    SEPARATOR=   ${log_uri}   /fru
 
-        \    ${association_content} =     Read Attribute    ${association_uri}    endpoints
+        \    ${association_content}=     Read Attribute    ${association_uri}    endpoints
         \    Should Contain     ${association_content}    ${DIMM3_URI}
         \    Should Contain     ${association_content}    ${DIMM2_URI}
 
-        \    ${dimm3_event} =     Read Attribute     ${DIMM3_URI}/event   endpoints
+        \    ${dimm3_event}=     Read Attribute     ${DIMM3_URI}/event   endpoints
         \    Should Contain     ${dimm3_event}    ${log_uri}
 
-        \    ${dimm2_event} =     Read Attribute     ${DIMM2_URI}/event   endpoints
+        \    ${dimm2_event}=     Read Attribute     ${DIMM2_URI}/event   endpoints
         \    Should Contain     ${dimm2_event}    ${log_uri}
 
 
@@ -113,23 +113,23 @@
     ...                 association is also removed.\n
     [Tags]  Delete_error_log
 
-    ${log_uri1} =      Create a test log
-    ${association_uri1} =    catenate    SEPARATOR=   ${log_uri1}   /fru
+    ${log_uri1}=      Create a test log
+    ${association_uri1}=    catenate    SEPARATOR=   ${log_uri1}   /fru
 
-    ${log_uri2} =      Create a test log
+    ${log_uri2}=      Create a test log
 
-    ${del_uri} =  catenate    SEPARATOR=   ${log_uri1}   /action/delete
-    ${resp} =    openbmc post request     ${del_uri}    data=${NIL}
+    ${del_uri}=  catenate    SEPARATOR=   ${log_uri1}   /action/delete
+    ${resp}=    openbmc post request     ${del_uri}    data=${NIL}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
 
-    ${resp} =     openbmc get request     ${association_uri1}
-    ${jsondata} =    to json    ${resp.content}
+    ${resp}=     openbmc get request     ${association_uri1}
+    ${jsondata}=    to json    ${resp.content}
     Should Contain     ${jsondata['message']}    404 Not Found
 
-    ${dimm3_event} =     Read Attribute      ${DIMM3_URI}/event   endpoints
+    ${dimm3_event}=     Read Attribute      ${DIMM3_URI}/event   endpoints
     Should Not Contain     ${dimm3_event}    ${log_uri1}
 
-    ${dimm2_event} =     Read Attribute      ${DIMM2_URI}/event   endpoints
+    ${dimm2_event}=     Read Attribute      ${DIMM2_URI}/event   endpoints
     Should Not Contain     ${dimm2_event}    ${log_uri1}
 
 
@@ -145,14 +145,14 @@
     ...   return_stderr=True
     Should Be Empty    ${stderr}
 
-    ${log_list} =     Get EventList
+    ${log_list}=     Get EventList
     Should Contain   '${log_list}'   ${elog.strip('q ')}
 
     ${association_uri} =
     ...   catenate  SEPARATOR=  ${EVENT_RECORD}/${elog.strip('q ')}  /fru
 
-    ${resp} =     openbmc get request     ${association_uri}
-    ${jsondata} =    to json    ${resp.content}
+    ${resp}=     openbmc get request     ${association_uri}
+    ${jsondata}=    to json    ${resp.content}
     Should Contain     ${jsondata['message']}    404 Not Found
 
 
@@ -168,14 +168,14 @@
     ...   return_stderr=True
     Should Be Empty    ${stderr}
 
-    ${log_list} =     Get EventList
+    ${log_list}=     Get EventList
     Should Contain   '${log_list}'   ${elog.strip('q ')}
 
     ${association_uri} =
     ...   catenate    SEPARATOR=   ${EVENT_RECORD}/${elog.strip('q ')}  /fru
 
-    ${resp} =     openbmc get request     ${association_uri}
-    ${jsondata} =    to json    ${resp.content}
+    ${resp}=     openbmc get request     ${association_uri}
+    ${jsondata}=    to json    ${resp.content}
     Should Contain     ${jsondata['message']}    404 Not Found
 
 
@@ -192,7 +192,7 @@
     ...   return_stderr=True
     Should Be Empty    ${stderr}
 
-    ${log_list} =     Get EventList
+    ${log_list}=     Get EventList
     Should Contain   '${log_list}'   ${elog.strip('q ')}
 
     ${association_uri} =
@@ -209,7 +209,7 @@
     ...                 does not change after open bmc reboot.\n
     [Tags]  bmcreboot  Association_Unchanged_After_Reboot
 
-    ${pre_reboot_log_uri} =      Create a test log
+    ${pre_reboot_log_uri}=      Create a test log
     ${association_uri} =
     ...    catenate    SEPARATOR=   ${pre_reboot_log_uri}   /fru
     ${pre_reboot_association_content} =
@@ -242,26 +242,26 @@
 *** Keywords ***
 
 Get EventList
-    ${resp} =   openbmc get request     /org/openbmc/records/events/
+    ${resp}=   openbmc get request     /org/openbmc/records/events/
     should be equal as strings    ${resp.status_code}    ${HTTP_OK}
-    ${jsondata} =    to json    ${resp.content}
+    ${jsondata}=    to json    ${resp.content}
     [return]    ${jsondata['data']}
 
 Create a test log
     [arguments]
-    ${data} =   create dictionary   data=@{EMPTY}
-    ${resp} =   openbmc post request     /org/openbmc/records/events/action/acceptTestMessage    data=${data}
+    ${data}=   create dictionary   data=@{EMPTY}
+    ${resp}=   openbmc post request     /org/openbmc/records/events/action/acceptTestMessage    data=${data}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${json} =   to json         ${resp.content}
-    ${LOGID} =    convert to integer    ${json['data']}
+    ${json}=   to json         ${resp.content}
+    ${LOGID}=    convert to integer    ${json['data']}
     ${uri}=     catenate    SEPARATOR=   /org/openbmc/records/events/   ${LOGID}
     [return]  ${uri}
 
 Clear all logs
-    ${resp} =   openbmc post request     /org/openbmc/records/events/action/clear    data=${NIL}
+    ${resp}=   openbmc post request     /org/openbmc/records/events/action/clear    data=${NIL}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${resp} =   openbmc get request     /org/openbmc/records/events/
-    ${json} =   to json         ${resp.content}
+    ${resp}=   openbmc get request     /org/openbmc/records/events/
+    ${json}=   to json         ${resp.content}
     Should Be Empty     ${json['data']}
 
 Suite Initialization Setup
diff --git a/tests/test_boot.robot b/tests/test_boot.robot
index e7dee22..89fbd8c 100644
--- a/tests/test_boot.robot
+++ b/tests/test_boot.robot
@@ -19,8 +19,8 @@
    [Documentation]   This testcase is to set the boot device as Default using REST
    ...               URI. The Boot device is read using REST API and ipmitool.
 
-    ${bootDevice} =   Set Variable   Default
-    ${valueDict} =   create dictionary   data=${bootDevice}
+    ${bootDevice}=   Set Variable   Default
+    ${valueDict}=   create dictionary   data=${bootDevice}
     Write Attribute    /org/openbmc/settings/host0   boot_flags   data=${valueDict}
     Read the Attribute  /org/openbmc/settings/host0    boot_flags
     Response Should Be Equal   Default
@@ -44,8 +44,8 @@
    [Documentation]   This testcase is to set the boot device as Network using REST
    ...               URI. The Boot device is read using REST API and ipmitool.
 
-    ${bootDevice} =   Set Variable   Network
-    ${valueDict} =   create dictionary   data=${bootDevice}
+    ${bootDevice}=   Set Variable   Network
+    ${valueDict}=   create dictionary   data=${bootDevice}
     Write Attribute    /org/openbmc/settings/host0   boot_flags   data=${valueDict}
     Read the Attribute  /org/openbmc/settings/host0    boot_flags
     Response Should Be Equal   Network
@@ -69,8 +69,8 @@
    [Documentation]   This testcase is to set the boot device as Disk using REST
    ...               URI. The Boot device is read using REST API and ipmitool.
 
-    ${bootDevice} =   Set Variable   Disk
-    ${valueDict} =   create dictionary   data=${bootDevice}
+    ${bootDevice}=   Set Variable   Disk
+    ${valueDict}=   create dictionary   data=${bootDevice}
     Write Attribute    /org/openbmc/settings/host0   boot_flags   data=${valueDict}
     Read the Attribute  /org/openbmc/settings/host0    boot_flags
     Response Should Be Equal   Disk
@@ -94,8 +94,8 @@
    [Documentation]   This testcase is to set the boot device as Safe using REST
    ...               URI. The Boot device is read using REST API and ipmitool.
 
-    ${bootDevice} =   Set Variable   Safe
-    ${valueDict} =   create dictionary   data=${bootDevice}
+    ${bootDevice}=   Set Variable   Safe
+    ${valueDict}=   create dictionary   data=${bootDevice}
     Write Attribute    /org/openbmc/settings/host0   boot_flags   data=${valueDict}
     Read the Attribute  /org/openbmc/settings/host0    boot_flags
     Response Should Be Equal   Safe
@@ -119,8 +119,8 @@
    [Documentation]   This testcase is to set the boot device as CDROM using REST
    ...               URI. The Boot device is read using REST API and ipmitool.
 
-    ${bootDevice} =   Set Variable   CDROM
-    ${valueDict} =   create dictionary   data=${bootDevice}
+    ${bootDevice}=   Set Variable   CDROM
+    ${valueDict}=   create dictionary   data=${bootDevice}
     Write Attribute    /org/openbmc/settings/host0   boot_flags   data=${valueDict}
     Read the Attribute  /org/openbmc/settings/host0    boot_flags
     Response Should Be Equal   CDROM
@@ -144,8 +144,8 @@
    [Documentation]   This testcase is to set the boot device as Setup using REST
    ...               URI. The Boot device is read using REST API and ipmitool.
 
-    ${bootDevice} =   Set Variable   Setup
-    ${valueDict} =   create dictionary   data=${bootDevice}
+    ${bootDevice}=   Set Variable   Setup
+    ${valueDict}=   create dictionary   data=${bootDevice}
     Write Attribute    /org/openbmc/settings/host0   boot_flags   data=${valueDict}
     Read the Attribute  /org/openbmc/settings/host0    boot_flags
     Response Should Be Equal   Setup
@@ -173,7 +173,7 @@
 
 Read the Attribute
     [arguments]    ${uri}    ${parm}
-    ${output} =     Read Attribute      ${uri}    ${parm}
+    ${output}=     Read Attribute      ${uri}    ${parm}
     set test variable    ${OUTPUT}     ${output}
 
 
diff --git a/tests/test_bootpolicy.robot b/tests/test_bootpolicy.robot
index 4bc4911..91a665d 100644
--- a/tests/test_bootpolicy.robot
+++ b/tests/test_bootpolicy.robot
@@ -22,7 +22,7 @@
 
     Set Boot Policy   ONETIME
 
-    ${boot} =   Read Attribute  /org/openbmc/settings/host0    boot_policy
+    ${boot}=   Read Attribute  /org/openbmc/settings/host0    boot_policy
     Should Be Equal    ${boot}    ONETIME
     ${output}   ${stderr}=  Execute Command  ${dbuscmd}  return_stderr=True
     Should Be Empty     ${stderr}
@@ -34,7 +34,7 @@
 
     Set Boot Policy   PERMANENT
 
-    ${boot} =   Read Attribute  /org/openbmc/settings/host0    boot_policy
+    ${boot}=   Read Attribute  /org/openbmc/settings/host0    boot_policy
     Should Be Equal    ${boot}    PERMANENT
     ${output}   ${stderr}=  Execute Command  ${dbuscmd}  return_stderr=True
     Should Be Empty     ${stderr}
@@ -45,7 +45,7 @@
     ...               and then verify using REST URI and ipmitool.\n
 
     Run IPMI command   0x0 0x8 0x05 0x80 0x00 0x00 0x00 0x00
-    ${boot} =   Read Attribute  /org/openbmc/settings/host0    boot_policy
+    ${boot}=   Read Attribute  /org/openbmc/settings/host0    boot_policy
     Should Be Equal    ${boot}    ONETIME
     ${output}   ${stderr}=  Execute Command  ${dbuscmd}  return_stderr=True
     Should Be Empty     ${stderr}
@@ -56,7 +56,7 @@
     ...               and then verify using REST URI and ipmitool.
 
     Run IPMI command   0x0 0x8 0x05 0xC0 0x00 0x00 0x00 0x00
-    ${boot} =   Read Attribute  /org/openbmc/settings/host0    boot_policy
+    ${boot}=   Read Attribute  /org/openbmc/settings/host0    boot_policy
     Should Be Equal    ${boot}    PERMANENT
     ${output}   ${stderr}=  Execute Command  ${dbuscmd}  return_stderr=True
     Should Be Empty     ${stderr}
@@ -75,10 +75,10 @@
 
     Initiate Power On
 
-    ${boot} =   Read Attribute  /org/openbmc/settings/host0    boot_policy
+    ${boot}=   Read Attribute  /org/openbmc/settings/host0    boot_policy
     Should Be Equal    ${boot}    PERMANENT
 
-    ${flag} =   Read Attribute  /org/openbmc/settings/host0    boot_flags
+    ${flag}=   Read Attribute  /org/openbmc/settings/host0    boot_flags
     Should Be Equal    ${flag}    CDROM
 
 Onetime boot order after warm reset
@@ -95,10 +95,10 @@
 
     Trigger Warm Reset
 
-    ${boot} =   Read Attribute  /org/openbmc/settings/host0    boot_policy
+    ${boot}=   Read Attribute  /org/openbmc/settings/host0    boot_policy
     Should Be Equal    ${boot}    ONETIME
 
-    ${flag} =   Read Attribute  /org/openbmc/settings/host0    boot_flags
+    ${flag}=   Read Attribute  /org/openbmc/settings/host0    boot_flags
     Should Be Equal    ${flag}    Network
 
 Permanent boot order after warm reset
@@ -115,10 +115,10 @@
 
     Trigger Warm Reset
 
-    ${boot} =   Read Attribute  /org/openbmc/settings/host0    boot_policy
+    ${boot}=   Read Attribute  /org/openbmc/settings/host0    boot_policy
     Should Be Equal    ${boot}    PERMANENT
 
-    ${flag} =   Read Attribute  /org/openbmc/settings/host0    boot_flags
+    ${flag}=   Read Attribute  /org/openbmc/settings/host0    boot_flags
     Should Be Equal    ${flag}    CDROM
 
 Set boot policy to invalid value
@@ -128,21 +128,21 @@
 
     Run Keyword and Ignore Error    Set Boot Policy   abc
 
-    ${boot} =   Read Attribute  /org/openbmc/settings/host0    boot_policy
+    ${boot}=   Read Attribute  /org/openbmc/settings/host0    boot_policy
     Should Not Be Equal    ${boot}    abc
 
 *** Keywords ***
 
 Set Boot Policy
     [Arguments]    ${args}
-    ${bootpolicy} =   Set Variable   ${args}
-    ${valueDict} =   create dictionary   data=${bootpolicy}
+    ${bootpolicy}=   Set Variable   ${args}
+    ${valueDict}=   create dictionary   data=${bootpolicy}
     Write Attribute    /org/openbmc/settings/host0   boot_policy   data=${valueDict}
 
 Set Boot Device
     [Arguments]    ${args}
-    ${bootDevice} =   Set Variable   ${args}
-    ${valueDict} =   create dictionary   data=${bootDevice}
+    ${bootDevice}=   Set Variable   ${args}
+    ${valueDict}=   create dictionary   data=${bootDevice}
     Write Attribute    /org/openbmc/settings/host0   boot_flags   data=${valueDict}
 
 
diff --git a/tests/test_esel.robot b/tests/test_esel.robot
index d4efb9a..59156b4 100644
--- a/tests/test_esel.robot
+++ b/tests/test_esel.robot
@@ -18,11 +18,11 @@
     ...                and wrong Reservation ID. This command will be rejected.
     [Tags]  Test_Wrong_Reservation_ID
 
-    ${rev_id_1} =    Run IPMI Command Returned   0x0a 0x42
-    ${rev_id_ls} =   Get Substring   ${rev_id_1}   1   3
-    ${rev_id_ms} =   Get Substring   ${rev_id_1}   -2
+    ${rev_id_1}=    Run IPMI Command Returned   0x0a 0x42
+    ${rev_id_ls}=   Get Substring   ${rev_id_1}   1   3
+    ${rev_id_ms}=   Get Substring   ${rev_id_1}   -2
     Run IPMI command   0x0a 0x42
-    ${output} =      Check IPMI Oempartialadd Reject   0x32 0xf0 0x${rev_id_ls} 0x${rev_id_ms} 0 0 0 0 0 1 2 3 4 5 6 7 8 9 0xa 0xb 0xc 0xd 0xe 0xf
+    ${output}=      Check IPMI Oempartialadd Reject   0x32 0xf0 0x${rev_id_ls} 0x${rev_id_ms} 0 0 0 0 0 1 2 3 4 5 6 7 8 9 0xa 0xb 0xc 0xd 0xe 0xf
     Should Contain   ${output}   Reservation cancelled
 
 Test Correct Reservation_ID
@@ -33,10 +33,10 @@
     [Tags]  Test_Correct_Reservation_ID
 
     Run IPMI command   0x0a 0x42
-    ${rev_id_2} =    Run IPMI Command Returned   0x0a 0x42
-    ${rev_id_ls} =   Get Substring   ${rev_id_2}   1   3
-    ${rev_id_ms} =   Get Substring   ${rev_id_2}   -2
-    ${output} =      Check IPMI Oempartialadd Accept   0x32 0xf0 0x${rev_id_ls} 0x${rev_id_ms} 0 0 0 0 0 1 2 3 4 5 6 7 8 9 0xa 0xb 0xc 0xd 0xe 0xf
+    ${rev_id_2}=    Run IPMI Command Returned   0x0a 0x42
+    ${rev_id_ls}=   Get Substring   ${rev_id_2}   1   3
+    ${rev_id_ms}=   Get Substring   ${rev_id_2}   -2
+    ${output}=      Check IPMI Oempartialadd Accept   0x32 0xf0 0x${rev_id_ls} 0x${rev_id_ms} 0 0 0 0 0 1 2 3 4 5 6 7 8 9 0xa 0xb 0xc 0xd 0xe 0xf
     Should Be Empty    ${output}
 
 Clear Test File
@@ -49,7 +49,7 @@
 
 Run IPMI Command Returned
     [arguments]    ${args}
-    ${output_1} =    Execute Command    /tmp/ipmitool -I dbus raw ${args}
+    ${output_1}=    Execute Command    /tmp/ipmitool -I dbus raw ${args}
     [return]    ${output_1}
 
 Check IPMI Oempartialadd Reject
@@ -59,7 +59,7 @@
 
 Check IPMI Oempartialadd Accept
     [arguments]    ${args}
-    ${stdout}    ${stderr}    ${output_3} =    Execute Command    /tmp/ipmitool -I dbus raw ${args}    return_stdout=True    return_stderr= True    return_rc=True
+    ${stdout}    ${stderr}    ${output_3}=    Execute Command    /tmp/ipmitool -I dbus raw ${args}    return_stdout=True    return_stderr= True    return_rc=True
     Should Be Equal    ${output_3}    ${0}    msg=${stderr}
     [return]    ${stderr}
 
diff --git a/tests/test_eventlog.robot b/tests/test_eventlog.robot
index 5bb59f6..71ea017 100644
--- a/tests/test_eventlog.robot
+++ b/tests/test_eventlog.robot
@@ -24,16 +24,16 @@
 valid path to logs
     [Documentation]     Test list all events
     [Tags]  CI
-    ${resp} =   openbmc get request     /org/openbmc/records/events/
+    ${resp}=   openbmc get request     /org/openbmc/records/events/
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
 
 clear any logs
     [Documentation]     Test delete all events
     [Tags]  CI  clear_any_logs
-    ${resp} =   openbmc post request     /org/openbmc/records/events/action/clear    data=${NIL}
+    ${resp}=   openbmc post request     /org/openbmc/records/events/action/clear    data=${NIL}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${resp} =   openbmc get request     /org/openbmc/records/events/
-    ${json} =   to json         ${resp.content}
+    ${resp}=   openbmc get request     /org/openbmc/records/events/
+    ${json}=   to json         ${resp.content}
     Should Be Empty     ${json['data']}
 
 write a log
@@ -44,43 +44,43 @@
 Message attribute should match
     [Documentation]     Check message attribute for created event
     [Tags]  CI
-    ${uri} =      create a test log
-    ${content} =     Read Attribute      ${uri}   message
+    ${uri}=      create a test log
+    ${content}=     Read Attribute      ${uri}   message
     Should Be Equal     ${content}      A Test event log just happened
 
 Severity attribute should match
     [Documentation]     Check severity attribute for created event
     [Tags]  CI
-    ${uri} =      create a test log
+    ${uri}=      create a test log
     ${content}=     Read Attribute      ${uri}   severity
     Should Be Equal     ${content}      Info
 
 data_bytes attribute should match
     [Documentation]     Check data_bytes attribute for created event
     [Tags]  CI
-    @{data_list} =   Create List     ${48}  ${0}  ${19}  ${127}  ${136}  ${255}
-    ${uri} =      create a test log
-    ${content} =   Read Attribute      ${uri}   debug_data
+    @{data_list}=   Create List     ${48}  ${0}  ${19}  ${127}  ${136}  ${255}
+    ${uri}=      create a test log
+    ${content}=   Read Attribute      ${uri}   debug_data
     Lists Should Be Equal     ${content}      ${data_list}
 
 delete the log
     [Documentation]     Test the delete event
     [Tags]  CI
-    ${uri} =     create a test log
-    ${deluri} =  catenate    SEPARATOR=   ${uri}   /action/delete
-    ${resp} =    openbmc post request     ${deluri}    data=${NIL}
+    ${uri}=     create a test log
+    ${deluri}=  catenate    SEPARATOR=   ${uri}   /action/delete
+    ${resp}=    openbmc post request     ${deluri}    data=${NIL}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${resp} =    openbmc get request     ${deluri}
+    ${resp}=    openbmc get request     ${deluri}
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
 
 2nd delete should fail
     [Documentation]     Negative scnenario to delete already deleted event
     [Tags]  CI
-    ${uri} =     create a test log
-    ${deluri} =  catenate    SEPARATOR=   ${uri}   /action/delete
-    ${resp} =    openbmc post request     ${deluri}    data=${NIL}
+    ${uri}=     create a test log
+    ${deluri}=  catenate    SEPARATOR=   ${uri}   /action/delete
+    ${resp}=    openbmc post request     ${deluri}    data=${NIL}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${resp} =    openbmc post request     ${deluri}    data=${NIL}
+    ${resp}=    openbmc post request     ${deluri}    data=${NIL}
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
 
 Intermixed delete
@@ -93,8 +93,8 @@
     ${event1}=      create a test log
     ${event2}=      create a test log
     ${event3}=      create a test log
-    ${deluri} =  catenate    SEPARATOR=   ${event2}   /action/delete
-    ${resp} =    openbmc post request     ${deluri}    data=${NIL}
+    ${deluri}=  catenate    SEPARATOR=   ${event2}   /action/delete
+    ${resp}=    openbmc post request     ${deluri}    data=${NIL}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
     ${resp}=   openbmc get request   ${event2}
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
@@ -103,15 +103,15 @@
     [Documentation]     This is to test events are in place even after the
     ...                 event service is restarted.
     [Tags]  CI
-    ${resp} =   openbmc get request     /org/openbmc/records/events/
-    ${json} =   to json         ${resp.content}
+    ${resp}=   openbmc get request     /org/openbmc/records/events/
+    ${json}=   to json         ${resp.content}
     ${logs_pre_restart}=    set variable    ${json['data']}
 
     ${uptime}=  Execute Command    systemctl restart obmc-phosphor-event.service
     Sleep   ${10}
 
-    ${resp} =   openbmc get request     /org/openbmc/records/events/
-    ${json} =   to json         ${resp.content}
+    ${resp}=   openbmc get request     /org/openbmc/records/events/
+    ${json}=   to json         ${resp.content}
     ${logs_post_restart}=   set variable    ${json['data']}
     List Should Contain Sub List    ${logs_post_restart}    ${logs_pre_restart}     msg=Failed to find all the eventlogs which are present before restart of event service
 
@@ -124,8 +124,8 @@
     ${uptime}=  Execute Command    systemctl restart obmc-phosphor-event.service
     Sleep   ${10}
 
-    ${deluri} =  catenate    SEPARATOR=   ${uri}   /action/delete
-    ${resp} =    openbmc post request     ${deluri}    data=${NIL}
+    ${deluri}=  catenate    SEPARATOR=   ${uri}   /action/delete
+    ${resp}=    openbmc post request     ${deluri}    data=${NIL}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
 
 making new log after obmc-phosphor-event.service restart
@@ -145,8 +145,8 @@
     Sleep   ${10}
 
     ${uri}=     create a test log
-    ${deluri} =  catenate    SEPARATOR=   ${uri}   /action/delete
-    ${resp} =    openbmc post request     ${deluri}    data=${NIL}
+    ${deluri}=  catenate    SEPARATOR=   ${uri}   /action/delete
+    ${resp}=    openbmc post request     ${deluri}    data=${NIL}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
 
 Test events after openbmc reboot
@@ -173,26 +173,26 @@
     Wait Until Keyword Succeeds
     ...    10 min   10 sec   Verify BMC State   ${states}
 
-    ${resp} =    openbmc get request     ${pre_reboot_event}
+    ${resp}=    openbmc get request     ${pre_reboot_event}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
     ${post_reboot_event1}=         create a test log
 
-    ${del_prereboot_uri} =  catenate    SEPARATOR=   ${pre_reboot_event}   /action/delete
-    ${resp} =    openbmc post request     ${del_prereboot_uri}    data=${NIL}
+    ${del_prereboot_uri}=  catenate    SEPARATOR=   ${pre_reboot_event}   /action/delete
+    ${resp}=    openbmc post request     ${del_prereboot_uri}    data=${NIL}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${del_postreboot_uri} =  catenate    SEPARATOR=   ${post_reboot_event1}   /action/delete
-    ${resp} =    openbmc post request     ${del_postreboot_uri}    data=${NIL}
+    ${del_postreboot_uri}=  catenate    SEPARATOR=   ${post_reboot_event1}   /action/delete
+    ${resp}=    openbmc post request     ${del_postreboot_uri}    data=${NIL}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
 
 clearing logs results in no logs
     [Documentation]     This testcase is for clearning the events when no logs present
     [Tags]  CI
-    ${resp} =   openbmc post request     /org/openbmc/records/events/action/clear    data=${NIL}
+    ${resp}=   openbmc post request     /org/openbmc/records/events/action/clear    data=${NIL}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${resp} =   openbmc get request     /org/openbmc/records/events/
-    ${json} =   to json         ${resp.content}
+    ${resp}=   openbmc get request     /org/openbmc/records/events/
+    ${json}=   to json         ${resp.content}
     Should Be Empty     ${json['data']}
-    ${resp} =   openbmc post request     /org/openbmc/records/events/action/clear    data=${NIL}
+    ${resp}=   openbmc post request     /org/openbmc/records/events/action/clear    data=${NIL}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
 
 
@@ -200,10 +200,10 @@
 
 create a test log
     [arguments]
-    ${data} =   create dictionary   data=@{EMPTY}
-    ${resp} =   openbmc post request     /org/openbmc/records/events/action/acceptTestMessage    data=${data}
+    ${data}=   create dictionary   data=@{EMPTY}
+    ${resp}=   openbmc post request     /org/openbmc/records/events/action/acceptTestMessage    data=${data}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${json} =   to json         ${resp.content}
-    ${LOGID} =    convert to integer    ${json['data']}
+    ${json}=   to json         ${resp.content}
+    ${LOGID}=    convert to integer    ${json['data']}
     ${uri}=     catenate    SEPARATOR=   /org/openbmc/records/events/   ${LOGID}
     [return]  ${uri}
diff --git a/tests/test_fw_version.robot b/tests/test_fw_version.robot
index d1d566b..73a4873 100755
--- a/tests/test_fw_version.robot
+++ b/tests/test_fw_version.robot
@@ -16,7 +16,7 @@
     ...     $ git describe --dirty
     ...     v0.1-34-g95f7347
     ...     $
-    ${resp} =    OpenBMC Get Request    /org/openbmc/inventory/system/chassis/motherboard/bmc
+    ${resp}=    OpenBMC Get Request    /org/openbmc/inventory/system/chassis/motherboard/bmc
     Should Be Equal As Strings    ${resp.status_code}    ${HTTP_OK}
     ${jsondata}=    To Json    ${resp.content}
     Should not be empty     ${jsondata["data"]["version"]}    msg=version field is empty
@@ -29,7 +29,7 @@
     ...     $
 
     [Tags]  chassisboot    Test_BIOS_Version
-    ${resp} =    OpenBMC Get Request    /org/openbmc/inventory/system/bios
+    ${resp}=    OpenBMC Get Request    /org/openbmc/inventory/system/bios
     Should Be Equal As Strings    ${resp.status_code}    ${HTTP_OK}
     ${jsondata}=    To Json    ${resp.content}
     Should not be empty     ${jsondata["data"]["Version"]}    msg=Version field is empty
diff --git a/tests/test_generic_conf.robot b/tests/test_generic_conf.robot
index b01af32..7f68b88 100755
--- a/tests/test_generic_conf.robot
+++ b/tests/test_generic_conf.robot
@@ -94,7 +94,7 @@
     [Tags]  known_issue
 
     ${valueToBeSet}=   Set Variable     3ab56f
-    ${valueDict} =   create dictionary   data=${valueToBeSet}
+    ${valueDict}=   create dictionary   data=${valueToBeSet}
     Write Attribute  /org/openbmc/settings/host0    boot_flags      data=${valueDict}
     ${value}=      Read Attribute    /org/openbmc/settings/host0    boot_flags
     Should not Be Equal     ${value}      ${valueToBeSet}
diff --git a/tests/test_inventory.robot b/tests/test_inventory.robot
index 1d3667c..9f23451 100644
--- a/tests/test_inventory.robot
+++ b/tests/test_inventory.robot
@@ -20,40 +20,40 @@
 *** Test Cases ***
 
 minimal cpu inventory
-    ${count} =     Get Total Present     cpu
+    ${count}=     Get Total Present     cpu
     Should Be True     ${count}>${0}
 
 minimal dimm inventory
     [Tags]  minimal_dimm_inventory
 
-    ${count} =     Get Total Present     dimm
+    ${count}=     Get Total Present     dimm
     Should Be True     ${count}>=${2}
 
 minimal core inventory
-    ${count} =     Get Total Present     core
+    ${count}=     Get Total Present     core
     Should Be True     ${count}>${0}
 
 minimal memory buffer inventory
     [Tags]    minimal_memory_buffer_inventory
 
-    ${count} =     Get Total Present     membuf
+    ${count}=     Get Total Present     membuf
     Should Be True     ${count}>${0}
 
 minimal fan inventory
     [Tags]  minimal_fan_inventory
-    ${count} =     Get Total Present     fan
+    ${count}=     Get Total Present     fan
     Should Be True     ${count}>${2}
 
 minimal main planar inventory
     [Tags]    minimal_main_planar_inventory
 
-    ${count} =     Get Total Present     motherboard
+    ${count}=     Get Total Present     motherboard
     Should Be True     ${count}>${0}
 
 minimal system inventory
     [Tags]    minimal_system_inventory
 
-    ${count} =     Get Total Present     system
+    ${count}=     Get Total Present     system
     Should Be True     ${count}>${0}
 
 Verify CPU VPD Properties
@@ -81,32 +81,32 @@
 Setup The Suite
     BMC Power On
 
-    ${resp} =     Read Properties     /org/openbmc/inventory/enumerate
+    ${resp}=     Read Properties     /org/openbmc/inventory/enumerate
     Set Suite Variable     ${SYSTEM_INFO}      ${resp}
     log Dictionary      ${resp}
 
 Get Total Present
     [arguments]     ${type}
-    ${l} =          Create List     []
-    ${resp} =    Get Dictionary Keys    ${SYSTEM_INFO}
-    ${list} =    Get Matches    ${resp}    regexp=^.*[0-9a-z_].${type}[0-9]*$
+    ${l}=          Create List     []
+    ${resp}=    Get Dictionary Keys    ${SYSTEM_INFO}
+    ${list}=    Get Matches    ${resp}    regexp=^.*[0-9a-z_].${type}[0-9]*$
     : FOR   ${element}      IN      @{list}
     \       Append To List   ${l}   ${SYSTEM_INFO['${element}']['present']}
 
-    ${sum} =        Get Count       ${l}    True
+    ${sum}=        Get Count       ${l}    True
     [return]        ${sum}
 
 Verify Properties
     [arguments]     ${type}
 
-    ${list} =     Get VPD Inventory List     ${OPENBMC_MODEL}     ${type}
+    ${list}=     Get VPD Inventory List     ${OPENBMC_MODEL}     ${type}
     : FOR     ${element}     IN      @{list}
-    \     ${d} =     Get From Dictionary     ${SYSTEM_INFO}     ${element}
+    \     ${d}=     Get From Dictionary     ${SYSTEM_INFO}     ${element}
     \     Run Keyword If     ${d['present']} == True        Verify Present Properties     ${d}     ${type}
 
 Verify Present Properties
     [arguments]     ${d}     ${type}
-    ${keys} =     Get Dictionary Keys     ${d}
+    ${keys}=     Get Dictionary Keys     ${d}
     Log List     ${keys}
     Log List     ${INVENTORY_ITEMS['${type}']}
     Lists Should Be Equal  ${INVENTORY_ITEMS['${type}']}     ${keys}
diff --git a/tests/test_led.robot b/tests/test_led.robot
index e084f09..9097104 100644
--- a/tests/test_led.robot
+++ b/tests/test_led.robot
@@ -18,19 +18,19 @@
 Validate Heartbeat LEDs Test Cases
     [Documentation]   If heartbeat LED exist then execute the test set.
     [Tags]  Validate_Heartbeat_LEDs_Test_Cases
-    ${resp} =   OpenBMC Get Request   /org/openbmc/control/led/heartbeat
+    ${resp}=   OpenBMC Get Request   /org/openbmc/control/led/heartbeat
     Run keyword If  ${resp.status_code} == ${HTTP_OK}   Execute Heartbeat LEDs Test Cases
 
 Validate Identify LEDs Test Cases
     [Documentation]   If identify LED exist then execute the test set.
     [Tags]  Validate_Identify_LEDs_Test_Cases
-    ${resp} =   OpenBMC Get Request   /org/openbmc/control/led/identify
+    ${resp}=   OpenBMC Get Request   /org/openbmc/control/led/identify
     Run keyword If  ${resp.status_code} == ${HTTP_OK}   Execute Identify LEDs Test Cases
 
 Validate Beep LEDs Test Cases
     [Documentation]   If beep LED exist then execute the test set.
     [Tags]  Validate_Beep_LEDs_Test_Cases
-    ${resp} =   OpenBMC Get Request   /org/openbmc/control/led/beep
+    ${resp}=   OpenBMC Get Request   /org/openbmc/control/led/beep
     Run keyword If  ${resp.status_code} == ${HTTP_OK}  Execute Beep LEDs Test Cases
 
 *** Keywords ***
@@ -61,7 +61,7 @@
    ...               Heartbeat LED. The LED state is read again to check if
    ...               the LED is in ON state.
    Set On   heartbeat
-   ${ledstate} =   Get LED State   heartbeat
+   ${ledstate}=   Get LED State   heartbeat
    should be equal as strings   ${ledstate}   On
 
 Turn OFF the Heartbeat LED
@@ -69,7 +69,7 @@
    ...               Heartbeat LED. The LED state is read again to check if
    ...               the LED is in OFF state.
    Set Off   heartbeat
-   ${ledstate} =   Get LED State   heartbeat
+   ${ledstate}=   Get LED State   heartbeat
    should be equal as strings   ${ledstate}   Off
 
 Blink Fast the Heartbeat LED
@@ -82,9 +82,9 @@
    ${ON_VALUE}=   Set Variable   ${0}
    Set Blink Fast   heartbeat
    : FOR   ${INDEX}   IN RANGE   1   ${SAMPLING_FREQUENCY}
-   \   ${ledstate} =   Get LED State   heartbeat
-   \   ${ON_VALUE} =   Set Variable If   '${ledstate}'=='On'   ${ON_VALUE + 1}   ${ON_VALUE}
-   \   ${OFF_VALUE} =   Set Variable If   '${ledstate}'=='Off'   ${OFF_VALUE + 1}   ${OFF_VALUE}
+   \   ${ledstate}=   Get LED State   heartbeat
+   \   ${ON_VALUE}=   Set Variable If   '${ledstate}'=='On'   ${ON_VALUE + 1}   ${ON_VALUE}
+   \   ${OFF_VALUE}=   Set Variable If   '${ledstate}'=='Off'   ${OFF_VALUE + 1}   ${OFF_VALUE}
    should be true   ${ON_VALUE} > ${MIN_TOGGLE_VALUE} and ${OFF_VALUE} > ${MIN_TOGGLE_VALUE}
 
 Blink Slow the Heartbeat LED
@@ -97,9 +97,9 @@
    ${ON_VALUE}=   Set Variable   ${0}
    Set Blink Slow   heartbeat
    : FOR   ${INDEX}   IN RANGE   1   ${SAMPLING_FREQUENCY}
-   \   ${ledstate} =   Get LED State   heartbeat
-   \   ${ON_VALUE} =   Set Variable If   '${ledstate}'=='On'   ${ON_VALUE + 1}   ${ON_VALUE}
-   \   ${OFF_VALUE} =   Set Variable If   '${ledstate}'=='Off'   ${OFF_VALUE + 1}   ${OFF_VALUE}
+   \   ${ledstate}=   Get LED State   heartbeat
+   \   ${ON_VALUE}=   Set Variable If   '${ledstate}'=='On'   ${ON_VALUE + 1}   ${ON_VALUE}
+   \   ${OFF_VALUE}=   Set Variable If   '${ledstate}'=='Off'   ${OFF_VALUE + 1}   ${OFF_VALUE}
    should be true   ${ON_VALUE} > ${MIN_TOGGLE_VALUE} and ${OFF_VALUE} > ${MIN_TOGGLE_VALUE}
 
 Turn ON the Identify LED
@@ -107,7 +107,7 @@
    ...               Identify LED. The LED state is read again to check if
    ...               the LED is in ON state.
    Set On   identify
-   ${ledstate} =   Get LED State   identify
+   ${ledstate}=   Get LED State   identify
    should be equal as strings   ${ledstate}   On
 
 Turn OFF the Identify LED
@@ -115,7 +115,7 @@
    ...               Identify LED. The LED state is read again to check if
    ...               the LED is in OFF state.
    Set Off   identify
-   ${ledstate} =   Get LED State   identify
+   ${ledstate}=   Get LED State   identify
    should be equal as strings   ${ledstate}   Off
 
 Blink Fast the Identify LED
@@ -128,9 +128,9 @@
    ${ON_VALUE}=   Set Variable   ${0}
    Set Blink Fast   identify
    : FOR   ${INDEX}   IN RANGE   1   ${SAMPLING_FREQUENCY}
-   \   ${ledstate} =   Get LED State   identify
-   \   ${ON_VALUE} =   Set Variable If   '${ledstate}'=='On'   ${ON_VALUE + 1}   ${ON_VALUE}
-   \   ${OFF_VALUE} =   Set Variable If   '${ledstate}'=='Off'   ${OFF_VALUE + 1}   ${OFF_VALUE}
+   \   ${ledstate}=   Get LED State   identify
+   \   ${ON_VALUE}=   Set Variable If   '${ledstate}'=='On'   ${ON_VALUE + 1}   ${ON_VALUE}
+   \   ${OFF_VALUE}=   Set Variable If   '${ledstate}'=='Off'   ${OFF_VALUE + 1}   ${OFF_VALUE}
    should be true   ${ON_VALUE} > ${MIN_TOGGLE_VALUE} and ${OFF_VALUE} > ${MIN_TOGGLE_VALUE}
 
 Blink Slow the Identify LED
@@ -143,9 +143,9 @@
    ${ON_VALUE}=   Set Variable   ${0}
    Set Blink Slow   identify
    : FOR   ${INDEX}   IN RANGE   1   ${SAMPLING_FREQUENCY}
-   \   ${ledstate} =   Get LED State   identify
-   \   ${ON_VALUE} =   Set Variable If   '${ledstate}'=='On'   ${ON_VALUE + 1}   ${ON_VALUE}
-   \   ${OFF_VALUE} =   Set Variable If   '${ledstate}'=='Off'   ${OFF_VALUE + 1}   ${OFF_VALUE}
+   \   ${ledstate}=   Get LED State   identify
+   \   ${ON_VALUE}=   Set Variable If   '${ledstate}'=='On'   ${ON_VALUE + 1}   ${ON_VALUE}
+   \   ${OFF_VALUE}=   Set Variable If   '${ledstate}'=='Off'   ${OFF_VALUE + 1}   ${OFF_VALUE}
    should be true   ${ON_VALUE} > ${MIN_TOGGLE_VALUE} and ${OFF_VALUE} > ${MIN_TOGGLE_VALUE}
 
 Turn ON the Beep LED
@@ -153,7 +153,7 @@
    ...               Beep LED. The LED state is read again to check if
    ...               the LED is in ON state.
    Set On   beep
-   ${ledstate} =   Get LED State   beep
+   ${ledstate}=   Get LED State   beep
    should be equal as strings   ${ledstate}   On
 
 Turn OFF the Beep LED
@@ -161,7 +161,7 @@
    ...               Beep LED. The LED state is read again to check if
    ...               the LED is in OFF state.
    Set Off   beep
-   ${ledstate} =   Get LED State   beep
+   ${ledstate}=   Get LED State   beep
    should be equal as strings   ${ledstate}   Off
 
 Blink Fast the Beep LED
@@ -172,12 +172,12 @@
    ...               this testcase to pass.
    ${OFF_VALUE}=   Set Variable   ${0}
    ${ON_VALUE}=   Set Variable   ${0}
-   ${data} =   create dictionary   data=@{EMPTY}
+   ${data}=   create dictionary   data=@{EMPTY}
    Set Blink Fast   beep
    : FOR   ${INDEX}   IN RANGE   1   ${SAMPLING_FREQUENCY}
-   \   ${ledstate} =   Get LED State   beep
-   \   ${ON_VALUE} =   Set Variable If   '${ledstate}'=='On'   ${ON_VALUE + 1}   ${ON_VALUE}
-   \   ${OFF_VALUE} =   Set Variable If   '${ledstate}'=='Off'   ${OFF_VALUE + 1}   ${OFF_VALUE}
+   \   ${ledstate}=   Get LED State   beep
+   \   ${ON_VALUE}=   Set Variable If   '${ledstate}'=='On'   ${ON_VALUE + 1}   ${ON_VALUE}
+   \   ${OFF_VALUE}=   Set Variable If   '${ledstate}'=='Off'   ${OFF_VALUE + 1}   ${OFF_VALUE}
    should be true   ${ON_VALUE} > ${MIN_TOGGLE_VALUE} and ${OFF_VALUE} > ${MIN_TOGGLE_VALUE}
 
 Blink Slow the Beep LED
@@ -190,47 +190,47 @@
    ${ON_VALUE}=   Set Variable   ${0}
    Set Blink Slow   beep
    : FOR   ${INDEX}   IN RANGE   1   ${SAMPLING_FREQUENCY}
-   \   ${ledstate} =   Get LED State   beep
-   \   ${ON_VALUE} =   Set Variable If   '${ledstate}'=='On'   ${ON_VALUE + 1}   ${ON_VALUE}
-   \   ${OFF_VALUE} =   Set Variable If   '${ledstate}'=='Off'   ${OFF_VALUE + 1}   ${OFF_VALUE}
+   \   ${ledstate}=   Get LED State   beep
+   \   ${ON_VALUE}=   Set Variable If   '${ledstate}'=='On'   ${ON_VALUE + 1}   ${ON_VALUE}
+   \   ${OFF_VALUE}=   Set Variable If   '${ledstate}'=='Off'   ${OFF_VALUE + 1}   ${OFF_VALUE}
    should be true   ${ON_VALUE} > ${MIN_TOGGLE_VALUE} and ${OFF_VALUE} > ${MIN_TOGGLE_VALUE}
 
 Get LED State
    [arguments]    ${args}
-   ${data} =   create dictionary   data=@{EMPTY}
-   ${resp} =   OpenBMC Post Request   /org/openbmc/control/led/${args}/action/GetLedState   data=${data}
+   ${data}=   create dictionary   data=@{EMPTY}
+   ${resp}=   OpenBMC Post Request   /org/openbmc/control/led/${args}/action/GetLedState   data=${data}
    should be equal as strings   ${resp.status_code}   ${HTTP_OK}
-   ${json} =   to json   ${resp.content}
+   ${json}=   to json   ${resp.content}
    [return]    ${json['data'][1]}
 
 Set On
    [arguments]    ${args}
-   ${data} =   create dictionary   data=@{EMPTY}
-   ${resp} =   OpenBMC Post Request   /org/openbmc/control/led/${args}/action/setOn   data=${data}
+   ${data}=   create dictionary   data=@{EMPTY}
+   ${resp}=   OpenBMC Post Request   /org/openbmc/control/led/${args}/action/setOn   data=${data}
    should be equal as strings   ${resp.status_code}   ${HTTP_OK}
-   ${json} =   to json   ${resp.content}
+   ${json}=   to json   ${resp.content}
    should be equal as integers   ${json['data']}   0
 
 Set Off
    [arguments]    ${args}
-   ${data} =   create dictionary   data=@{EMPTY}
-   ${resp} =   OpenBMC Post Request   /org/openbmc/control/led/${args}/action/setOff   data=${data}
+   ${data}=   create dictionary   data=@{EMPTY}
+   ${resp}=   OpenBMC Post Request   /org/openbmc/control/led/${args}/action/setOff   data=${data}
    should be equal as strings   ${resp.status_code}   ${HTTP_OK}
-   ${json} =   to json   ${resp.content}
+   ${json}=   to json   ${resp.content}
    should be equal as integers   ${json['data']}   0
 
 Set Blink Fast
    [arguments]    ${args}
-   ${data} =   create dictionary   data=@{EMPTY}
-   ${resp} =   OpenBMC Post Request   /org/openbmc/control/led/${args}/action/setBlinkFast   data=${data}
+   ${data}=   create dictionary   data=@{EMPTY}
+   ${resp}=   OpenBMC Post Request   /org/openbmc/control/led/${args}/action/setBlinkFast   data=${data}
    should be equal as strings   ${resp.status_code}   ${HTTP_OK}
-   ${json} =   to json   ${resp.content}
+   ${json}=   to json   ${resp.content}
    should be equal as integers   ${json['data']}   0
 
 Set Blink Slow
    [arguments]    ${args}
-   ${data} =   create dictionary   data=@{EMPTY}
-   ${resp} =   OpenBMC Post Request   /org/openbmc/control/led/${args}/action/setBlinkSlow   data=${data}
+   ${data}=   create dictionary   data=@{EMPTY}
+   ${resp}=   OpenBMC Post Request   /org/openbmc/control/led/${args}/action/setBlinkSlow   data=${data}
    should be equal as strings   ${resp.status_code}   ${HTTP_OK}
-   ${json} =   to json   ${resp.content}
+   ${json}=   to json   ${resp.content}
    should be equal as integers   ${json['data']}   0
diff --git a/tests/test_networkd.robot b/tests/test_networkd.robot
index 3c856ec..0dfb897 100755
--- a/tests/test_networkd.robot
+++ b/tests/test_networkd.robot
@@ -23,7 +23,7 @@
     ${args}=     Create Dictionary   data=@{arglist}
     ${resp}=   Call Method    /org/openbmc/NetworkManager/Interface/    GetHwAddress    data=${args}
     should not be empty    ${resp.content}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}      ok
     set suite variable   ${OLD_MAC_ADDRESS}  ${json['data']}
 
@@ -38,7 +38,7 @@
     ${args}=     Create Dictionary   data=@{arglist}
     ${resp}=    Call Method    /org/openbmc/NetworkManager/Interface/   GetAddress4    data=${args}
     should not be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 Get IP Address with valid interface
@@ -51,7 +51,7 @@
     ${args}=     Create Dictionary   data=@{arglist}
     ${resp}=    Call Method    /org/openbmc/NetworkManager/Interface/   GetAddress4    data=${args}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}      ok
 
 
@@ -123,7 +123,7 @@
     @{arglist}=   Create List   eth0
     ${args}=     Create Dictionary   data=@{arglist}
     ${resp}=    Call Method    /org/openbmc/NetworkManager/Interface/   GetAddressType    data=${args}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     Should Be Equal    ${json['data']}    STATIC
     should be equal as strings      ${json['status']}      ok
 
@@ -144,7 +144,7 @@
     ${args}=       Create Dictionary   data=@{arglist}
     ${resp}=       Call Method    /org/openbmc/NetworkManager/Interface/   GetAddress4    data=${args}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     log to console   ${json['data'][2]}
     log to console   ${json['data'][3]}
     [return]    ${json}
@@ -156,5 +156,5 @@
     ${args}=       Create Dictionary   data=@{arglist}
     ${resp}=       Call Method    /org/openbmc/NetworkManager/Interface/   SetAddress4    data=${args}
     should not be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       ${result}
diff --git a/tests/test_obmcrest.robot b/tests/test_obmcrest.robot
index aa26bcd..5a6dfb6 100644
--- a/tests/test_obmcrest.robot
+++ b/tests/test_obmcrest.robot
@@ -28,343 +28,343 @@
     Should Be Equal    ${resp}     ${1}
 
 Get a null Property
-    ${resp} =    OpenBMC Get Request    /org/openbmc/inventory/attr/is_fru
+    ${resp}=    OpenBMC Get Request    /org/openbmc/inventory/attr/is_fru
     Should Be Equal As Strings    ${resp.status_code}    ${HTTP_NOT_FOUND}
     ${jsondata}=    To Json    ${resp.content}
     Should Be Equal     ${jsondata['data']['description']}      The specified property cannot be found: ''is_fru''
 
 get directory listing /
     [Tags]  CI  get_directory_listing
-    ${resp} =   openbmc get request     /
+    ${resp}=   openbmc get request     /
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${json} =   to json     ${resp.content}
+    ${json}=   to json     ${resp.content}
     list should contain value           ${json['data']}         /org
     should be equal as strings          ${json['status']}       ok
 
 get directory listing /org/
     [Tags]  CI
-    ${resp} =   openbmc get request     /org/
+    ${resp}=   openbmc get request     /org/
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     list should contain value           ${json['data']}     /org/openbmc
     should be equal as strings          ${json['status']}       ok
 
 get invalid directory listing /i/dont/exist/
     [Tags]  CI
-    ${resp} =   openbmc get request     /i/dont/exist/
+    ${resp}=   openbmc get request     /i/dont/exist/
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings          ${json['status']}   error
 
 put directory listing /
     [Tags]  CI
-    ${resp} =   openbmc put request     /
+    ${resp}=   openbmc put request     /
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings          ${json['status']}   error
 
 put directory listing /org/
     [Tags]  CI
-    ${resp} =   openbmc put request     /org/
+    ${resp}=   openbmc put request     /org/
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings          ${json['status']}   error
 
 put invalid directory listing /i/dont/exist/
     [Tags]  CI
-    ${resp} =   openbmc put request     /i/dont/exist/
+    ${resp}=   openbmc put request     /i/dont/exist/
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings          ${json['status']}   error
 
 post directory listing /
     [Tags]  CI
-    ${resp} =   openbmc post request    /
+    ${resp}=   openbmc post request    /
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings          ${json['status']}   error
 
 post directory listing /org/
     [Tags]  CI
-    ${resp} =   openbmc post request    /org/
+    ${resp}=   openbmc post request    /org/
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings          ${json['status']}   error
 
 post invalid directory listing /i/dont/exist/
     [Tags]  CI
-    ${resp} =   openbmc post request    /i/dont/exist/
+    ${resp}=   openbmc post request    /i/dont/exist/
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings          ${json['status']}   error
 
 delete directory listing /
     [Tags]  CI
-    ${resp} =   openbmc delete request  /
+    ${resp}=   openbmc delete request  /
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings          ${json['status']}   error
 
 delete directory listing /org/
     [Tags]  CI
-    ${resp} =   openbmc delete request  /
+    ${resp}=   openbmc delete request  /
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings          ${json['status']}   error
 
 delete invalid directory listing /org/nothere/
     [Tags]  CI
-    ${resp} =   openbmc delete request  /org/nothere/
+    ${resp}=   openbmc delete request  /org/nothere/
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings          ${json['status']}   error
 
 get list names /
-    ${resp} =   openbmc get request     /list
+    ${resp}=   openbmc get request     /list
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     list should contain value       ${json['data']}         /org/openbmc/inventory
     should be equal as strings      ${json['status']}       ok
 
 get list names /org/
-    ${resp} =   openbmc get request     /org/list
+    ${resp}=   openbmc get request     /org/list
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     list should contain value       ${json['data']}         /org/openbmc/inventory
     should be equal as strings      ${json['status']}       ok
 
 get invalid list names /i/dont/exist/
     [Tags]  CI
-    ${resp} =   openbmc get request     /i/dont/exist/list
+    ${resp}=   openbmc get request     /i/dont/exist/list
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 put list names /
     [Tags]  CI
-    ${resp} =   openbmc put request     /list
+    ${resp}=   openbmc put request     /list
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 put list names /org/
     [Tags]  CI
-    ${resp} =   openbmc put request     /org/list
+    ${resp}=   openbmc put request     /org/list
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 put invalid list names /i/dont/exist/
     [Tags]  CI
-    ${resp} =   openbmc put request     /i/dont/exist/list
+    ${resp}=   openbmc put request     /i/dont/exist/list
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 post list names /
     [Tags]  CI
-    ${resp} =   openbmc post request    /list
+    ${resp}=   openbmc post request    /list
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 post list names /org/
     [Tags]  CI
-    ${resp} =   openbmc post request    /org/list
+    ${resp}=   openbmc post request    /org/list
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 post invalid list names /i/dont/exist/
     [Tags]  CI
-    ${resp} =   openbmc post request    /i/dont/exist/list
+    ${resp}=   openbmc post request    /i/dont/exist/list
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 delete list names /
     [Tags]  CI
-    ${resp} =   openbmc delete request  /list
+    ${resp}=   openbmc delete request  /list
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 delete list names /org/
     [Tags]  CI
-    ${resp} =   openbmc delete request  /list
+    ${resp}=   openbmc delete request  /list
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 delete invalid list names /org/nothere/
     [Tags]  CI
-    ${resp} =   openbmc delete request  /org/nothere/list
+    ${resp}=   openbmc delete request  /org/nothere/list
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 get names /
     [Tags]  get_names
-    ${resp} =   openbmc get request     /enumerate
+    ${resp}=   openbmc get request     /enumerate
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     list should contain value       ${json['data']}         /org/openbmc/inventory
     should be equal as strings      ${json['status']}       ok
 
 get names /org/
     [Tags]  get_names_org
-    ${resp} =   openbmc get request     /org/enumerate
+    ${resp}=   openbmc get request     /org/enumerate
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     list should contain value       ${json['data']}         /org/openbmc/inventory
     should be equal as strings      ${json['status']}       ok
 
 get invalid names /i/dont/exist/
     [Tags]  CI
-    ${resp} =   openbmc get request     /i/dont/exist/enumerate
+    ${resp}=   openbmc get request     /i/dont/exist/enumerate
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 put names /
     [Tags]  CI
-    ${resp} =   openbmc put request     /enumerate
+    ${resp}=   openbmc put request     /enumerate
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 put names /org/
     [Tags]  CI
-    ${resp} =   openbmc put request     /org/enumerate
+    ${resp}=   openbmc put request     /org/enumerate
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 put invalid names /i/dont/exist/
     [Tags]  CI
-    ${resp} =   openbmc put request     /i/dont/exist/enumerate
+    ${resp}=   openbmc put request     /i/dont/exist/enumerate
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 post names /
     [Tags]  CI
-    ${resp} =   openbmc post request    /enumerate
+    ${resp}=   openbmc post request    /enumerate
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 post names /org/
     [Tags]  CI
-    ${resp} =   openbmc post request    /org/enumerate
+    ${resp}=   openbmc post request    /org/enumerate
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 post invalid names /i/dont/exist/
     [Tags]  CI
-    ${resp} =   openbmc post request    /i/dont/exist/enumerate
+    ${resp}=   openbmc post request    /i/dont/exist/enumerate
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 delete names /
     [Tags]  CI
-    ${resp} =   openbmc delete request  /enumerate
+    ${resp}=   openbmc delete request  /enumerate
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 delete names /org/
     [Tags]  CI
-    ${resp} =   openbmc delete request  /enumerate
+    ${resp}=   openbmc delete request  /enumerate
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 delete invalid names /org/nothere/
     [Tags]  CI
-    ${resp} =   openbmc delete request  /org/nothere/enumerate
+    ${resp}=   openbmc delete request  /org/nothere/enumerate
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 get method org/openbmc/records/events/action/acceptTestMessage
     [Tags]  CI
-    ${resp} =   openbmc get request     org/openbmc/records/events/action/acceptTestMessage
+    ${resp}=   openbmc get request     org/openbmc/records/events/action/acceptTestMessage
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 get invalid method /i/dont/exist/
     [Tags]  CI
-    ${resp} =   openbmc get request     /i/dont/exist/action/foo
+    ${resp}=   openbmc get request     /i/dont/exist/action/foo
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 put method org/openbmc/records/events/action/acceptTestMessage
     [Tags]  CI
-    ${resp} =   openbmc put request     org/openbmc/records/events/action/acceptTestMessage
+    ${resp}=   openbmc put request     org/openbmc/records/events/action/acceptTestMessage
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 put invalid method /i/dont/exist/
     [Tags]  CI
-    ${resp} =   openbmc put request     /i/dont/exist/action/foo
+    ${resp}=   openbmc put request     /i/dont/exist/action/foo
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 post method power/getPowerState no args
     ${fan_uri}=     Get Power Control Interface
-    ${data} =   create dictionary   data=@{EMPTY}
-    ${resp} =   openbmc post request    ${fan_uri}/action/getPowerState      data=${data}
+    ${data}=   create dictionary   data=@{EMPTY}
+    ${resp}=   openbmc post request    ${fan_uri}/action/getPowerState      data=${data}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       ok
 
 post method org/openbmc/records/events/action/acceptTestMessage invalid args
     [Tags]  CI
-    ${data} =   create dictionary   foo=bar
-    ${resp} =   openbmc post request    org/openbmc/records/events/action/acceptTestMessage      data=${data}
+    ${data}=   create dictionary   foo=bar
+    ${resp}=   openbmc post request    org/openbmc/records/events/action/acceptTestMessage      data=${data}
     should be equal as strings      ${resp.status_code}     ${HTTP_BAD_REQUEST}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 post method org/openbmc/sensors/host/BootCount with args
-    ${uri} =     Set Variable   /org/openbmc/sensors/host/BootCount
+    ${uri}=     Set Variable   /org/openbmc/sensors/host/BootCount
     ${COUNT}=   Set Variable    ${3}
-    @{count_list} =   Create List     ${COUNT}
-    ${data} =   create dictionary   data=@{count_list}
-    ${resp} =   openbmc post request    ${uri}/action/setValue      data=${data}
+    @{count_list}=   Create List     ${COUNT}
+    ${data}=   create dictionary   data=@{count_list}
+    ${resp}=   openbmc post request    ${uri}/action/setValue      data=${data}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       ok
     ${content}=     Read Attribute      ${uri}   value
     Should Be Equal     ${content}      ${COUNT}
 
 delete method org/openbmc/records/events/action/acceptTestMessage
     [Tags]  CI
-    ${resp} =   openbmc delete request  org/openbmc/records/events/action/acceptTestMessage
+    ${resp}=   openbmc delete request  org/openbmc/records/events/action/acceptTestMessage
     should be equal as strings      ${resp.status_code}     ${HTTP_METHOD_NOT_ALLOWED}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 delete invalid method /org/nothere/
     [Tags]  CI
-    ${resp} =   openbmc delete request  /org/nothere/action/foomethod
+    ${resp}=   openbmc delete request  /org/nothere/action/foomethod
     should be equal as strings      ${resp.status_code}     ${HTTP_NOT_FOUND}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       error
 
 post method org/openbmc/records/events/action/acceptTestMessage no args
     [Tags]  CI
-    ${data} =   create dictionary   data=@{EMPTY}
-    ${resp} =   openbmc post request    org/openbmc/records/events/action/acceptTestMessage      data=${data}
+    ${data}=   create dictionary   data=@{EMPTY}
+    ${resp}=   openbmc post request    org/openbmc/records/events/action/acceptTestMessage      data=${data}
     should be equal as strings      ${resp.status_code}     ${HTTP_OK}
-    ${json} =   to json         ${resp.content}
+    ${json}=   to json         ${resp.content}
     should be equal as strings      ${json['status']}       ok
 
 ***keywords***
diff --git a/tests/test_occ_powercap.robot b/tests/test_occ_powercap.robot
index 0847350..c424b5e 100644
--- a/tests/test_occ_powercap.robot
+++ b/tests/test_occ_powercap.robot
@@ -88,7 +88,7 @@
     ...               value is greater than zero
     [Tags]  Get_System_Power_Consumption
 
-    ${resp} =   OpenBMC Get Request   /org/openbmc/sensors/powercap/system_power
+    ${resp}=   OpenBMC Get Request   /org/openbmc/sensors/powercap/system_power
     should be equal as strings   ${resp.status_code}   ${HTTP_OK}
     ${jsondata}=   To Json    ${resp.content}
     Should Be True   ${jsondata["data"]["value"]} > 0
@@ -96,29 +96,29 @@
 *** Keywords ***
 
 Get Minimum PowerCap
-    ${resp} =   OpenBMC Get Request    /org/openbmc/sensors/powercap/min_cap
+    ${resp}=   OpenBMC Get Request    /org/openbmc/sensors/powercap/min_cap
     ${jsondata}=   To Json    ${resp.content}
     [return]    ${jsondata["data"]["value"]}
 
 Get Maximum PowerCap
-    ${resp} =   OpenBMC Get Request    /org/openbmc/sensors/powercap/max_cap
+    ${resp}=   OpenBMC Get Request    /org/openbmc/sensors/powercap/max_cap
     ${jsondata}=   To Json    ${resp.content}
     [return]    ${jsondata["data"]["value"]}
 
 Get User PowerCap
-    ${resp} =   OpenBMC Get Request    /org/openbmc/sensors/powercap/user_cap
+    ${resp}=   OpenBMC Get Request    /org/openbmc/sensors/powercap/user_cap
     ${jsondata}=   To Json    ${resp.content}
     [return]    ${jsondata["data"]["value"]}
 
 Set PowerCap
     [Arguments]    ${powercap_value}
-    @{pcap_list} =   Create List     ${powercap_value}
-    ${data} =   create dictionary   data=@{pcap_list}
-    ${resp} =   openbmc post request    /org/openbmc/sensors/host/powercap/action/setValue      data=${data}
+    @{pcap_list}=   Create List     ${powercap_value}
+    ${data}=   create dictionary   data=@{pcap_list}
+    ${resp}=   openbmc post request    /org/openbmc/sensors/host/powercap/action/setValue      data=${data}
     [return]    ${resp}
 
 Get PowerCap
-    ${resp} =   OpenBMC Get Request    /org/openbmc/sensors/host/powercap
+    ${resp}=   OpenBMC Get Request    /org/openbmc/sensors/host/powercap
     ${jsondata}=   To Json    ${resp.content}
     [return]    ${jsondata["data"]["value"]}
 
@@ -133,8 +133,8 @@
 
 Get OCC status
     ${occstatus_link}=  Get OCC status link
-    ${data} =   create dictionary   data=@{EMPTY}
-    ${resp} =   openbmc post request    ${occstatus_link}/action/getValue      data=${data}
+    ${data}=   create dictionary   data=@{EMPTY}
+    ${resp}=   openbmc post request    ${occstatus_link}/action/getValue      data=${data}
     ${jsondata}=   To Json    ${resp.content}
     [return]    ${jsondata["data"]}
 
diff --git a/tests/test_openbmc_service_restart_policy.robot b/tests/test_openbmc_service_restart_policy.robot
index 09f2617..faa10ff 100644
--- a/tests/test_openbmc_service_restart_policy.robot
+++ b/tests/test_openbmc_service_restart_policy.robot
@@ -93,6 +93,6 @@
 
 Execute Restart Policy Command
     [arguments]    ${command}
-    ${stdout}   ${stderr} =   Execute Command   ${command}   return_stderr=True
+    ${stdout}   ${stderr}=   Execute Command   ${command}   return_stderr=True
     Should Be Empty    ${stderr}
     [Return]    ${stdout}
diff --git a/tests/test_sensors.robot b/tests/test_sensors.robot
index 57f1a1d..cfa18e1 100644
--- a/tests/test_sensors.robot
+++ b/tests/test_sensors.robot
@@ -16,7 +16,7 @@
 
 
 *** Variables ***
-${model} =    ${OPENBMC_MODEL}
+${model}=    ${OPENBMC_MODEL}
 
 *** Test Cases ***
 Verify connection
@@ -29,73 +29,73 @@
     response Should Be Equal    " 01 40 40 0a 01"
 
 Execute Set Sensor boot count
-    ${uri} =    Get System component    BootCount
-    ${x} =      Get Sensor Number   ${uri}
+    ${uri}=    Get System component    BootCount
+    ${x}=      Get Sensor Number   ${uri}
 
     Run IPMI command   0x04 0x30 ${x} 0x01 0x00 0x35 0x00 0x00 0x00 0x00 0x00 0x00
     Read the Attribute      ${uri}   value
-    ${val} =     convert to integer    53
+    ${val}=     convert to integer    53
     Response Should Be Equal   ${val}
 
 Set Sensor Boot progress
-    ${uri} =    Get System component    BootProgress
-    ${x} =      Get Sensor Number   ${uri}
+    ${uri}=    Get System component    BootProgress
+    ${x}=      Get Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0xa9 0x00 0x04 0x00 0x00 0x00 0x00 0x14 0x00
     Read the Attribute  ${uri}    value
     Response Should Be Equal    FW Progress, Baseboard Init
 
 Set Sensor Boot progress Longest string
-    ${uri} =    Get System component    BootProgress
-    ${x} =      Get Sensor Number   ${uri}
+    ${uri}=    Get System component    BootProgress
+    ${x}=      Get Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0xa9 0x00 0x04 0x00 0x00 0x00 0x00 0x0e 0x00
     Read The Attribute  ${uri}    value
     Response Should Be Equal    FW Progress, Docking station attachment
 
 BootProgress sensor FW Hang unspecified Error
-    ${uri} =    Get System component    BootProgress
-    ${x} =      Get Sensor Number   ${uri}
+    ${uri}=    Get System component    BootProgress
+    ${x}=      Get Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0xa9 0x00 0x02 0x00 0x00 0x00 0x00 0x00 0x00
     Read The Attribute  ${uri}    value
     Response Should Be Equal    FW Hang, Unspecified
 
 BootProgress fw hang state
-    ${uri} =    Get System component    BootProgress
-    ${x} =      Get Sensor Number   ${uri}
+    ${uri}=    Get System component    BootProgress
+    ${x}=      Get Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0xa9 0x00 0x01 0x00 0x00 0x00 0x00 0x20 0x00
     Read The Attribute  ${uri}    value
     Response Should Be Equal    POST Error, unknown
 
 OperatingSystemStatus Sensor boot completed progress
-    ${uri} =    Get System component    OperatingSystemStatus
-    ${x} =      Get Sensor Number   ${uri}
+    ${uri}=    Get System component    OperatingSystemStatus
+    ${x}=      Get Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x20 0x00
     Read The Attribute  ${uri}     value
     Response Should Be Equal    Boot completed (00)
 
 OperatingSystemStatus Sensor progress
-    ${uri} =    Get System component    OperatingSystemStatus
-    ${x} =      Get Sensor Number   ${uri}
+    ${uri}=    Get System component    OperatingSystemStatus
+    ${x}=      Get Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0x00 0x00 0x04 0x00 0x00 0x00 0x00 0x20 0x00
     Read The Attribute  ${uri}     value
     Response Should Be Equal    PXE boot completed
 
 OCC Active sensor on enabled
-    ${uri} =    Get System component    OccStatus
-    ${x} =      Get Sensor Number   ${uri}
+    ${uri}=    Get System component    OccStatus
+    ${x}=      Get Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0x00 0x00 0x02 0x00 0x00 0x00 0x00 0x20 0x00
     Read The Attribute  ${uri}     value
     Response Should Be Equal    Enabled
 
 OCC Active sensor on disabled
-    ${uri} =    Get System component    OccStatus
-    ${x} =      Get Sensor Number   ${uri}
+    ${uri}=    Get System component    OccStatus
+    ${x}=      Get Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x20 0x00
     Read The Attribute  ${uri}     value
@@ -103,64 +103,64 @@
 
 CPU Present
 
-    ${uri} =    Get System component    cpu
-    ${x} =      Get Inventory Sensor Number   ${uri}
+    ${uri}=    Get System component    cpu
+    ${x}=      Get Inventory Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0xa9 0x00 0x80 0x00 0x00 0x00 0x00 0x20 0x00
     Read The Attribute  ${uri}    present
     Response Should Be Equal    True
 
 CPU not Present
-    ${uri} =    Get System component    cpu
-    ${x} =      Get Inventory Sensor Number   ${uri}
+    ${uri}=    Get System component    cpu
+    ${x}=      Get Inventory Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0xa9 0x00 0x00 0x00 0x80 0x00 0x00 0x20 0x00
     Read The Attribute  ${uri}    present
     Response Should Be Equal    False
 
 CPU fault
-    ${uri} =    Get System component    cpu
-    ${x} =      Get Inventory Sensor Number   ${uri}
+    ${uri}=    Get System component    cpu
+    ${x}=      Get Inventory Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0xa9 0xff 0x00 0x01 0x00 0x00 0x00 0x20 0x00
     Read The Attribute  ${uri}    fault
     Response Should Be Equal    True
 
 CPU no fault
-    ${uri} =    Get System component    cpu
-    ${x} =      Get Inventory Sensor Number   ${uri}
+    ${uri}=    Get System component    cpu
+    ${x}=      Get Inventory Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x20 0x00
     Read The Attribute  ${uri}    fault
     Response Should Be Equal    False
 
 core Present
-    ${uri} =    Get System component    core11
-    ${x} =      Get Inventory Sensor Number   ${uri}
+    ${uri}=    Get System component    core11
+    ${x}=      Get Inventory Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0xa9 0x00 0x80 0x00 0x00 0x00 0x00 0x20 0x00
     Read The Attribute  ${uri}   present
     Response Should Be Equal    True
 
 core not Present
-    ${uri} =    Get System component    core11
-    ${x} =      Get Inventory Sensor Number   ${uri}
+    ${uri}=    Get System component    core11
+    ${x}=      Get Inventory Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0xa9 0x00 0x00 0x00 0x80 0x00 0x00 0x20 0x00
     Read The Attribute  ${uri}   present
     Response Should Be Equal    False
 
 core fault
-    ${uri} =    Get System component    core11
-    ${x} =      Get Inventory Sensor Number   ${uri}
+    ${uri}=    Get System component    core11
+    ${x}=      Get Inventory Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0xa9 0xff 0x00 0x01 0x00 0x00 0x00 0x20 0x00
     Read The Attribute  ${uri}    fault
     Response Should Be Equal    True
 
 core no fault
-    ${uri} =    Get System component    core11
-    ${x} =      Get Inventory Sensor Number   ${uri}
+    ${uri}=    Get System component    core11
+    ${x}=      Get Inventory Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x20 0x00
     Read The Attribute  ${uri}    fault
@@ -169,8 +169,8 @@
 DIMM3 Present
     [Tags]    DIMM3_Present
 
-    ${uri} =    Get System component    dimm3
-    ${x} =      Get Inventory Sensor Number   ${uri}
+    ${uri}=    Get System component    dimm3
+    ${x}=      Get Inventory Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0xa9 0x00 0x40 0x00 0x00 0x00 0x00 0x20 0x00
     Read The Attribute   ${uri}     present
@@ -179,8 +179,8 @@
 DIMM3 not Present
     [Tags]    DIMM3_not_Present
 
-    ${uri} =    Get System component    dimm3
-    ${x} =      Get Inventory Sensor Number   ${uri}
+    ${uri}=    Get System component    dimm3
+    ${x}=      Get Inventory Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0xa9 0xff 0x00 0x00 0x40 0x00 0x00 0x20 0x00
     Read The Attribute   ${uri}     present
@@ -188,8 +188,8 @@
 
 DIMM0 fault
     [Tags]    DIMM0_fault
-    ${uri} =    Get System component    dimm0
-    ${x} =      Get Inventory Sensor Number   ${uri}
+    ${uri}=    Get System component    dimm0
+    ${x}=      Get Inventory Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0x00 0x00 0x10 0x00 0x00 0x00 0x00 0x20 0x00
     Read The Attribute   ${uri}     fault
@@ -197,8 +197,8 @@
 
 DIMM0 no fault
     [Tags]    DIMM0_no_fault
-    ${uri} =    Get System component    dimm0
-    ${x} =      Get Inventory Sensor Number   ${uri}
+    ${uri}=    Get System component    dimm0
+    ${x}=      Get Inventory Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0x00 0x00 0x00 0x00 0x10 0x00 0x00 0x20 0x00
     Read The Attribute   ${uri}     fault
@@ -207,8 +207,8 @@
 Centaur0 Present
     [Tags]    Centaur0_Present
 
-    ${uri} =    Get System component    membuf
-    ${x} =      Get Inventory Sensor Number   ${uri}
+    ${uri}=    Get System component    membuf
+    ${x}=      Get Inventory Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0xa9 0x00 0x40 0x00 0x00 0x00 0x00 0x20 0x00
     Read The Attribute   ${uri}    present
@@ -217,24 +217,24 @@
 Centaur0 not Present
     [Tags]    Centaur0_not_Present
 
-    ${uri} =    Get System component    membuf
-    ${x} =      Get Inventory Sensor Number   ${uri}
+    ${uri}=    Get System component    membuf
+    ${x}=      Get Inventory Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0x00 0x00 0x00 0x00 0x40 0x00 0x00 0x20 0x00
     Read The Attribute   ${uri}    present
     Response Should Be Equal    False
 
 Centaur0 fault
-    ${uri} =    Get System component    membuf
-    ${x} =      Get Inventory Sensor Number   ${uri}
+    ${uri}=    Get System component    membuf
+    ${x}=      Get Inventory Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0x00 0x00 0x10 0x00 0x00 0x00 0x00 0x20 0x00
     Read The Attribute   ${uri}    fault
     Response Should Be Equal    True
 
 Centaur0 no fault
-    ${uri} =    Get System component    membuf
-    ${x} =      Get Inventory Sensor Number   ${uri}
+    ${uri}=    Get System component    membuf
+    ${x}=      Get Inventory Sensor Number   ${uri}
 
     Run IPMI command  0x04 0x30 ${x} 0x00 0x00 0x00 0x00 0x10 0x00 0x00 0x20 0x00
     Read The Attribute   ${uri}    fault
@@ -243,36 +243,36 @@
 System Present
     [Tags]    System_Present
 
-    ${uri} =    Get System component    system
+    ${uri}=    Get System component    system
     Read The Attribute   ${uri}    present
     Response Should Be Equal    True
 
 System Fault
-    ${uri} =    Get System component    system
+    ${uri}=    Get System component    system
     Read The Attribute   ${uri}    fault
     Response Should Be Equal    False
 
 Chassis Present
     [Tags]    Chassis_Present
 
-    ${uri} =    Get System component    chassis
+    ${uri}=    Get System component    chassis
     Read The Attribute   /org/openbmc/inventory/system/chassis    present
     Response Should Be Equal    True
 
 Chassis Fault
-    ${uri} =    Get System component    chassis
+    ${uri}=    Get System component    chassis
     Read The Attribute   /org/openbmc/inventory/system/chassis    fault
     Response Should Be Equal    False
 
 io_board Present
     [Tags]  io_board_Present
-    ${uri} =    Get System component    io_board
+    ${uri}=    Get System component    io_board
     Read The Attribute   ${uri}    present
     Response Should Be Equal    True
 
 io_board Fault
     [Tags]  io_board_Fault
-    ${uri} =    Get System component    io_board
+    ${uri}=    Get System component    io_board
     Read The Attribute   ${uri}    fault
     Response Should Be Equal    False
 
@@ -281,15 +281,15 @@
 Setup The Suite
 
     Open Connection And Log In
-    ${resp} =       Read Properties         /org/openbmc/enumerate   timeout=30
+    ${resp}=       Read Properties         /org/openbmc/enumerate   timeout=30
     Set Suite Variable      ${SYSTEM_INFO}          ${resp}
     log Dictionary          ${resp}
 
 Get System component
     [Arguments]    ${type}
-    ${list} =    Get Dictionary Keys    ${SYSTEM_INFO}
-    ${resp} =    Get Matches    ${list}    regexp=^.*[0-9a-z_].${type}[0-9]*$
-    ${url} =    Get From List    ${resp}    0
+    ${list}=    Get Dictionary Keys    ${SYSTEM_INFO}
+    ${resp}=    Get Matches    ${list}    regexp=^.*[0-9a-z_].${type}[0-9]*$
+    ${url}=    Get From List    ${resp}    0
     [return]    ${url}
 
 Execute new Command
@@ -306,15 +306,15 @@
 
 Read the Attribute
     [arguments]    ${uri}    ${parm}
-    ${output} =     Read Attribute      ${uri}    ${parm}
+    ${output}=     Read Attribute      ${uri}    ${parm}
     set test variable    ${OUTPUT}     ${output}
 
 Get Sensor Number
     [arguments]  ${name}
-    ${x} =       get sensor   ${OPENBMC_MODEL}   ${name}
+    ${x}=       get sensor   ${OPENBMC_MODEL}   ${name}
     [return]     ${x}
 
 Get Inventory Sensor Number
     [arguments]  ${name}
-    ${x} =       get inventory sensor   ${OPENBMC_MODEL}   ${name}
+    ${x}=       get inventory sensor   ${OPENBMC_MODEL}   ${name}
     [return]     ${x}
diff --git a/tests/test_time.robot b/tests/test_time.robot
index 126aee0..5731c64 100755
--- a/tests/test_time.robot
+++ b/tests/test_time.robot
@@ -71,7 +71,7 @@
 
     Set Time Mode   NTP
 
-    ${boot} =   Read Attribute  /org/openbmc/settings/host0    time_mode
+    ${boot}=   Read Attribute  /org/openbmc/settings/host0    time_mode
     Should Be Equal    ${boot}    NTP
 
 Set Manual Time Mode
@@ -82,7 +82,7 @@
 
     Set Time Mode   Manual
 
-    ${boot} =   Read Attribute  /org/openbmc/settings/host0    time_mode
+    ${boot}=   Read Attribute  /org/openbmc/settings/host0    time_mode
     Should Be Equal    ${boot}    Manual
 
 Set Time Owner as BMC
@@ -93,7 +93,7 @@
 
     Set Time Owner   BMC
 
-    ${boot} =   Read Attribute  /org/openbmc/settings/host0    time_owner
+    ${boot}=   Read Attribute  /org/openbmc/settings/host0    time_owner
     Should Be Equal    ${boot}    BMC
 
 Set Time Owner as Host
@@ -104,7 +104,7 @@
 
     Set Time Owner   Host
 
-    ${boot} =   Read Attribute  /org/openbmc/settings/host0    time_owner
+    ${boot}=   Read Attribute  /org/openbmc/settings/host0    time_owner
     Should Be Equal    ${boot}    Host
 
 Set Invalid Time Mode
@@ -114,10 +114,10 @@
     ...               REST API for the same.
     [Tags]  Set_Invalid_Time_Mode
 
-    ${resp} =   Set Time Mode   abc
+    ${resp}=   Set Time Mode   abc
     Should Be Equal    ${resp}    error
 
-    ${boot} =   Read Attribute  /org/openbmc/settings/host0    time_mode
+    ${boot}=   Read Attribute  /org/openbmc/settings/host0    time_mode
     Should Not Be Equal    ${boot}    abc
 
 Set Invalid Time Owner
@@ -127,10 +127,10 @@
     ...               REST API for the same.
     [Tags]  Set_Invalid_Time_Owner
 
-    ${resp} =   Set Time Owner   xyz
+    ${resp}=   Set Time Owner   xyz
     Should Be Equal    ${resp}    error
 
-    ${boot} =   Read Attribute  /org/openbmc/settings/host0    time_owner
+    ${boot}=   Read Attribute  /org/openbmc/settings/host0    time_owner
     Should Not Be Equal    ${boot}    xyz
 
 
@@ -149,22 +149,22 @@
 
 Set Time Owner
     [Arguments]    ${args}
-    ${timeowner} =   Set Variable   ${args}
-    ${valueDict} =   create dictionary   data=${timeowner}
+    ${timeowner}=   Set Variable   ${args}
+    ${valueDict}=   create dictionary   data=${timeowner}
 
-    ${resp} =   OpenBMC Put Request
+    ${resp}=   OpenBMC Put Request
     ...         /org/openbmc/settings/host0/attr/time_owner    data=${valueDict}
-    ${jsondata} =    to json    ${resp.content}
+    ${jsondata}=    to json    ${resp.content}
     [return]    ${jsondata['status']}
 
 Set Time Mode
     [Arguments]    ${args}
-    ${timemode} =   Set Variable   ${args}
-    ${valueDict} =   create dictionary   data=${timemode}
+    ${timemode}=   Set Variable   ${args}
+    ${valueDict}=   create dictionary   data=${timemode}
 
-    ${resp} =   OpenBMC Put Request
+    ${resp}=   OpenBMC Put Request
     ...         /org/openbmc/settings/host0/attr/time_mode    data=${valueDict}
-    ${jsondata} =    to json    ${resp.content}
+    ${jsondata}=    to json    ${resp.content}
     [return]    ${jsondata['status']}
 
 
diff --git a/tests/test_user.robot b/tests/test_user.robot
index d9e02cd..3445697 100755
--- a/tests/test_user.robot
+++ b/tests/test_user.robot
@@ -29,12 +29,12 @@
     ...                 and deletion in open bmc.\n
     [Tags]  Create_and_delete_user_group
 
-    ${groupname} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${resp} =    Create UserGroup    ${groupname}
+    ${groupname}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${resp}=    Create UserGroup    ${groupname}
     Should Be Equal    ${resp}    ok
-    ${usergroup_list} =    Get GroupListUsr
+    ${usergroup_list}=    Get GroupListUsr
     Should Contain     ${usergroup_list}    ${groupname}
-    ${resp} =    Delete Group    ${groupname}
+    ${resp}=    Delete Group    ${groupname}
     Should Be Equal    ${resp}    ok
 
 Create and delete user without group name
@@ -43,20 +43,20 @@
     ...                 without groupname in open bmc.\n
     [Tags]              Create_and_delete_user_without_group_name
 
-    ${username} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${password} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${comment} =    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${username}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${password}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${comment}=    Generate Random String    ${RANDOM_STRING_LENGTH}
 
-    ${resp} =    Create User    ${comment}    ${username}    ${EMPTY}    ${password}
+    ${resp}=    Create User    ${comment}    ${username}    ${EMPTY}    ${password}
     Should Be Equal    ${resp}    ok
-    ${user_list} =    Get UserList
+    ${user_list}=    Get UserList
     Should Contain     ${user_list}    ${username}
 
     Login BMC    ${username}    ${password}
     ${rc}=    Execute Command    echo Login    return_stdout=False    return_rc=True
     Should Be Equal    ${rc}    ${0}
 
-    ${resp} =    Delete User    ${username}
+    ${resp}=    Delete User    ${username}
     Should Be Equal    ${resp}    ok
 
 Create and delete user with user group name
@@ -66,25 +66,25 @@
     ...                 in open bmc.\n
     [Tags]              Create_and_delete_user_with_user_group_name
 
-    ${username} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${password} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${comment} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${groupname} =    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${username}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${password}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${comment}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${groupname}=    Generate Random String    ${RANDOM_STRING_LENGTH}
 
-    ${resp} =    Create UserGroup    ${groupname}
+    ${resp}=    Create UserGroup    ${groupname}
     Should Be Equal    ${resp}    ok
-    ${resp} =    Create User    ${comment}    ${username}    ${groupname}    ${password}
+    ${resp}=    Create User    ${comment}    ${username}    ${groupname}    ${password}
     Should Be Equal    ${resp}    ok
-    ${user_list} =    Get UserList
+    ${user_list}=    Get UserList
     Should Contain     ${user_list}    ${username}
 
     Login BMC    ${username}    ${password}
     ${rc}=    Execute Command    echo Login    return_stdout=False    return_rc=True
     Should Be Equal    ${rc}    ${0}
 
-    ${resp} =    Delete User    ${username}
+    ${resp}=    Delete User    ${username}
     Should Be Equal    ${resp}    ok
-    ${resp} =    Delete Group    ${groupname}
+    ${resp}=    Delete Group    ${groupname}
     Should Be Equal    ${resp}    ok
 
 Create multiple users
@@ -95,12 +95,12 @@
 
     : FOR    ${INDEX}    IN RANGE    1    10
         \    Log    ${INDEX}
-        \    ${username} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-        \    ${password} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-        \    ${comment} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-        \    ${resp} =    Create User    ${comment}    ${username}    ${EMPTY}    ${password}
+        \    ${username}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+        \    ${password}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+        \    ${comment}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+        \    ${resp}=    Create User    ${comment}    ${username}    ${EMPTY}    ${password}
         \    Should Be Equal    ${resp}    ok
-        \    ${user_list} =    Get UserList
+        \    ${user_list}=    Get UserList
         \    Should Contain     ${user_list}    ${username}
         \    Login BMC    ${username}    ${password}
         \    ${rc}=    Execute Command    echo Login    return_stdout=False    return_rc=True
@@ -112,25 +112,25 @@
     ...                 in open bmc.\n
     [Tags]              Create_and_delete_user_without_password
 
-    ${username} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${password} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${comment} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${groupname} =    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${username}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${password}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${comment}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${groupname}=    Generate Random String    ${RANDOM_STRING_LENGTH}
 
-    ${resp} =    Create UserGroup    ${groupname}
+    ${resp}=    Create UserGroup    ${groupname}
     Should Be Equal    ${resp}    ok
-    ${resp} =    Create User    ${comment}    ${username}    ${groupname}    ${EMPTY}
+    ${resp}=    Create User    ${comment}    ${username}    ${groupname}    ${EMPTY}
     Should Be Equal    ${resp}    ok
-    ${user_list} =    Get UserList
+    ${user_list}=    Get UserList
     Should Contain     ${user_list}    ${username}
 
     Login BMC    ${username}    ${EMPTY}
     ${rc}=    Execute Command    echo Login    return_stdout=False    return_rc=True
     Should Be Equal    ${rc}    ${0}
 
-    ${resp} =    Delete User    ${username}
+    ${resp}=    Delete User    ${username}
     Should Be Equal    ${resp}    ok
-    ${resp} =    Delete Group    ${groupname}
+    ${resp}=    Delete Group    ${groupname}
     Should Be Equal    ${resp}    ok
 
 Set password for existing user
@@ -139,27 +139,27 @@
     ...                 in open bmc.\n
     [Tags]              Set_password_for_existing_user
 
-    ${username} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${password} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${comment} =    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${username}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${password}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${comment}=    Generate Random String    ${RANDOM_STRING_LENGTH}
 
-    ${resp} =    Create User    ${comment}    ${username}    ${EMPTY}    ${password}
+    ${resp}=    Create User    ${comment}    ${username}    ${EMPTY}    ${password}
     Should Be Equal    ${resp}    ok
-    ${user_list} =    Get UserList
+    ${user_list}=    Get UserList
     Should Contain     ${user_list}    ${username}
 
     Login BMC    ${username}    ${password}
     ${rc}=    Execute Command    echo Login    return_stdout=False    return_rc=True
     Should Be Equal    ${rc}    ${0}
 
-    ${resp} =    Change Password    ${username}    ${VALID_PASSWORD}
+    ${resp}=    Change Password    ${username}    ${VALID_PASSWORD}
     Should Be Equal    ${resp}    ok
 
     Login BMC    ${username}    ${VALID_PASSWORD}
     ${rc}=    Execute Command    echo Login    return_stdout=False    return_rc=True
     Should Be Equal    ${rc}    ${0}
 
-    ${resp} =    Delete User    ${username}
+    ${resp}=    Delete User    ${username}
     Should Be Equal    ${resp}    ok
 
 Set password with empty password for existing
@@ -168,20 +168,20 @@
     ...                 for a existing user.\n
     [Tags]              Set_password_with_empty_password_for_existing
 
-    ${username} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${password} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${comment} =    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${username}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${password}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${comment}=    Generate Random String    ${RANDOM_STRING_LENGTH}
 
-    ${resp} =    Create User    ${comment}    ${username}    ${EMPTY}    ${password}
+    ${resp}=    Create User    ${comment}    ${username}    ${EMPTY}    ${password}
     Should Be Equal    ${resp}    ok
-    ${user_list} =    Get UserList
+    ${user_list}=    Get UserList
     Should Contain     ${user_list}    ${username}
 
     Login BMC    ${username}    ${password}
     ${rc}=    Execute Command    echo Login    return_stdout=False    return_rc=True
     Should Be Equal    ${rc}    ${0}
 
-    ${resp} =    Change Password    ${username}    ${EMPTY}
+    ${resp}=    Change Password    ${username}    ${EMPTY}
     Should Be Equal    ${resp}    ok
 
     Login BMC    ${username}    ${EMPTY}
@@ -194,7 +194,7 @@
     ...                 in open bmc.\n
     [Tags]              Set_password_for_non_existing_user
 
-    ${resp} =    Change Password    ${NON_EXISTING_USER}    ${VALID_PASSWORD}
+    ${resp}=    Change Password    ${NON_EXISTING_USER}    ${VALID_PASSWORD}
     Should Be Equal    ${resp}    error
 
 Create existing user
@@ -203,16 +203,16 @@
     ...                 for existing user in open bmc.\n
     [Tags]              Create_existing_user
 
-    ${username} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${password} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${comment} =    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${username}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${password}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${comment}=    Generate Random String    ${RANDOM_STRING_LENGTH}
 
-    ${resp} =    Create User    ${comment}    ${username}    ${EMPTY}    ${EMPTY}
+    ${resp}=    Create User    ${comment}    ${username}    ${EMPTY}    ${EMPTY}
     Should Be Equal    ${resp}    ok
-    ${resp} =    Create User    ${comment}    ${username}    ${EMPTY}    ${EMPTY}
+    ${resp}=    Create User    ${comment}    ${username}    ${EMPTY}    ${EMPTY}
     Should Be Equal    ${resp}    error
 
-    ${resp} =    Delete User    ${username}
+    ${resp}=    Delete User    ${username}
     Should Be Equal    ${resp}    ok
 
 Create user with no name
@@ -221,14 +221,14 @@
     ...                 with empty username in open bmc.\n
     [Tags]              Create_user_with_no_name
 
-    ${username} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${password} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${comment} =    Generate Random String    ${RANDOM_STRING_LENGTH}
-    ${groupname} =    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${username}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${password}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${comment}=    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${groupname}=    Generate Random String    ${RANDOM_STRING_LENGTH}
 
-    ${resp} =    Create User    ${comment}    ${EMPTY}    ${groupname}    ${password}
+    ${resp}=    Create User    ${comment}    ${EMPTY}    ${groupname}    ${password}
     Should Be Equal    ${resp}    error
-    ${user_list} =    Get UserList
+    ${user_list}=    Get UserList
     Should Not Contain     ${user_list}    ${EMPTY}
 
 Create existing user group
@@ -237,14 +237,14 @@
     ...                 for existing user group in open bmc.\n
     [Tags]              Create_existing_user_group
 
-    ${groupname} =    Generate Random String    ${RANDOM_STRING_LENGTH}
+    ${groupname}=    Generate Random String    ${RANDOM_STRING_LENGTH}
 
-    ${resp} =    Create UserGroup    ${groupname}
+    ${resp}=    Create UserGroup    ${groupname}
     Should Be Equal    ${resp}    ok
-    ${resp} =    Create UserGroup    ${groupname}
+    ${resp}=    Create UserGroup    ${groupname}
     Should Be Equal    ${resp}    error
 
-    ${resp} =    Delete Group    ${groupname}
+    ${resp}=    Delete Group    ${groupname}
     Should Be Equal    ${resp}    ok
 
 Create user group with no name
@@ -253,9 +253,9 @@
     ...                 with empty groupname in open bmc.\n
     [Tags]              Create_user_group_with_no_name
 
-    ${resp} =    Create UserGroup    ${EMPTY}
+    ${resp}=    Create UserGroup    ${EMPTY}
     Should Be Equal    ${resp}    error
-    ${usergroup_list} =    Get GroupListUsr
+    ${usergroup_list}=    Get GroupListUsr
     Should Not Contain    ${usergroup_list}    ${EMPTY}
 
 Cleanup Users List
@@ -265,70 +265,70 @@
     ...                 This is a no-op if there is no user list on the BMC.
     [Tags]  Cleanup_Users_List
 
-    ${user_list} =    Get UserList
+    ${user_list}=    Get UserList
     : FOR   ${username}   IN   @{user_list}
-    \    ${resp} =    Delete User    ${username}
+    \    ${resp}=    Delete User    ${username}
     \    Should Be Equal    ${resp}    ok
 
 
 *** Keywords ***
 
 Get UserList
-    ${data} =   create dictionary   data=@{EMPTY}
-    ${resp} =   OpenBMC Post Request   /org/openbmc/UserManager/Users/action/UserList   data=${data}
+    ${data}=   create dictionary   data=@{EMPTY}
+    ${resp}=   OpenBMC Post Request   /org/openbmc/UserManager/Users/action/UserList   data=${data}
     should be equal as strings    ${resp.status_code}    ${HTTP_OK}
-    ${jsondata} =    to json    ${resp.content}
+    ${jsondata}=    to json    ${resp.content}
     [return]    ${jsondata['data']}
 
 Get GroupListUsr
-    ${data} =   create dictionary   data=@{EMPTY}
-    ${resp} =   OpenBMC Post Request   /org/openbmc/UserManager/Groups/action/GroupListUsr   data=${data}
+    ${data}=   create dictionary   data=@{EMPTY}
+    ${resp}=   OpenBMC Post Request   /org/openbmc/UserManager/Groups/action/GroupListUsr   data=${data}
     should be equal as strings    ${resp.status_code}    ${HTTP_OK}
-    ${jsondata} =    to json    ${resp.content}
+    ${jsondata}=    to json    ${resp.content}
     [return]    ${jsondata['data']}
 
 Create User
     [Arguments]    ${comment}    ${username}    ${groupname}    ${password}
-    @{user_list} =   Create List     ${comment}    ${username}    ${groupname}    ${password}
-    ${data} =   create dictionary   data=@{user_list}
-    ${resp} =   OpenBMC Post Request    /org/openbmc/UserManager/Users/action/UserAdd      data=${data}
-    ${jsondata} =    to json    ${resp.content}
+    @{user_list}=   Create List     ${comment}    ${username}    ${groupname}    ${password}
+    ${data}=   create dictionary   data=@{user_list}
+    ${resp}=   OpenBMC Post Request    /org/openbmc/UserManager/Users/action/UserAdd      data=${data}
+    ${jsondata}=    to json    ${resp.content}
     [return]    ${jsondata['status']}
 
 Change Password
     [Arguments]    ${username}    ${password}
-    @{user_list} =   Create List     ${username}    ${password}
-    ${data} =   create dictionary   data=@{user_list}
-    ${resp} =   OpenBMC Post Request    /org/openbmc/UserManager/User/action/Passwd      data=${data}
-    ${jsondata} =    to json    ${resp.content}
+    @{user_list}=   Create List     ${username}    ${password}
+    ${data}=   create dictionary   data=@{user_list}
+    ${resp}=   OpenBMC Post Request    /org/openbmc/UserManager/User/action/Passwd      data=${data}
+    ${jsondata}=    to json    ${resp.content}
     [return]    ${jsondata['status']}
 
 Create UserGroup
     [Arguments]    ${args}
-    @{group_list} =   Create List     ${args}
-    ${data} =   create dictionary   data=@{group_list}
-    ${resp} =   OpenBMC Post Request    /org/openbmc/UserManager/Groups/action/GroupAddUsr      data=${data}
-    ${jsondata} =    to json    ${resp.content}
+    @{group_list}=   Create List     ${args}
+    ${data}=   create dictionary   data=@{group_list}
+    ${resp}=   OpenBMC Post Request    /org/openbmc/UserManager/Groups/action/GroupAddUsr      data=${data}
+    ${jsondata}=    to json    ${resp.content}
     [return]    ${jsondata['status']}
 
 Delete Group
     [Arguments]    ${args}
-    @{group_list} =   Create List     ${args}
-    ${data} =   create dictionary   data=@{group_list}
-    ${resp} =   OpenBMC Post Request    /org/openbmc/UserManager/Group/action/GroupDel      data=${data}
-    ${jsondata} =    to json    ${resp.content}
+    @{group_list}=   Create List     ${args}
+    ${data}=   create dictionary   data=@{group_list}
+    ${resp}=   OpenBMC Post Request    /org/openbmc/UserManager/Group/action/GroupDel      data=${data}
+    ${jsondata}=    to json    ${resp.content}
     [return]    ${jsondata['status']}
 
 Delete User
     [Arguments]    ${args}
-    @{user_list} =   Create List     ${args}
-    ${data} =   create dictionary   data=@{user_list}
-    ${resp} =   OpenBMC Post Request    /org/openbmc/UserManager/User/action/Userdel      data=${data}
-    ${jsondata} =    to json    ${resp.content}
+    @{user_list}=   Create List     ${args}
+    ${data}=   create dictionary   data=@{user_list}
+    ${resp}=   OpenBMC Post Request    /org/openbmc/UserManager/User/action/Userdel      data=${data}
+    ${jsondata}=    to json    ${resp.content}
     [return]    ${jsondata['status']}
 
 Login BMC
     [Arguments]    ${username}    ${password}
     Open connection     ${OPENBMC_HOST}
-    ${resp} =   Login   ${username}    ${password}
+    ${resp}=   Login   ${username}    ${password}
     [return]    ${resp}
