userver: userver/dynamic_config/benchmark_helpers.hpp Source File
Loading...
Searching...
No Matches
benchmark_helpers.hpp
1#pragma once
2
3#include <string>
4#include <vector>
5
6#include <userver/dynamic_config/impl/default_config_path.hpp>
7#include <userver/dynamic_config/impl/test_helpers.hpp>
8#include <userver/dynamic_config/source.hpp>
9#include <userver/dynamic_config/storage_mock.hpp>
10
11USERVER_NAMESPACE_BEGIN
12
13namespace dynamic_config {
14
15#if defined(DEFAULT_DYNAMIC_CONFIG_FILENAME) || defined(DOXYGEN)
16/// Get `dynamic_config::Source` with built-in defaults for all configs
17inline dynamic_config::Source GetDefaultSource() {
18 return impl::GetDefaultSource(DEFAULT_DYNAMIC_CONFIG_FILENAME);
19}
20
21/// Get `dynamic_config::Snapshot` with built-in defaults for all configs
22inline const dynamic_config::Snapshot& GetDefaultSnapshot() {
23 return impl::GetDefaultSnapshot(DEFAULT_DYNAMIC_CONFIG_FILENAME);
24}
25
26/// Make `dynamic_config::StorageMock` with built-in defaults for all configs
27inline dynamic_config::StorageMock MakeDefaultStorage(
28 const std::vector<dynamic_config::KeyValue>& overrides) {
29 return impl::MakeDefaultStorage(DEFAULT_DYNAMIC_CONFIG_FILENAME, overrides);
30}
31
32namespace impl {
33
34// Internal API, use functions above instead!
35inline const dynamic_config::DocsMap& GetDefaultDocsMap() {
36 return dynamic_config::impl::GetDefaultDocsMap(
37 DEFAULT_DYNAMIC_CONFIG_FILENAME);
38}
39
40} // namespace impl
41
42#endif
43
44} // namespace dynamic_config
45
46USERVER_NAMESPACE_END