1*eb1f46a8SAlexander Hansen #include "group.hpp" 2*eb1f46a8SAlexander Hansen #include "ledlayout.hpp" 3*eb1f46a8SAlexander Hansen #include "manager.hpp" 4*eb1f46a8SAlexander Hansen #include "test-led-priority.hpp" 5*eb1f46a8SAlexander Hansen 6*eb1f46a8SAlexander Hansen #include <sdbusplus/bus.hpp> 7*eb1f46a8SAlexander Hansen 8*eb1f46a8SAlexander Hansen #include <algorithm> 9*eb1f46a8SAlexander Hansen #include <set> 10*eb1f46a8SAlexander Hansen 11*eb1f46a8SAlexander Hansen #include <gtest/gtest.h> 12*eb1f46a8SAlexander Hansen 13*eb1f46a8SAlexander Hansen using namespace phosphor::led; 14*eb1f46a8SAlexander Hansen 15*eb1f46a8SAlexander Hansen using Action = phosphor::led::Layout::Action; 16*eb1f46a8SAlexander Hansen 17*eb1f46a8SAlexander Hansen // systemLedMap is generated code 18*eb1f46a8SAlexander Hansen // static const phosphor::led::GroupMap systemLedMap = {}; 19*eb1f46a8SAlexander Hansen 20*eb1f46a8SAlexander Hansen const std::string basePath = "/xyz/openbmc_project/led/groups/"; 21*eb1f46a8SAlexander Hansen 22*eb1f46a8SAlexander Hansen TEST(YamlLedPriorityTest, assertPriorityOn) 23*eb1f46a8SAlexander Hansen { 24*eb1f46a8SAlexander Hansen const std::string groupPath = basePath + "group1"; 25*eb1f46a8SAlexander Hansen EXPECT_EQ(systemLedMap.contains(groupPath), true); 26*eb1f46a8SAlexander Hansen 27*eb1f46a8SAlexander Hansen phosphor::led::Layout::GroupLayout group = systemLedMap.at(groupPath); 28*eb1f46a8SAlexander Hansen 29*eb1f46a8SAlexander Hansen EXPECT_EQ(group.priority, 0); 30*eb1f46a8SAlexander Hansen EXPECT_EQ(group.actionSet.size(), 1); 31*eb1f46a8SAlexander Hansen 32*eb1f46a8SAlexander Hansen for (auto& led : group.actionSet) 33*eb1f46a8SAlexander Hansen { 34*eb1f46a8SAlexander Hansen EXPECT_EQ(led.name, "led1"); 35*eb1f46a8SAlexander Hansen EXPECT_EQ(led.action, Action::On); 36*eb1f46a8SAlexander Hansen EXPECT_EQ(led.priority, Action::On); 37*eb1f46a8SAlexander Hansen } 38*eb1f46a8SAlexander Hansen } 39*eb1f46a8SAlexander Hansen 40*eb1f46a8SAlexander Hansen TEST(YamlLedPriorityTest, assertPriorityOff) 41*eb1f46a8SAlexander Hansen { 42*eb1f46a8SAlexander Hansen const std::string groupPath = basePath + "group2"; 43*eb1f46a8SAlexander Hansen EXPECT_EQ(systemLedMap.contains(groupPath), true); 44*eb1f46a8SAlexander Hansen 45*eb1f46a8SAlexander Hansen phosphor::led::Layout::GroupLayout group = systemLedMap.at(groupPath); 46*eb1f46a8SAlexander Hansen 47*eb1f46a8SAlexander Hansen EXPECT_EQ(group.priority, 0); 48*eb1f46a8SAlexander Hansen EXPECT_EQ(group.actionSet.size(), 1); 49*eb1f46a8SAlexander Hansen 50*eb1f46a8SAlexander Hansen for (auto& led : group.actionSet) 51*eb1f46a8SAlexander Hansen { 52*eb1f46a8SAlexander Hansen EXPECT_EQ(led.name, "led2"); 53*eb1f46a8SAlexander Hansen EXPECT_EQ(led.action, Action::Off); 54*eb1f46a8SAlexander Hansen EXPECT_EQ(led.priority, Action::Off); 55*eb1f46a8SAlexander Hansen } 56*eb1f46a8SAlexander Hansen } 57*eb1f46a8SAlexander Hansen 58*eb1f46a8SAlexander Hansen TEST(YamlLedPriorityTest, assertPriorityBlink) 59*eb1f46a8SAlexander Hansen { 60*eb1f46a8SAlexander Hansen const std::string groupPath = basePath + "group3"; 61*eb1f46a8SAlexander Hansen EXPECT_EQ(systemLedMap.contains(groupPath), true); 62*eb1f46a8SAlexander Hansen 63*eb1f46a8SAlexander Hansen phosphor::led::Layout::GroupLayout group = systemLedMap.at(groupPath); 64*eb1f46a8SAlexander Hansen 65*eb1f46a8SAlexander Hansen EXPECT_EQ(group.priority, 0); 66*eb1f46a8SAlexander Hansen EXPECT_EQ(group.actionSet.size(), 1); 67*eb1f46a8SAlexander Hansen 68*eb1f46a8SAlexander Hansen for (auto& led : group.actionSet) 69*eb1f46a8SAlexander Hansen { 70*eb1f46a8SAlexander Hansen EXPECT_EQ(led.name, "led3"); 71*eb1f46a8SAlexander Hansen EXPECT_EQ(led.action, Action::Blink); 72*eb1f46a8SAlexander Hansen EXPECT_EQ(led.priority, Action::Blink); 73*eb1f46a8SAlexander Hansen } 74*eb1f46a8SAlexander Hansen } 75