diff --git a/configurations/fru/Bmc_General.json b/configurations/fru/Bmc_General.json
deleted file mode 100644
index b1a164f..0000000
--- a/configurations/fru/Bmc_General.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
-   "record_details":
-   {
-        "fru_record_type" : 1,
-        "fru_encoding_type": 1,
-        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Bmc"
-   },
-   "fru_fields":[
-      {
-         "fru_field_type" : 2,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "Model",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 3,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "PartNumber",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 4,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "SerialNumber",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 5,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "Manufacturer",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 8,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Item",
-               "property_name" : "PrettyName",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 11,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.AssetTag",
-               "property_name" : "AssetTag",
-               "property_type" : "string"
-            }
-      }
-    ]
-}
-
diff --git a/configurations/fru/FRU_Master.json b/configurations/fru/FRU_Master.json
deleted file mode 100644
index 6f0f72e..0000000
--- a/configurations/fru/FRU_Master.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
-    "service":"xyz.openbmc_project.Inventory.Manager",
-    "root_path":"/xyz/openbmc_project/inventory",
-    "entities":[
-        {
-            "interface" : "xyz.openbmc_project.Inventory.Item.Board.Motherboard",
-            "entity_type" : 64
-        },
-        {
-            "interface" : "xyz.openbmc_project.Inventory.Item.Bmc",
-            "entity_type" : 137
-        },
-        {
-            "interface" : "xyz.openbmc_project.Inventory.Item.Panel",
-            "entity_type" : 69
-        },
-        {
-            "interface" : "xyz.openbmc_project.Inventory.Item.Vrm",
-            "entity_type" : 123
-        },
-        {
-            "interface" : "xyz.openbmc_project.Inventory.Item.Tpm",
-            "entity_type" : 24576
-        },
-        {
-            "interface" : "xyz.openbmc_project.Inventory.Item.System",
-            "entity_type" : 11521
-        },
-        {
-            "interface" : "xyz.openbmc_project.Inventory.Item.Chassis",
-            "entity_type" : 45
-        },
-        {
-            "interface" : "xyz.openbmc_project.Inventory.Item.PowerSupply",
-            "entity_type" : 120
-        }
-    ]
-}
diff --git a/configurations/fru/Motherboard_General.json b/configurations/fru/Motherboard_General.json
deleted file mode 100644
index 1f6036e..0000000
--- a/configurations/fru/Motherboard_General.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
-   "record_details":
-   {
-        "fru_record_type" : 1,
-        "fru_encoding_type": 1,
-        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Board.Motherboard"
-   },
-   "fru_fields":[
-      {
-         "fru_field_type" : 2,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "Model",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 3,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "PartNumber",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 4,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "SerialNumber",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 5,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "Manufacturer",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 8,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Item",
-               "property_name" : "PrettyName",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 11,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.AssetTag",
-               "property_name" : "AssetTag",
-               "property_type" : "string"
-            }
-      }
-    ]
-}
-
diff --git a/configurations/fru/Panel_General.json b/configurations/fru/Panel_General.json
deleted file mode 100644
index d81ae82..0000000
--- a/configurations/fru/Panel_General.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
-   "record_details":
-   {
-        "fru_record_type" : 1,
-        "fru_encoding_type": 1,
-        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Panel"
-   },
-   "fru_fields":[
-      {
-         "fru_field_type" : 2,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "Model",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 3,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "PartNumber",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 4,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "SerialNumber",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 5,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "Manufacturer",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 8,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Item",
-               "property_name" : "PrettyName",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 11,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.AssetTag",
-               "property_name" : "AssetTag",
-               "property_type" : "string"
-            }
-      }
-    ]
-}
-
diff --git a/configurations/fru/PowerSupply_General.json b/configurations/fru/PowerSupply_General.json
deleted file mode 100644
index b4e5a63..0000000
--- a/configurations/fru/PowerSupply_General.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-   "record_details":
-   {
-        "fru_record_type" : 1,
-        "fru_encoding_type": 1,
-        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.PowerSupply"
-   },
-   "fru_fields":[
-      {
-         "fru_field_type" : 8,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Item",
-               "property_name" : "PrettyName",
-               "property_type" : "string"
-            }
-      }
-   ]
-}
diff --git a/configurations/fru/System_General.json b/configurations/fru/System_General.json
deleted file mode 100644
index 5f6d10d..0000000
--- a/configurations/fru/System_General.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
-   "record_details":
-   {
-        "fru_record_type" : 1,
-        "fru_encoding_type": 1,
-        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.System"
-   },
-   "fru_fields":[
-      {
-         "fru_field_type" : 2,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "Model",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 3,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "PartNumber",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 4,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "SerialNumber",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 5,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "Manufacturer",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 8,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Item",
-               "property_name" : "PrettyName",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 11,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.AssetTag",
-               "property_name" : "AssetTag",
-               "property_type" : "string"
-            }
-      }
-    ]
-}
diff --git a/configurations/fru/Tpm_General.json b/configurations/fru/Tpm_General.json
deleted file mode 100644
index 40a54a4..0000000
--- a/configurations/fru/Tpm_General.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
-   "record_details":
-   {
-        "fru_record_type" : 1,
-        "fru_encoding_type": 1,
-        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Tpm"
-   },
-   "fru_fields":[
-      {
-         "fru_field_type" : 2,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "Model",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 3,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "PartNumber",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 4,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "SerialNumber",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 5,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "Manufacturer",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 8,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Item",
-               "property_name" : "PrettyName",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 11,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.AssetTag",
-               "property_name" : "AssetTag",
-               "property_type" : "string"
-            }
-      }
-    ]
-}
-
diff --git a/configurations/fru/Vrm_General.json b/configurations/fru/Vrm_General.json
deleted file mode 100644
index 50325c0..0000000
--- a/configurations/fru/Vrm_General.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
-   "record_details":
-   {
-        "fru_record_type" : 1,
-        "fru_encoding_type": 1,
-        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Vrm"
-   },
-   "fru_fields":[
-      {
-         "fru_field_type" : 2,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "Model",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 3,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "PartNumber",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 4,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "SerialNumber",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 5,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "Manufacturer",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 8,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Item",
-               "property_name" : "PrettyName",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 11,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.AssetTag",
-               "property_name" : "AssetTag",
-               "property_type" : "string"
-            }
-      }
-    ]
-}
-
diff --git a/configurations/meson.build b/configurations/meson.build
index 79550d8..440f5a6 100644
--- a/configurations/meson.build
+++ b/configurations/meson.build
@@ -8,7 +8,6 @@
     meson.project_name(),
 )
 
-install_subdir('fru', install_dir: packagedir)
 
 install_subdir('pdr', install_dir: packagedir)
 
diff --git a/libpldmresponder/fru_parser.cpp b/libpldmresponder/fru_parser.cpp
index a500a00..d41ebaa 100644
--- a/libpldmresponder/fru_parser.cpp
+++ b/libpldmresponder/fru_parser.cpp
@@ -24,28 +24,16 @@
 const std::vector<Json> emptyJsonList{};
 const std::vector<std::string> emptyStringVec{};
 
-constexpr auto fruMasterJson = "FRU_Master.json";
-
 FruParser::FruParser(const std::string& dirPath)
 {
+    setupDefaultDBusLookup();
+    setupDefaultFruRecordMap();
+
     fs::path dir(dirPath);
-    if (!fs::exists(dir) || fs::is_empty(dir))
+    if (fs::exists(dir) && !fs::is_empty(dir))
     {
-        setupDefaultDBusLookup();
-        setupDefaultFruRecordMap();
-        return;
+        setupFruRecordMap(dirPath);
     }
-
-    fs::path masterFilePath = dir / fruMasterJson;
-    if (!fs::exists(masterFilePath))
-    {
-        std::cerr << "FRU D-Bus lookup JSON does not exist, PATH="
-                  << masterFilePath << "\n";
-        throw InternalFailure();
-    }
-
-    setupDBusLookup(masterFilePath);
-    setupFruRecordMap(dirPath);
 }
 
 void FruParser::setupDefaultDBusLookup()
@@ -64,6 +52,8 @@
         {"xyz.openbmc_project.Inventory.Item.Cpu", 135},
         {"xyz.openbmc_project.Inventory.Item.Bmc", 137},
         {"xyz.openbmc_project.Inventory.Item.Dimm", 142},
+        {"xyz.openbmc_project.Inventory.Item.Tpm", 24576},
+        {"xyz.openbmc_project.Inventory.Item.System", 11521},
     };
 
     Interfaces interfaces{};
@@ -76,33 +66,6 @@
     lookupInfo.emplace(service, rootPath, std::move(interfaces));
 }
 
-void FruParser::setupDBusLookup(const fs::path& filePath)
-{
-    std::ifstream jsonFile(filePath);
-
-    auto data = Json::parse(jsonFile, nullptr, false);
-    if (data.is_discarded())
-    {
-        std::cerr << "Parsing FRU master config file failed, FILE=" << filePath;
-        throw InternalFailure();
-    }
-
-    Service service = data.value("service", "");
-    RootPath rootPath = data.value("root_path", "");
-    auto entities = data.value("entities", emptyJsonList);
-    Interfaces interfaces{};
-    EntityType entityType{};
-    for (auto& entity : entities)
-    {
-        auto intf = entity.value("interface", "");
-        intfToEntityType[intf] =
-            std::move(entity.value("entity_type", entityType));
-        interfaces.emplace(std::move(intf));
-    }
-    lookupInfo.emplace(std::make_tuple(std::move(service), std::move(rootPath),
-                                       std::move(interfaces)));
-}
-
 void FruParser::setupDefaultFruRecordMap()
 {
     const FruRecordInfo generalRecordInfo = {
@@ -136,18 +99,12 @@
     for (auto& file : fs::directory_iterator(dirPath))
     {
         auto fileName = file.path().filename().string();
-        if (fruMasterJson == fileName)
-        {
-            continue;
-        }
-
         std::ifstream jsonFile(file.path());
         auto data = Json::parse(jsonFile, nullptr, false);
         if (data.is_discarded())
         {
 
-            std::cerr << "Parsing FRU master config file failed, FILE="
-                      << file.path();
+            std::cerr << "Parsing FRU config file failed, FILE=" << file.path();
             throw InternalFailure();
         }
 
diff --git a/test/fru_jsons/malformed1/Board_General.json b/test/fru_jsons/malformed1/Board_General.json
deleted file mode 100644
index aa6dc4b..0000000
--- a/test/fru_jsons/malformed1/Board_General.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-   "record_details":
-   {
-        "fru_record_type" : 1,
-        "encoding_type": 1
-   },
-   "fields":[
-      {
-         "field_type" : 3,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "PartNumber",
-               "property_type" : "string"
-            }
-      },
-      {
-         "field_type" : 4,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "SerialNumber",
-               "property_type" : "string"
-            }
-      }
-    ]
-}
-
diff --git a/test/fru_jsons/malformed2/FRU_Master.json b/test/fru_jsons/malformed2/FRU_Master.json
deleted file mode 100644
index 1cf1e4c..0000000
--- a/test/fru_jsons/malformed2/FRU_Master.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    "service":"xyz.openbmc_project.Inventory.Manager"
-    "root_path":"/xyz/openbmc_project/inventory/system/",
-    "entities":[
-        {
-            "interface" : "xyz.openbmc_project.Inventory.Item.Board",
-            "entity_type" : 64
-        },
-        {
-            "interface" : "xyz.openbmc_project.Inventory.Item.Cpu",
-            "entity_type" : 135
-        }
-    ]
-}
diff --git a/test/fru_jsons/malformed3/Cpu_General.json b/test/fru_jsons/malformed3/Cpu_General.json
deleted file mode 100644
index 99ebd39..0000000
--- a/test/fru_jsons/malformed3/Cpu_General.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-   "record_details":
-   {
-        "fru_record_type" : 1
-        "fru_encoding_type": 1,
-        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Cpu"
-   },
-   "fru_fields":[
-      {
-         "fru_field_type" : 3,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "PartNumber",
-               "property_type" : "string"
-            }
-      },
-      {
-         "fru_field_type" : 4,
-         "dbus":
-            {
-               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
-               "property_name" : "SerialNumber",
-               "property_type" : "string"
-            }
-      }
-    ]
-}
diff --git a/test/fru_jsons/malformed3/FRU_Master.json b/test/fru_jsons/malformed3/FRU_Master.json
deleted file mode 100644
index fa2c405..0000000
--- a/test/fru_jsons/malformed3/FRU_Master.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    "service":"xyz.openbmc_project.Inventory.Manager",
-    "root_path":"/xyz/openbmc_project/inventory/system/",
-    "entities":[
-        {
-            "interface" : "xyz.openbmc_project.Inventory.Item.Board",
-            "entity_type" : 64
-        },
-        {
-            "interface" : "xyz.openbmc_project.Inventory.Item.Cpu",
-            "entity_type" : 135
-        }
-    ]
-}
diff --git a/test/libpldmresponder_fru_test.cpp b/test/libpldmresponder_fru_test.cpp
index 9e66ea2..7b1b470 100644
--- a/test/libpldmresponder_fru_test.cpp
+++ b/test/libpldmresponder_fru_test.cpp
@@ -1,47 +1,63 @@
 #include "libpldmresponder/fru_parser.hpp"
 
 #include <gtest/gtest.h>
-
 TEST(FruParser, allScenarios)
 {
     using namespace pldm::responder::fru_parser;
 
-    // No master FRU JSON
-    ASSERT_THROW(FruParser("./fru_jsons/malformed1"), std::exception);
-    // Malformed master FRU JSON
-    ASSERT_THROW(FruParser("./fru_jsons/malformed2"), std::exception);
-    // Malformed FRU JSON
-    ASSERT_THROW(FruParser("./fru_jsons/malformed3"), std::exception);
-
     FruParser parser{"./fru_jsons/good"};
 
     // Get an item with a single PLDM FRU record
-    FruRecordInfos cpu{{1,
-                        1,
-                        {{"xyz.openbmc_project.Inventory.Decorator.Asset",
-                          "PartNumber", "string", 3},
-                         {"xyz.openbmc_project.Inventory.Decorator.Asset",
-                          "SerialNumber", "string", 4}}}};
+    FruRecordInfos cpu{
+        {1,
+         1,
+         {{"xyz.openbmc_project.Inventory.Decorator.Asset", "Model", "string",
+           2},
+          {"xyz.openbmc_project.Inventory.Decorator.Asset", "PartNumber",
+           "string", 3},
+          {"xyz.openbmc_project.Inventory.Decorator.Asset", "SerialNumber",
+           "string", 4},
+          {"xyz.openbmc_project.Inventory.Decorator.Asset", "Manufacturer",
+           "string", 5},
+          {"xyz.openbmc_project.Inventory.Item", "PrettyName", "string", 8},
+          {"xyz.openbmc_project.Inventory.Decorator.AssetTag", "AssetTag",
+           "string", 11},
+          {"xyz.openbmc_project.Inventory.Decorator.Revision", "Version",
+           "string", 10}}},
+        {1,
+         1,
+         {{"xyz.openbmc_project.Inventory.Decorator.Asset", "PartNumber",
+           "string", 3},
+          {"xyz.openbmc_project.Inventory.Decorator.Asset", "SerialNumber",
+           "string", 4}}}};
     auto cpuInfos =
         parser.getRecordInfo("xyz.openbmc_project.Inventory.Item.Cpu");
-    ASSERT_EQ(cpuInfos.size(), 1);
+    ASSERT_EQ(cpuInfos.size(), 2);
     ASSERT_EQ(cpu == cpuInfos, true);
 
-    // Get an item type with 2 PLDM FRU records
+    // Get an item type with 3 PLDM FRU records
     auto boardInfos =
         parser.getRecordInfo("xyz.openbmc_project.Inventory.Item.Board");
-    ASSERT_EQ(boardInfos.size(), 2);
+    ASSERT_EQ(boardInfos.size(), 3);
 
     // D-Bus lookup info for FRU information
-    DBusLookupInfo lookupInfo{"xyz.openbmc_project.Inventory.Manager",
-                              "/xyz/openbmc_project/inventory/system/",
-                              {"xyz.openbmc_project.Inventory.Item.Board",
-                               "xyz.openbmc_project.Inventory.Item.Cpu"}};
-
+    DBusLookupInfo lookupInfo{
+        "xyz.openbmc_project.Inventory.Manager",
+        "/xyz/openbmc_project/inventory",
+        {"xyz.openbmc_project.Inventory.Item.Chassis",
+         "xyz.openbmc_project.Inventory.Item.Board",
+         "xyz.openbmc_project.Inventory.Item.Board.Motherboard",
+         "xyz.openbmc_project.Inventory.Item.Panel",
+         "xyz.openbmc_project.Inventory.Item.PowerSupply",
+         "xyz.openbmc_project.Inventory.Item.Vrm",
+         "xyz.openbmc_project.Inventory.Item.Cpu",
+         "xyz.openbmc_project.Inventory.Item.Bmc",
+         "xyz.openbmc_project.Inventory.Item.Dimm",
+         "xyz.openbmc_project.Inventory.Item.Tpm",
+         "xyz.openbmc_project.Inventory.Item.System"}};
     auto dbusInfo = parser.inventoryLookup();
     ASSERT_EQ(dbusInfo == lookupInfo, true);
 
-    // Search for an invalid item type
     ASSERT_THROW(
         parser.getRecordInfo("xyz.openbmc_project.Inventory.Item.DIMM"),
         std::exception);
