/proc/self/cwd/test/mocks/tcp/mocks.cc
Line | Count | Source (jump to first uncovered line) |
1 | | #include "mocks.h" |
2 | | |
3 | | #include "gmock/gmock.h" |
4 | | |
5 | | using testing::Return; |
6 | | using testing::ReturnRef; |
7 | | |
8 | | using testing::_; |
9 | | using testing::Invoke; |
10 | | using testing::ReturnRef; |
11 | | using testing::SaveArg; |
12 | | |
13 | | namespace Envoy { |
14 | | namespace Tcp { |
15 | | namespace ConnectionPool { |
16 | | |
17 | 0 | MockUpstreamCallbacks::MockUpstreamCallbacks() = default; |
18 | 0 | MockUpstreamCallbacks::~MockUpstreamCallbacks() = default; |
19 | | |
20 | 36.7k | MockConnectionData::MockConnectionData() = default; |
21 | 36.7k | MockConnectionData::~MockConnectionData() { |
22 | 36.7k | if (release_callback_) { |
23 | 0 | release_callback_(); |
24 | 0 | } |
25 | 36.7k | } |
26 | | |
27 | 36.7k | MockInstance::MockInstance() { |
28 | 36.7k | ON_CALL(*this, newConnection(_)).WillByDefault(Invoke([&](Callbacks& cb) -> Cancellable* { |
29 | 0 | return newConnectionImpl(cb); |
30 | 0 | })); |
31 | 36.7k | ON_CALL(*this, host()).WillByDefault(Return(host_)); |
32 | 36.7k | ON_CALL(*this, addIdleCallback(_)).WillByDefault(SaveArg<0>(&idle_cb_)); |
33 | 36.7k | } |
34 | 36.7k | MockInstance::~MockInstance() = default; |
35 | | |
36 | 0 | Envoy::ConnectionPool::MockCancellable* MockInstance::newConnectionImpl(Callbacks& cb) { |
37 | 0 | handles_.emplace_back(); |
38 | 0 | callbacks_.push_back(&cb); |
39 | 0 | return &handles_.back(); |
40 | 0 | } |
41 | | |
42 | 0 | void MockInstance::poolFailure(PoolFailureReason reason, bool host_null) { |
43 | 0 | Callbacks* cb = callbacks_.front(); |
44 | 0 | callbacks_.pop_front(); |
45 | 0 | handles_.pop_front(); |
46 | 0 | if (host_null) { |
47 | 0 | cb->onPoolFailure(reason, "", nullptr); |
48 | 0 | } else { |
49 | 0 | cb->onPoolFailure(reason, "", host_); |
50 | 0 | } |
51 | 0 | } |
52 | | |
53 | 0 | void MockInstance::poolReady(Network::MockClientConnection& conn) { |
54 | 0 | Callbacks* cb = callbacks_.front(); |
55 | 0 | callbacks_.pop_front(); |
56 | 0 | handles_.pop_front(); |
57 | |
|
58 | 0 | ON_CALL(*connection_data_, connection()).WillByDefault(ReturnRef(conn)); |
59 | |
|
60 | 0 | connection_data_->release_callback_ = [&]() -> void { released(conn); }; |
61 | |
|
62 | 0 | cb->onPoolReady(std::move(connection_data_), host_); |
63 | |
|
64 | 0 | connection_data_ = std::make_unique<NiceMock<MockConnectionData>>(); |
65 | 0 | } |
66 | | |
67 | | } // namespace ConnectionPool |
68 | | } // namespace Tcp |
69 | | } // namespace Envoy |