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