#include "http_response.hpp"

#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include "test/redfish-core/lib/snapshot_fixture.hpp"
#include <nlohmann/json.hpp>

namespace redfish {
namespace {

using ::testing::IsEmpty;
using ::testing::Not;

TEST_F(SnapshotFixture, TimetraceToJson) {
  crow::Response response = crow::Response();

  response.startTimetrace("TEST");

  response.requestStartTime("test/request");
  response.requestEndTime();

  response.endTimetrace("TEST");

  nlohmann::json timetraceJson = response.timetraceToJson();

  ASSERT_TRUE(timetraceJson["starttime"] <= timetraceJson["endtime"]);
  EXPECT_EQ(timetraceJson["uri"], "test/request");
  EXPECT_THAT(timetraceJson["hops"], Not(IsEmpty()));
}

}  // namespace
}  // namespace redfish
