#include "bmc/daemon_context_bmc.h"

#include <chrono>  // NOLINT(build/c++11)

#include "gtest/gtest.h"
#include "absl/status/status.h"
#include "absl/time/time.h"

namespace {

using safepower_agent::DaemonContextBMC;

TEST(PersistentStorageBMC, WriteStateAndRead) {
  DaemonContextBMC global_context;
  DaemonContextBMC& first = DaemonContextBMC::Get();
  DaemonContextBMC& second = DaemonContextBMC::Get();

  // check if the same instance is returned, specifically the same address
  EXPECT_EQ(&first, &second);

  // test the scheduler
  bool ran_callback = false;
  absl::Status res = first.scheduler().DelayCall(
      [&ran_callback]() {
        ran_callback = true;
      },
      absl::Milliseconds(100), "test");

  DaemonContextBMC::Get().get_io_context()
      .run_for(std::chrono::milliseconds(250));
  EXPECT_TRUE(ran_callback);
}

}  // namespace

