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