blob: c3ca7e14c3afe8f911917ca90cbf3b0899e428ad [file] [log] [blame]
Lei YU2f9c0cc2017-01-20 14:02:03 +08001#include <sdbusplus/bus.hpp>
2#include <gtest/gtest.h>
3
4#include "epoch_base.hpp"
5
6namespace phosphor
7{
8namespace time
9{
10
11class TestEpochBase : public testing::Test
12{
13 public:
14 using Mode = EpochBase::Mode;
15 using Owner = EpochBase::Owner;
16
17 sdbusplus::bus::bus bus;
18 EpochBase epochBase;
19
20 TestEpochBase()
21 : bus(sdbusplus::bus::new_default()),
22 epochBase(bus, "")
23 {
24 // Empty
25 }
26
27 // Proxies for EpochBase's private members and functions
28 Mode convertToMode(const std::string& mode)
29 {
30 return EpochBase::convertToMode(mode);
31 }
32 Owner convertToOwner(const std::string& owner)
33 {
34 return EpochBase::convertToOwner(owner);
35 }
36};
37
38TEST_F(TestEpochBase, convertToMode)
39{
40 EXPECT_EQ(Mode::NTP, convertToMode("NTP"));
41 EXPECT_EQ(Mode::MANUAL, convertToMode("MANUAL"));
42
43 // All unrecognized strings are mapped to Ntp
44 EXPECT_EQ(Mode::NTP, convertToMode(""));
45 EXPECT_EQ(Mode::NTP, convertToMode("Manual"));
46 EXPECT_EQ(Mode::NTP, convertToMode("whatever"));
47}
48
49
50TEST_F(TestEpochBase, convertToOwner)
51{
52 EXPECT_EQ(Owner::BMC, convertToOwner("BMC"));
53 EXPECT_EQ(Owner::HOST, convertToOwner("HOST"));
54 EXPECT_EQ(Owner::SPLIT, convertToOwner("SPLIT"));
55 EXPECT_EQ(Owner::BOTH, convertToOwner("BOTH"));
56
57 // All unrecognized strings are mapped to Bmc
58 EXPECT_EQ(Owner::BMC, convertToOwner(""));
59 EXPECT_EQ(Owner::BMC, convertToOwner("Split"));
60 EXPECT_EQ(Owner::BMC, convertToOwner("xyz"));
61}
62
63}
64}