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_inventory.robot b/tests/test_inventory.robot
new file mode 100644
index 0000000..d2feda9
--- /dev/null
+++ b/tests/test_inventory.robot
@@ -0,0 +1,97 @@
+*** Settings ***
+Documentation     This testsuite is for testing inventory
+Suite Teardown    Delete All Sessions
+Resource          ../lib/rest_client.robot
+Resource          ../lib/utils.robot
+Library           ../lib/utilities.py
+Library           String
+Library           Collections
+
+Variables         ../data/variables.py
+
+
+Suite setup		setup the suite
+
+
+*** Test Cases ***
+
+minimal cpu inventory
+	${count} = 	Get Total Present 	CPU
+	Should Be True 	${count}>${0}
+
+minimal dimm inventory
+	${count} = 	Get Total Present 	DIMM
+	Should Be True 	${count}>=${2}
+
+minimal core inventory
+	${count} = 	Get Total Present 	CORE
+	Should Be True 	${count}>${0}
+
+minimal memory buffer inventory
+	${count} = 	Get Total Present 	MEMORY_BUFFER
+	Should Be True 	${count}>${0}
+
+minimal fan inventory
+	${count} = 	Get Total Present 	FAN
+	Should Be True 	${count}>${2}
+
+minimal main planar inventory
+	${count} = 	Get Total Present 	MAIN_PLANAR
+	Should Be True 	${count}>${0}
+
+minimal system inventory
+	${count} = 	Get Total Present 	SYSTEM
+	Should Be True 	${count}>${0}
+
+Verify CPU VPD Properties
+	Verify Properties 	CPU
+
+Verify DIMM VPD Properties
+	Verify Properties 	DIMM
+
+Verify Memory Buffer VPD Properties
+	Verify Properties 	MEMORY_BUFFER
+
+Verify Fan VPD Properties
+	Verify Properties 	FAN
+
+Verify System VPD Properties
+	Verify Properties 	SYSTEM
+
+
+*** Keywords ***
+
+Setup The Suite
+	Power On Host
+
+	@{ret} = 	Get Inventory List 	${OPENBMC_MODEL}
+	Set Suite Variable 	@{sys_inv} 	@{ret}
+	${resp} = 	Read Properties 	/org/openbmc/inventory/enumerate
+	Set Suite Variable 	${SYSTEM_INFO}  	${resp}
+	log Dictionary  	${resp}
+
+Get Total Present
+	[arguments] 	${type}
+
+	${l} =    	Create List  	[]
+	${list} = 	Get Inventory Fru Type List 	${OPENBMC_MODEL} 	${type}
+	: FOR 	${element} 	IN  	@{list}
+	\ 	Append To List 	 ${l}  	${SYSTEM_INFO['${element}']['present']}
+
+	${sum} = 	Get Count 	${l} 	True
+	[return] 	${sum}
+
+Verify Properties
+	[arguments] 	${type}
+
+	${list} = 	Get VPD Inventory List 	${OPENBMC_MODEL} 	${type}
+	: FOR 	${element} 	IN  	@{list}
+	\ 	${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}
+	Log List 	${keys}
+	Log List 	${INVENTORY_ITEMS['${type}']}
+	Lists Should Be Equal  ${INVENTORY_ITEMS['${type}']} 	${keys}