*** Settings ***
Documentation   This suite tests Vital Product Data (VPD) via busctl command.
...             Before running this suite, create a data/vpd_data.py file with
...             all VPD data to verify from system.
...
...             #!/usr/bin/python
...             VPD_DETAILS = {
...                 "/system/chassis/motherboard": {
...                     "DR": "SYSTEM BACKPLANE",
...                     "LocationCode": "ABCD.EF1.1234567-P0",
...                     "PN": "PN12345",
...                     "SN": "SN1234567890",
...                 },
...                 "/system/chassis/motherboard/base_op_panel_blyth": {
...                     "DR": "CEC OP PANEL",
...                     "LocationCode": "ABCD.EF1.1234567-D0",
...                     "PN": "PN12345",
...                     "SN": "SN1234567890",
...                 }
...             }

Variables       ../../data/vpd_data.py
Resource        ../../lib/openbmc_ffdc.robot

Test Teardown   FFDC On Test Case Fail


*** Variables ***

${CMD_INVENTORY_PREFIX}  busctl get-property xyz.openbmc_project.Inventory.Manager
...  /xyz/openbmc_project/inventory


*** Test Cases ***

Verify Vital Product Data
    [Documentation]  Verify VPD via busctl command.
    [Tags]  Verify_Vital_Product_Data

    ${components}=  Get Dictionary Keys  ${VPD_DETAILS}
    FOR  ${component}  IN  @{components}
        Verify VPD Via Busctl  ${component}
    END


*** Keywords ***

Verify VPD Via Busctl
    [Documentation]  Verify VPD details via busctl.
    [Arguments]  ${component}

    # Description of argument(s):
    # component       VPD component (e.g. /system/chassis/motherboard/vdd_vrm1).

    # Verify Location code
    ${busctl_output}=  BMC Execute Command
    ...  ${CMD_INVENTORY_PREFIX}${component} com.ibm.ipzvpd.Location LocationCode
    Should Be Equal  ${busctl_output[0].split('"')[1].strip('"')}
    ...  ${VPD_DETAILS['${component}']['LocationCode']}

    # Verify PrettyName
    ${busctl_output}=  BMC Execute Command
    ...  ${CMD_INVENTORY_PREFIX}${component} xyz.openbmc_project.Inventory.Item PrettyName
    Should Contain  ${busctl_output[0].split('"')[1].strip('"')}
    ...  ${VPD_DETAILS['${component}']['DR']}

    # Verify Part Number
    ${busctl_output}=  BMC Execute Command
    ...  ${CMD_INVENTORY_PREFIX}${component} xyz.openbmc_project.Inventory.Decorator.Asset PartNumber
    Should Be Equal  ${busctl_output[0].split('"')[1].strip('"')}
    ...  ${VPD_DETAILS['${component}']['PN']}

    # Verify Serial Number
    ${busctl_output}=  BMC Execute Command
    ...  ${CMD_INVENTORY_PREFIX}${component} xyz.openbmc_project.Inventory.Decorator.Asset SerialNumber
    Should Be Equal  ${busctl_output[0].split('"')[1].strip('"')}
    ...  ${VPD_DETAILS['${component}']['SN']}
