| #include "app.hpp" |
| #include "async_resp.hpp" |
| #include "dbus_utility.hpp" |
| #include "ports.hpp" |
| #include "http_request.hpp" |
| #include "http_response.hpp" |
| #include "snapshot_fixture.hpp" |
| |
| #include <nlohmann/json.hpp> |
| |
| #include <gmock/gmock.h> |
| #include <gtest/gtest.h> |
| |
| namespace redfish |
| { |
| namespace |
| { |
| |
| using ::testing::Contains; |
| |
| TEST_F(SnapshotFixture, GetDedicatedNetworkPortsCollectionReturnsCorrectResponse) |
| { |
| handleDedicatedNetworkPortsCollectionGet(app_, CreateRequest(), share_async_resp_); |
| |
| RunIoUntilDone(); |
| |
| nlohmann::json& json = share_async_resp_->res.jsonValue; |
| EXPECT_EQ(json["@odata.id"], |
| "/redfish/v1/Managers/bmc/DedicatedNetworkPorts"); |
| EXPECT_EQ(json["@odata.type"], |
| "#PortCollection.PortCollection"); |
| EXPECT_EQ(json["Description"], "Collection of Dedicated Network Ports for this Manager"); |
| EXPECT_EQ(json["Members"].size(), json["Members@odata.count"]); |
| EXPECT_EQ(json["Name"], "Dedicated Network Ports Collection"); |
| |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/dummy0"}}))); |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/eth1"}}))); |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/lo"}}))); |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/mctpi2c10"}}))); |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/mctpi2c11"}}))); |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/mctpi2c3"}}))); |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/mctpi2c4"}}))); |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/mctpi2c5"}}))); |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/mctpi2c6"}}))); |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/mctpi2c7"}}))); |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/mctpi2c8"}}))); |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/mctpi2c9"}}))); |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/gbmcbr"}}))); |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/gbmcbrdummy"}}))); |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/gbmcbrncsidhcp"}}))); |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/gbmcncsidhcp"}}))); |
| EXPECT_THAT(json["Members"], Contains(nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/gusbem0"}}))); |
| } |
| |
| TEST_F(SnapshotFixture, GetDedicatedNetworkPortsReturnsCorrectResponse) |
| { |
| handleDedicatedNetworkPortsGet(app_, CreateRequest(), share_async_resp_, "eth1"); |
| |
| RunIoUntilDone(); |
| |
| nlohmann::json& json = share_async_resp_->res.jsonValue; |
| EXPECT_EQ(json["@odata.id"], |
| "/redfish/v1/Managers/bmc/DedicatedNetworkPorts/eth1"); |
| EXPECT_EQ(json["@odata.type"], "#Port.v1_7_0.Port"); |
| EXPECT_EQ(json["Description"], "Network Port information"); |
| EXPECT_EQ(json["Name"], "Network Port"); |
| EXPECT_EQ(json["Id"], "eth1"); |
| EXPECT_EQ(json["CurrentSpeedGbps"], 0.0); |
| EXPECT_EQ(json["LinkState"], "Enabled"); |
| EXPECT_EQ(json["LinkStatus"], "Down"); |
| EXPECT_EQ(json["Metrics"], nlohmann::json({{"@odata.id","/redfish/v1/Managers/bmc/DedicatedNetworkPorts/eth1/Metrics"}})); |
| } |
| |
| } |
| } |