userver
C++ Async Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
mock_now.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/utils/mock_now.hpp
4
/// @brief Mocking and getting mocked time values
5
/// @ingroup userver_universal
6
7
#
include
<
chrono
>
8
9
#
include
<
userver
/
utils
/
datetime
/
wall_coarse_clock
.
hpp
>
10
11
USERVER_NAMESPACE_BEGIN
12
13
namespace
utils
::
datetime
{
14
15
/// @cond
16
std::chrono::system_clock::time_point MockNow()
noexcept
;
17
18
std::chrono::steady_clock::time_point MockSteadyNow()
noexcept
;
19
20
WallCoarseClock::time_point MockWallCoarseNow()
noexcept
;
21
///@endcond
22
23
/// Sets the mocked value for utils::datetime::Now(), utils::datetime::SteadyNow() and
24
/// utils::datetime::WallCoarseClock::Now().
25
///
26
/// Thread safe.
27
void
MockNowSet
(std::chrono::system_clock::time_point new_mocked_now);
28
29
/// Adds duration to current mocked time point value
30
///
31
/// Thread safe.
32
///
33
/// @throws utils::InvariantError if IsMockNow() returns false.
34
void
MockSleep
(std::chrono::milliseconds duration);
35
36
/// Removes time point mocking for utils::datetime::Now(), utils::datetime::SteadyNow() and
37
/// utils::datetime::WallCoarseClock::Now().
38
void
MockNowUnset
()
noexcept
;
39
40
/// Returns true if time point is mocked for utils::datetime::Now(), utils::datetime::SteadyNow() and
41
/// utils::datetime::WallCoarseClock::Now().
42
bool
IsMockNow
()
noexcept
;
43
44
}
// namespace utils::datetime
45
46
USERVER_NAMESPACE_END
userver
utils
mock_now.hpp
Generated on
for userver by
Doxygen
1.17.0