| #include "memory.hpp" | |
| #include <memory> | |
| #include <string> | |
| #include <gtest/gtest.h> | |
| #include "async_resp.hpp" | |
| #include "dbus_utility.hpp" | |
| #include <nlohmann/json.hpp> | |
| namespace redfish { | |
| namespace { | |
| TEST(MemoryTest, TranslateMemoryTypeToRedfishSupportsHbmVariants) { | |
| EXPECT_EQ(translateMemoryTypeToRedfish( | |
| "xyz.openbmc_project.Inventory.Item.Dimm.DeviceType.HBM"), | |
| "HBM"); | |
| EXPECT_EQ(translateMemoryTypeToRedfish( | |
| "xyz.openbmc_project.Inventory.Item.Dimm.DeviceType.HBM2"), | |
| "HBM2"); | |
| EXPECT_EQ(translateMemoryTypeToRedfish( | |
| "xyz.openbmc_project.Inventory.Item.Dimm.DeviceType.HBM3"), | |
| "HBM3"); | |
| EXPECT_EQ(translateMemoryTypeToRedfish( | |
| "xyz.openbmc_project.Inventory.Item.Dimm.DeviceType.HBM3E"), | |
| "HBM3E"); | |
| EXPECT_EQ(translateMemoryTypeToRedfish( | |
| "xyz.openbmc_project.Inventory.Item.Dimm.DeviceType.DDR5"), | |
| "DDR5"); | |
| EXPECT_EQ(translateMemoryTypeToRedfish( | |
| "xyz.openbmc_project.Inventory.Item.Dimm.DeviceType.Unknown"), | |
| ""); | |
| } | |
| TEST(MemoryTest, AssembleDimmPropertiesPopulatesHbm3eMemoryDeviceType) { | |
| auto asyncResp = std::make_shared<bmcweb::AsyncResp>(); | |
| dbus::utility::DBusPropertiesMap properties = { | |
| {"MemoryType", | |
| std::string("xyz.openbmc_project.Inventory.Item.Dimm.DeviceType.HBM3E")}, | |
| }; | |
| assembleDimmProperties(asyncResp, properties, ""_json_pointer); | |
| EXPECT_EQ(asyncResp->res.jsonValue["MemoryDeviceType"], "HBM3E"); | |
| } | |
| } // namespace | |
| } // namespace redfish |