*** Settings ***
Documentation     This testsuite is for testing inventory
Suite Teardown    Delete All Sessions
Resource          ../lib/rest_client.robot
Resource          ../lib/utils.robot
Resource          ../lib/openbmc_ffdc.robot
Library           ../lib/utilities.py
Library           String
Library           Collections
Test Teardown     Log FFDC

Variables         ../data/variables.py


Suite setup		setup the suite

Force Tags  chassisboot

*** 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
	Initiate Power On

	@{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}
