Remove Deferred Updates

Remove deferred consumption of settings Manual/NTP and allow instant
consumption.

Tested:
Manually set the timeMode to NTP on the WEB and successfully.
busctl get-property xyz.openbmc_project.Settings
/xyz/openbmc_project/time/sync_method
xyz.openbmc_project.Time.Synchronization TimeSyncMethod
s "xyz.openbmc_project.Time.Synchronization.Method.NTP"

Manually set the date time successfully by D-Bus when timeMode is MANUAL
busctl set-property xyz.openbmc_project.Time.Manager
/xyz/openbmc_project/time/bmc xyz.openbmc_project.Time.EpochTime Elapsed
t 1514765953791262

Manually set the date time failed by D-Bus when timeMode is NTP.
busctl set-property xyz.openbmc_project.Time.Manager
/xyz/openbmc_project/time/bmc xyz.openbmc_project.Time.EpochTime Elapsed
t 1514765953791262
Failed to set property Elapsed on interface
xyz.openbmc_project.TIme.EpochTime: The operation failed

~# journalctl -b | grep timemanager
   Jan 01 00:15:26 fp5280g2 phosphor-timemanager[309]: Error in setting
system time
   Jan 01 00:15:26 fp5280g2 phosphor-timemanager[309]: The operation
failed

Refer: https://lists.ozlabs.org/pipermail/openbmc/2020-April/021409.html

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I7be25a9d0f56615bad6800a0b07df7f84fc0acc3
diff --git a/test/Makefile.am b/test/Makefile.am
index e0457cb..cacedcd 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -6,7 +6,6 @@
 check_PROGRAMS += test
 
 test_SOURCES = \
-    TestEpochBase.cpp \
     TestBmcEpoch.cpp \
     TestManager.cpp \
     TestUtils.cpp
diff --git a/test/TestBmcEpoch.cpp b/test/TestBmcEpoch.cpp
index db43854..5ed1f3c 100644
--- a/test/TestBmcEpoch.cpp
+++ b/test/TestBmcEpoch.cpp
@@ -51,6 +51,15 @@
     }
 };
 
+TEST_F(TestBmcEpoch, onModeChange)
+{
+    bmcEpoch->onModeChanged(Mode::NTP);
+    EXPECT_EQ(Mode::NTP, getTimeMode());
+
+    bmcEpoch->onModeChanged(Mode::Manual);
+    EXPECT_EQ(Mode::Manual, getTimeMode());
+}
+
 TEST_F(TestBmcEpoch, empty)
 {
     // Default mode is MANUAL
diff --git a/test/TestEpochBase.cpp b/test/TestEpochBase.cpp
deleted file mode 100644
index d3d1b69..0000000
--- a/test/TestEpochBase.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-#include "epoch_base.hpp"
-#include "types.hpp"
-
-#include <sdbusplus/bus.hpp>
-
-#include <gtest/gtest.h>
-
-namespace phosphor
-{
-namespace time
-{
-
-class TestEpochBase : public testing::Test
-{
-  public:
-    sdbusplus::bus::bus bus;
-    EpochBase epochBase;
-
-    TestEpochBase() : bus(sdbusplus::bus::new_default()), epochBase(bus, "")
-    {
-        // Empty
-    }
-
-    Mode getMode()
-    {
-        return epochBase.timeMode;
-    }
-};
-
-TEST_F(TestEpochBase, onModeChange)
-{
-    epochBase.onModeChanged(Mode::NTP);
-    EXPECT_EQ(Mode::NTP, getMode());
-
-    epochBase.onModeChanged(Mode::Manual);
-    EXPECT_EQ(Mode::Manual, getMode());
-}
-
-} // namespace time
-} // namespace phosphor
diff --git a/test/TestManager.cpp b/test/TestManager.cpp
index 95f5734..b1cf4ec 100644
--- a/test/TestManager.cpp
+++ b/test/TestManager.cpp
@@ -18,15 +18,9 @@
   public:
     sdbusplus::bus::bus bus;
     Manager manager;
-    MockPropertyChangeListner listener1;
-    MockPropertyChangeListner listener2;
 
     TestManager() : bus(sdbusplus::bus::new_default()), manager(bus)
     {
-        // Add two mocked listeners so that we can test
-        // the behavior related to listeners
-        manager.addListener(&listener1);
-        manager.addListener(&listener2);
     }
 
     // Proxies for Manager's private members and functions
@@ -34,129 +28,26 @@
     {
         return manager.timeMode;
     }
-    bool hostOn()
-    {
-        return manager.hostOn;
-    }
-    std::string getRequestedMode()
-    {
-        return manager.requestedMode;
-    }
     void notifyPropertyChanged(const std::string& key, const std::string& value)
     {
         manager.onPropertyChanged(key, value);
     }
-    void notifyOnHostState(bool hostOn)
-    {
-        manager.onHostState(hostOn);
-    }
 };
 
-TEST_F(TestManager, DISABLED_empty)
-{
-    EXPECT_FALSE(hostOn());
-    EXPECT_EQ("", getRequestedMode());
-
-    // Default mode is MANUAL
-    EXPECT_EQ(Mode::Manual, getTimeMode());
-}
-
-TEST_F(TestManager, DISABLED_hostStateChange)
-{
-    notifyOnHostState(true);
-    EXPECT_TRUE(hostOn());
-    notifyOnHostState(false);
-    EXPECT_FALSE(hostOn());
-}
-
 TEST_F(TestManager, DISABLED_propertyChanged)
 {
-    // When host is off, property change will be notified to listeners
-    EXPECT_FALSE(hostOn());
-
-    // Check mocked listeners shall receive notifications on property changed
-    EXPECT_CALL(listener1, onModeChanged(Mode::Manual)).Times(1);
-    EXPECT_CALL(listener2, onModeChanged(Mode::Manual)).Times(1);
-
     notifyPropertyChanged(
         "TimeSyncMethod",
         "xyz.openbmc_project.Time.Synchronization.Method.Manual");
-
-    EXPECT_EQ("", getRequestedMode());
-
-    // When host is on, property changes are saved as requested ones
-    notifyOnHostState(true);
-
-    // Check mocked listeners shall not receive notifications
-    EXPECT_CALL(listener1, onModeChanged(Mode::Manual)).Times(0);
-    EXPECT_CALL(listener2, onModeChanged(Mode::Manual)).Times(0);
+    EXPECT_EQ(Mode::Manual, getTimeMode());
 
     notifyPropertyChanged(
         "TimeSyncMethod",
         "xyz.openbmc_project.Time.Synchronization.Method.NTP");
+    EXPECT_EQ(Mode::NTP, getTimeMode());
 
-    EXPECT_EQ("xyz.openbmc_project.Time.Synchronization.Method.NTP",
-              getRequestedMode());
-
-    // When host becomes off, the requested mode shall be notified
-    // to listeners, and be cleared
-    EXPECT_CALL(listener1, onModeChanged(Mode::NTP)).Times(1);
-    EXPECT_CALL(listener2, onModeChanged(Mode::NTP)).Times(1);
-
-    notifyOnHostState(false);
-
-    EXPECT_EQ("", getRequestedMode());
-
-    // When host is on, and invalid property is changed,
-    // verify the code asserts because it shall never occur
-    notifyOnHostState(true);
     ASSERT_DEATH(notifyPropertyChanged("invalid property", "whatever"), "");
 }
 
-TEST_F(TestManager, DISABLED_propertyChangedAndChangedbackWhenHostOn)
-{
-    // Property is now MANUAL/HOST
-    notifyPropertyChanged(
-        "TimeSyncMethod",
-        "xyz.openbmc_project.Time.Synchronization.Method.Manual");
-
-    // Set host on
-    notifyOnHostState(true);
-
-    // Check mocked listeners shall not receive notifications
-    EXPECT_CALL(listener1, onModeChanged(_)).Times(0);
-    EXPECT_CALL(listener2, onModeChanged(_)).Times(0);
-
-    notifyPropertyChanged(
-        "TimeSyncMethod",
-        "xyz.openbmc_project.Time.Synchronization.Method.NTP");
-
-    // Saved as requested mode
-    EXPECT_EQ("xyz.openbmc_project.Time.Synchronization.Method.NTP",
-              getRequestedMode());
-
-    // Property changed back to MANUAL/HOST
-    notifyPropertyChanged(
-        "TimeSyncMethod",
-        "xyz.openbmc_project.Time.Synchronization.Method.Manual");
-
-    // Requested mode shall be updated
-    EXPECT_EQ("xyz.openbmc_project.Time.Synchronization.Method.Manual",
-              getRequestedMode());
-
-    // Because the latest mode is the same as when host is off,
-    // The listeners shall not be notified, and requested mode
-    // shall be cleared
-    EXPECT_CALL(listener1, onModeChanged(_)).Times(0);
-    EXPECT_CALL(listener2, onModeChanged(_)).Times(0);
-
-    notifyOnHostState(false);
-
-    EXPECT_EQ("", getRequestedMode());
-}
-
-// TODO: if gmock is ready, add case to test
-// updateNtpSetting() and updateNetworkSetting()
-
 } // namespace time
 } // namespace phosphor