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);
