Port suite from mkumatag personal repo w/o history

All these files came from https://github.com/mkumatag/openbmc-automation
The decision to remove the commit history was because most of the 122
commits did not follow commit comment AND content best practices.
The ability to remove the commit history was possible because all
contributors where from the same company (IBM) making the coordination /
notification/acceptence easy.  See all the gory details about the
first try to commit with history here...
https://github.com/openbmc/openbmc-test-automation/pull/1

This suite of tests will run against an OpenBMC based server.  It will
run good/bad path testing against the REST interface.  There are tests
that will also run ipmitool on the victim BMC too.

If you want to support a new system in to the suite you should only
have to edit two files...
    data/<system>.py
    tox.ini

The README.md contains details on how to setup for the first time along
with how to execute the test suite

NOTE: some test cases require tools that do not exist on the system.
Currently the ipmitool is needed and if you do not manually copy / link
it in to the tools directory some suites will fail.
diff --git a/tests/test_generic_conf.robot b/tests/test_generic_conf.robot
new file mode 100755
index 0000000..94a9fa1
--- /dev/null
+++ b/tests/test_generic_conf.robot
@@ -0,0 +1,93 @@
+*** Settings ***
+Documentation		This suite will verifiy the Generic Configuration Rest Interfaces
+...					Details of valid interfaces can be found here...
+...					https://github.com/openbmc/docs/blob/master/rest-api.md
+
+Resource		../lib/rest_client.robot
+
+
+*** Variables ***
+${MIN_POWER_VALUE}    0
+${MAX_POWER_VALUE}    1000
+
+*** Test Cases ***
+
+
+Get the boot_flags
+
+    [Documentation]   ***GOOD PATH***
+    ...               This test case tries to get the boot flags
+    ...              
+
+    ${resp}=   Read Attribute   /org/openbmc/settings/host0/   boot_flags
+    should not be empty   ${resp}
+
+Get the power
+ 
+    [Documentation]   ***GOOD PATH***
+    ...               This test case tries to get the power value and it should be 
+    ...               between ${MIN_POWER_VALUE} and ${MAX_POWER_VALUE}
+
+    ${powerValue}=   Read Attribute   /org/openbmc/settings/host0/   power_cap
+    should be true   ${powerValue} >= ${MIN_POWER_VALUE} and ${powerValue} <= ${MAX_POWER_VALUE}
+
+Set the power with string of characters
+
+    [Documentation]   ***BAD PATH***
+    ...               This test case set the power values with string of characters
+    ...               Expectation is to return error.
+
+    ${valueToBeSet}=   Set Variable   abcdefg
+    ${valueDict}=   create dictionary   data=${valueToBeSet}
+    Write Attribute   /org/openbmc/settings/host0   power_cap   data=${valueDict}
+    ${value}=   Read Attribute    /org/openbmc/settings/host0   power_cap    
+    should not be true    '${value}'=='${valueToBeSet}'
+
+Set the power with greater then MAX_POWER_VALUE
+
+    [Documentation]   ***BAD PATH***
+    ...               This test case sets the power value which is greater 
+    ...               then MAX_ALLOWED_VALUE,Expectation is to return error
+
+    ${valueToBeSet}=   Set Variable     ${1010}
+    ${valueDict}=   create dictionary   data=${valueToBeSet}
+    Write Attribute   /org/openbmc/settings/host0   power_cap   data=${valueDict}
+    ${value}=      Read Attribute    /org/openbmc/settings/host0   power_cap
+    should not be equal   ${value}   ${valueToBeSet} 
+
+Set the power with MIN_POWER_VALUE
+
+    [Documentation]   ***BAD PATH***
+    ...               This test case sets the power value less then 
+    ...               MIN_ALLOWED_VALUE,Expectation is it should get error.
+
+    ${valueToBeSet}=   Set Variable     ${MIN_POWER_VALUE}
+    ${valueDict}=   create dictionary   data=${valueToBeSet}
+    Write Attribute   /org/openbmc/settings/host0    power_cap      data=${valueDict}
+    ${value}=      Read Attribute    /org/openbmc/settings/host0    power_cap
+    Should Be Equal     ${value}      ${valueToBeSet}
+
+Set the power with MAX_POWER_VALUE
+
+    [Documentation]   ***GOOD PATH***
+    ...               This test case sets the power value with MAX_POWER_VALUE
+    ...               and it should be set.
+ 
+    ${valueToBeSet}=   Set Variable     ${MAX_POWER_VALUE}
+    ${valueDict}=   create dictionary   data=${valueToBeSet}
+    Write Attribute   /org/openbmc/settings/host0    power_cap      data=${valueDict}
+    ${value}=      Read Attribute    /org/openbmc/settings/host0    power_cap
+    Should Be Equal     ${value}      ${valueToBeSet}
+
+Set the boot flags with string
+
+    [Documentation]   ***BAD PATH***
+    ...               This test case sets the boot flag with some invalid string 
+    ...               Expectation is it should not be set.
+
+    ${valueToBeSet}=   Set Variable     3ab56f
+    ${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}
+