1 #include <sdbusplus/bus.hpp> 2 #include <gtest/gtest.h> 3 4 #include "types.hpp" 5 #include "manager.hpp" 6 7 namespace phosphor 8 { 9 namespace time 10 { 11 12 class TestManager : public testing::Test 13 { 14 public: 15 sdbusplus::bus::bus bus; 16 Manager manager; 17 18 TestManager() 19 : bus(sdbusplus::bus::new_default()), 20 manager(bus) 21 { 22 // Empty 23 } 24 25 // Proxies for Manager's private members and functions 26 Mode getTimeMode() 27 { 28 return manager.timeMode; 29 } 30 Owner getTimeOwner() 31 { 32 return manager.timeOwner; 33 } 34 Mode convertToMode(const std::string& mode) 35 { 36 return Manager::convertToMode(mode); 37 } 38 Owner convertToOwner(const std::string& owner) 39 { 40 return Manager::convertToOwner(owner); 41 } 42 }; 43 44 TEST_F(TestManager, empty) 45 { 46 EXPECT_EQ(Mode::NTP, getTimeMode()); 47 EXPECT_EQ(Owner::BMC, getTimeOwner()); 48 } 49 50 TEST_F(TestManager, convertToMode) 51 { 52 EXPECT_EQ(Mode::NTP, convertToMode("NTP")); 53 EXPECT_EQ(Mode::MANUAL, convertToMode("MANUAL")); 54 55 // All unrecognized strings are mapped to Ntp 56 EXPECT_EQ(Mode::NTP, convertToMode("")); 57 EXPECT_EQ(Mode::NTP, convertToMode("Manual")); 58 EXPECT_EQ(Mode::NTP, convertToMode("whatever")); 59 } 60 61 62 TEST_F(TestManager, convertToOwner) 63 { 64 EXPECT_EQ(Owner::BMC, convertToOwner("BMC")); 65 EXPECT_EQ(Owner::HOST, convertToOwner("HOST")); 66 EXPECT_EQ(Owner::SPLIT, convertToOwner("SPLIT")); 67 EXPECT_EQ(Owner::BOTH, convertToOwner("BOTH")); 68 69 // All unrecognized strings are mapped to Bmc 70 EXPECT_EQ(Owner::BMC, convertToOwner("")); 71 EXPECT_EQ(Owner::BMC, convertToOwner("Split")); 72 EXPECT_EQ(Owner::BMC, convertToOwner("xyz")); 73 } 74 75 } 76 } 77