1 #include "serialize.hpp"
2 
3 #include <filesystem>
4 
5 #include <gtest/gtest.h>
6 
7 using namespace phosphor::led;
8 
TEST(SerializeTest,testStoreGroups)9 TEST(SerializeTest, testStoreGroups)
10 {
11     namespace fs = std::filesystem;
12 
13     static constexpr auto path = "config/led-save-group.json";
14     static constexpr auto bmcBooted =
15         "/xyz/openbmc_project/led/groups/bmc_booted";
16     static constexpr auto powerOn = "/xyz/openbmc_project/led/groups/power_on";
17     static constexpr auto enclosureIdentify =
18         "/xyz/openbmc_project/led/groups/EnclosureIdentify";
19 
20     Serialize serialize(path);
21 
22     serialize.storeGroups(bmcBooted, true);
23     ASSERT_EQ(true, serialize.getGroupSavedState(bmcBooted));
24 
25     serialize.storeGroups(powerOn, true);
26     ASSERT_EQ(true, serialize.getGroupSavedState(powerOn));
27 
28     serialize.storeGroups(bmcBooted, false);
29     ASSERT_EQ(false, serialize.getGroupSavedState(bmcBooted));
30 
31     serialize.storeGroups(enclosureIdentify, true);
32     ASSERT_EQ(true, serialize.getGroupSavedState(enclosureIdentify));
33 
34     Serialize newSerial(path);
35 
36     ASSERT_EQ(true, newSerial.getGroupSavedState(powerOn));
37     ASSERT_EQ(true, newSerial.getGroupSavedState(enclosureIdentify));
38 
39     newSerial.storeGroups(powerOn, false);
40     ASSERT_EQ(false, newSerial.getGroupSavedState(powerOn));
41 
42     newSerial.storeGroups(enclosureIdentify, false);
43     ASSERT_EQ(false, newSerial.getGroupSavedState(enclosureIdentify));
44 }
45