| #include "app.hpp" |
| #include "async_resp.hpp" |
| #include "http_request.hpp" |
| #include "http_response.hpp" |
| #include "pcie.hpp" |
| #include "snapshot_fixture.hpp" |
| |
| #include <nlohmann/json.hpp> |
| |
| #include <gmock/gmock.h> |
| #include <gtest/gtest.h> |
| |
| namespace redfish |
| { |
| namespace |
| { |
| |
| TEST_F(SnapshotFixture_Platform5_Config7, GetPCIeDeviceSuccess) |
| { |
| handleSystemPCIeDeviceGet(app_, CreateRequest(), share_async_resp_, "system", |
| "chassis8_1_Link_0"); |
| |
| RunIoUntilDone(); |
| |
| LOG(INFO) << share_async_resp_->res.jsonValue.dump(2); |
| |
| nlohmann::json& json = share_async_resp_->res.jsonValue; |
| EXPECT_EQ(json["@odata.id"], |
| "/redfish/v1/Systems/system/PCIeDevices/chassis8_1_Link_0"); |
| EXPECT_EQ(json["@odata.type"], "#PCIeDevice.v1_4_0.PCIeDevice"); |
| EXPECT_EQ(json["Id"], "chassis8_1_Link_0"); |
| EXPECT_EQ(json["Name"], "PCIe Device"); |
| EXPECT_EQ(json["Manufacturer"], "Manufacturer"); |
| EXPECT_EQ(json["DeviceType"], "SingleFunction"); |
| |
| nlohmann::json& functions = json["PCIeFunctions"]; |
| EXPECT_EQ(functions["@odata.id"], |
| "/redfish/v1/Systems/system/PCIeDevices/chassis8_1_Link_0/PCIeFunctions"); |
| |
| nlohmann::json& interface = json["PCIeInterface"]; |
| EXPECT_EQ(interface.size(), 2); |
| EXPECT_EQ(interface["PCIeType"], "Gen5"); |
| EXPECT_EQ(interface["LanesInUse"], 8); |
| |
| nlohmann::json& chassis = json["Links"]["Chassis"]; |
| EXPECT_EQ(chassis.size(), 1); |
| EXPECT_EQ(chassis["@odata.id"], "/redfish/v1/Chassis/chassis8_1"); |
| |
| EXPECT_EQ(share_async_resp_->res.result(), boost::beast::http::status::ok); |
| } |
| |
| TEST_F(SnapshotFixture_Platform5_Config7, GetPCIeDeviceMissing) |
| { |
| handleSystemPCIeDeviceGet(app_, CreateRequest(), share_async_resp_, "system", |
| "missing"); |
| |
| RunIoUntilDone(); |
| |
| LOG(INFO) << share_async_resp_->res.jsonValue.dump(2); |
| |
| EXPECT_EQ(share_async_resp_->res.result(), |
| boost::beast::http::status::not_found); |
| } |
| |
| TEST_F(SnapshotFixture_Platform5_Config7, GetPCIeDeviceWrongSystem) |
| { |
| handleSystemPCIeDeviceGet(app_, CreateRequest(), share_async_resp_, "asdf", |
| "chassis8_1_Link_0"); |
| |
| RunIoUntilDone(); |
| |
| LOG(INFO) << share_async_resp_->res.jsonValue.dump(2); |
| |
| EXPECT_EQ(share_async_resp_->res.result(), |
| boost::beast::http::status::not_found); |
| } |
| |
| } // namespace |
| } // namespace redfish |