xref: /openbmc/entity-manager/test/entity_manager/log_device_inventory.cpp (revision 90e4f0583c56d3f9263ecc79cd7f3de05f051c32)
1*90e4f058SAlexander Hansen 
2*90e4f058SAlexander Hansen #include "entity_manager/log_device_inventory.hpp"
3*90e4f058SAlexander Hansen 
4*90e4f058SAlexander Hansen #include <gtest/gtest.h>
5*90e4f058SAlexander Hansen 
6*90e4f058SAlexander Hansen TEST(LogDevicInventory, QueryInvInfoSuccess)
7*90e4f058SAlexander Hansen {
8*90e4f058SAlexander Hansen     nlohmann::json record = nlohmann::json::parse(R"(
9*90e4f058SAlexander Hansen {
10*90e4f058SAlexander Hansen     "Name": "Supermicro PWS 920P SQ 0",
11*90e4f058SAlexander Hansen     "Type": "PowerSupply",
12*90e4f058SAlexander Hansen     "xyz.openbmc_project.Inventory.Decorator.Asset": {
13*90e4f058SAlexander Hansen         "Manufacturer": "Supermicro",
14*90e4f058SAlexander Hansen         "Model": "PWS 920P SQ",
15*90e4f058SAlexander Hansen         "PartNumber": "328923",
16*90e4f058SAlexander Hansen         "SerialNumber": "43829239"
17*90e4f058SAlexander Hansen     }
18*90e4f058SAlexander Hansen }
19*90e4f058SAlexander Hansen    )");
20*90e4f058SAlexander Hansen 
21*90e4f058SAlexander Hansen     InvAddRemoveInfo info = queryInvInfo(record);
22*90e4f058SAlexander Hansen 
23*90e4f058SAlexander Hansen     EXPECT_EQ(info.name, "Supermicro PWS 920P SQ 0");
24*90e4f058SAlexander Hansen     EXPECT_EQ(info.type, "PowerSupply");
25*90e4f058SAlexander Hansen     EXPECT_EQ(info.sn, "43829239");
26*90e4f058SAlexander Hansen     EXPECT_EQ(info.model, "PWS 920P SQ");
27*90e4f058SAlexander Hansen }
28*90e4f058SAlexander Hansen 
29*90e4f058SAlexander Hansen TEST(LogDevicInventory, QueryInvInfoNoModelFound)
30*90e4f058SAlexander Hansen {
31*90e4f058SAlexander Hansen     nlohmann::json record = nlohmann::json::parse(R"(
32*90e4f058SAlexander Hansen {
33*90e4f058SAlexander Hansen     "Name": "Supermicro PWS 920P SQ 0",
34*90e4f058SAlexander Hansen     "Type": "PowerSupply",
35*90e4f058SAlexander Hansen     "xyz.openbmc_project.Inventory.Decorator.Asset": {
36*90e4f058SAlexander Hansen         "Manufacturer": "Supermicro",
37*90e4f058SAlexander Hansen         "PartNumber": "328923",
38*90e4f058SAlexander Hansen         "SerialNumber": "43829239"
39*90e4f058SAlexander Hansen     }
40*90e4f058SAlexander Hansen }
41*90e4f058SAlexander Hansen     )");
42*90e4f058SAlexander Hansen 
43*90e4f058SAlexander Hansen     InvAddRemoveInfo info = queryInvInfo(record);
44*90e4f058SAlexander Hansen 
45*90e4f058SAlexander Hansen     EXPECT_EQ(info.name, "Supermicro PWS 920P SQ 0");
46*90e4f058SAlexander Hansen     EXPECT_EQ(info.type, "PowerSupply");
47*90e4f058SAlexander Hansen     EXPECT_EQ(info.sn, "43829239");
48*90e4f058SAlexander Hansen     EXPECT_EQ(info.model, "Unknown");
49*90e4f058SAlexander Hansen }
50