*** 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
Resource          ../lib/boot/boot_resource_master.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
    [Tags]  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
    [Tags]  Verify_System_VPD_Properties
	Verify Properties 	SYSTEM


*** Keywords ***

Setup The Suite
	BMC 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}
