blob: 83f79303b0ac485555742183ac82247d030d53de [file]
#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