Inventory fan property check

Added:
    - Added checking for fan properties.
    - Added MeetsMinimumShipLevel to the list of properties
      checked for fan inventory items.

Change-Id: I361380da09f04499621f655082a63e63c78e0602
Signed-off-by: George Keishing <gkeishin@in.ibm.com>
diff --git a/bin/generate_inventory b/bin/generate_inventory
index 3aea623..4ce8593 100755
--- a/bin/generate_inventory
+++ b/bin/generate_inventory
@@ -44,7 +44,8 @@
 
 # yaml file paths for fan.
 yaml_fan_list = [ 'Inventory/Item.interface.yaml',
-                   'State/Decorator/OperationalStatus.interface.yaml',
+                  'Inventory/Decorator/MeetsMinimumShipLevel.interface.yaml',
+                  'State/Decorator/OperationalStatus.interface.yaml',
                 ]
 # yaml file paths for GPU.
 yaml_gpu_list = [ 'Inventory/Item.interface.yaml',
diff --git a/data/inventory.py b/data/inventory.py
index 5cdac4a..84a1fa5 100644
--- a/data/inventory.py
+++ b/data/inventory.py
@@ -7,6 +7,7 @@
     "fan":[
         "PrettyName",
         "Present",
+        "MeetsMinimumShipLevel",
         "Functional"
     ],
     "fru":[
diff --git a/tests/test_inventory.robot b/tests/test_inventory.robot
index f31219e..cfb974a 100644
--- a/tests/test_inventory.robot
+++ b/tests/test_inventory.robot
@@ -261,6 +261,29 @@
     Validate FRU Properties Fields  core  @{system_list}
 
 
+Verify Fan Properties
+    [Documentation]  Verify the fan property fields.
+    [Tags]  Verify_Fan_Properties
+    # Example:
+    # A fan property should have the following entries:
+    # "core":[
+    #    "PrettyName",
+    #    "Present",
+    #    "MeetsMinimumShipLevel",
+    #    "Functional"
+    # ]
+    # fan inventory:
+    # "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0": {
+    #    "Functional": 1,
+    #    "MeetsMinimumShipLevel": 1,
+    #    "Present": 1,
+    #    "PrettyName": "fan0"
+    # },
+
+    ${system_list}=  Get Endpoint Paths
+    ...  ${HOST_INVENTORY_URI}system/chassis/motherboard  fan*
+    Validate FRU Properties Fields  fan  @{system_list}
+
 
 Verify Core Functional State
     [Documentation]  Verify that "Present" core property is set if "Functional"