Coverage Report

Created: 2024-09-19 09:45

/proc/self/cwd/test/mocks/runtime/mocks.h
Line
Count
Source (jump to first uncovered line)
1
#pragma once
2
3
#include <cstdint>
4
#include <string>
5
6
#include "envoy/runtime/runtime.h"
7
#include "envoy/type/v3/percent.pb.h"
8
#include "envoy/upstream/cluster_manager.h"
9
10
#include "test/mocks/stats/mocks.h"
11
12
#include "absl/container/node_hash_map.h"
13
#include "gmock/gmock.h"
14
15
namespace Envoy {
16
namespace Runtime {
17
18
class MockSnapshot : public Snapshot {
19
public:
20
  MockSnapshot();
21
  ~MockSnapshot() override;
22
23
  // Provide a default implementation of mocked featureEnabled/2.
24
0
  bool featureEnabledDefault(absl::string_view, uint64_t default_value) {
25
0
    if (default_value == 0) {
26
0
      return false;
27
0
    } else if (default_value == 100) {
28
0
      return true;
29
0
    } else {
30
0
      PANIC("Not implemented yet. You may want to set expectation of mocked"
31
0
            "featureEnabled() instead.");
32
0
    }
33
0
  }
34
35
  MOCK_METHOD(bool, deprecatedFeatureEnabled, (absl::string_view key, bool default_enabled),
36
              (const));
37
  MOCK_METHOD(bool, runtimeFeatureEnabled, (absl::string_view key), (const));
38
  MOCK_METHOD(bool, featureEnabled, (absl::string_view key, uint64_t default_value), (const));
39
  MOCK_METHOD(bool, featureEnabled,
40
              (absl::string_view key, uint64_t default_value, uint64_t random_value), (const));
41
  MOCK_METHOD(bool, featureEnabled,
42
              (absl::string_view key, uint64_t default_value, uint64_t random_value,
43
               uint64_t num_buckets),
44
              (const));
45
  MOCK_METHOD(bool, featureEnabled,
46
              (absl::string_view key, const envoy::type::v3::FractionalPercent& default_value),
47
              (const));
48
  MOCK_METHOD(bool, featureEnabled,
49
              (absl::string_view key, const envoy::type::v3::FractionalPercent& default_value,
50
               uint64_t random_value),
51
              (const));
52
  MOCK_METHOD(ConstStringOptRef, get, (absl::string_view key), (const));
53
  MOCK_METHOD(uint64_t, getInteger, (absl::string_view key, uint64_t default_value), (const));
54
  MOCK_METHOD(double, getDouble, (absl::string_view key, double default_value), (const));
55
  MOCK_METHOD(bool, getBoolean, (absl::string_view key, bool default_value), (const));
56
  MOCK_METHOD(const std::vector<OverrideLayerConstPtr>&, getLayers, (), (const));
57
};
58
59
class MockLoader : public Loader {
60
public:
61
  MockLoader();
62
  ~MockLoader() override;
63
64
  MOCK_METHOD(absl::Status, initialize, (Upstream::ClusterManager & cm));
65
  MOCK_METHOD(const Snapshot&, snapshot, ());
66
  MOCK_METHOD(SnapshotConstSharedPtr, threadsafeSnapshot, ());
67
  MOCK_METHOD(absl::Status, mergeValues, ((const absl::node_hash_map<std::string, std::string>&)));
68
  MOCK_METHOD(void, startRtdsSubscriptions, (ReadyCallback));
69
  MOCK_METHOD(Stats::Scope&, getRootScope, ());
70
  MOCK_METHOD(void, countDeprecatedFeatureUse, (), (const));
71
72
  SnapshotConstSharedPtr threadsafe_snapshot_{
73
      std::make_shared<const testing::NiceMock<MockSnapshot>>()};
74
  testing::NiceMock<MockSnapshot> snapshot_;
75
  testing::NiceMock<Stats::MockStore> store_;
76
};
77
78
class MockOverrideLayer : public Snapshot::OverrideLayer {
79
public:
80
  MockOverrideLayer();
81
  ~MockOverrideLayer() override;
82
83
  MOCK_METHOD(const std::string&, name, (), (const));
84
  MOCK_METHOD(const Snapshot::EntryMap&, values, (), (const));
85
};
86
87
} // namespace Runtime
88
} // namespace Envoy