| #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 |