blob: 4cee0f0b29b5df19093ea6b6db9c5f9165ace8e3 [file] [log] [blame]
#include "group.hpp"
#include "ledlayout.hpp"
#include "manager.hpp"
#include "test-led-priority.hpp"
#include <sdbusplus/bus.hpp>
#include <algorithm>
#include <set>
#include <gtest/gtest.h>
using namespace phosphor::led;
using Action = phosphor::led::Layout::Action;
// systemLedMap is generated code
// static const phosphor::led::GroupMap systemLedMap = {};
const std::string basePath = "/xyz/openbmc_project/led/groups/";
TEST(YamlLedPriorityTest, assertPriorityOn)
{
const std::string groupPath = basePath + "group1";
EXPECT_EQ(systemLedMap.contains(groupPath), true);
phosphor::led::Layout::GroupLayout group = systemLedMap.at(groupPath);
EXPECT_EQ(group.priority, 0);
EXPECT_EQ(group.actionSet.size(), 1);
for (auto& led : group.actionSet)
{
EXPECT_EQ(led.name, "led1");
EXPECT_EQ(led.action, Action::On);
EXPECT_EQ(led.priority, Action::On);
}
}
TEST(YamlLedPriorityTest, assertPriorityOff)
{
const std::string groupPath = basePath + "group2";
EXPECT_EQ(systemLedMap.contains(groupPath), true);
phosphor::led::Layout::GroupLayout group = systemLedMap.at(groupPath);
EXPECT_EQ(group.priority, 0);
EXPECT_EQ(group.actionSet.size(), 1);
for (auto& led : group.actionSet)
{
EXPECT_EQ(led.name, "led2");
EXPECT_EQ(led.action, Action::Off);
EXPECT_EQ(led.priority, Action::Off);
}
}
TEST(YamlLedPriorityTest, assertPriorityBlink)
{
const std::string groupPath = basePath + "group3";
EXPECT_EQ(systemLedMap.contains(groupPath), true);
phosphor::led::Layout::GroupLayout group = systemLedMap.at(groupPath);
EXPECT_EQ(group.priority, 0);
EXPECT_EQ(group.actionSet.size(), 1);
for (auto& led : group.actionSet)
{
EXPECT_EQ(led.name, "led3");
EXPECT_EQ(led.action, Action::Blink);
EXPECT_EQ(led.priority, Action::Blink);
}
}