| #include "ports.hpp" | |
| #include <gmock/gmock.h> | |
| #include <gtest/gtest.h> | |
| #include "http_response.hpp" | |
| #include "test/redfish-core/lib/snapshot_fixture.hpp" | |
| #include <nlohmann/json.hpp> | |
| 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"}})); | |
| } | |
| } // namespace | |
| } // namespace redfish |