blob: a9a3a6d8970a8b8bb231df4bec60c474d0adc8cc [file] [log] [blame]
#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"}}));
}
}
}