/proc/self/cwd/test/mocks/http/stream.cc
Line | Count | Source (jump to first uncovered line) |
1 | | #include "test/mocks/http/stream.h" |
2 | | |
3 | | using testing::_; |
4 | | using testing::Invoke; |
5 | | using testing::ReturnRef; |
6 | | |
7 | | namespace Envoy { |
8 | | namespace Http { |
9 | | |
10 | 174k | MockStream::MockStream() : connection_info_provider_(nullptr, nullptr) { |
11 | 215k | ON_CALL(*this, addCallbacks(_)).WillByDefault(Invoke([this](StreamCallbacks& callbacks) -> void { |
12 | 215k | callbacks_.push_back(&callbacks); |
13 | 215k | })); |
14 | | |
15 | 174k | ON_CALL(*this, removeCallbacks(_)) |
16 | 268k | .WillByDefault(Invoke([this](StreamCallbacks& callbacks) -> void { |
17 | 268k | for (auto& callback : callbacks_) { |
18 | 268k | if (callback == &callbacks) { |
19 | 173k | callback = nullptr; |
20 | 173k | return; |
21 | 173k | } |
22 | 268k | } |
23 | 268k | })); |
24 | | |
25 | 174k | ON_CALL(*this, resetStream(_)).WillByDefault(Invoke([this](StreamResetReason reason) -> void { |
26 | 114k | for (auto& callback : callbacks_) { |
27 | 114k | if (callback) { |
28 | 114k | callback->onResetStream(reason, absl::string_view()); |
29 | 114k | callback = nullptr; |
30 | 114k | } |
31 | 114k | } |
32 | 95.0k | })); |
33 | | |
34 | 174k | ON_CALL(*this, connectionInfoProvider()).WillByDefault(ReturnRef(connection_info_provider_)); |
35 | | |
36 | 174k | ON_CALL(*this, setAccount(_)) |
37 | 174k | .WillByDefault(Invoke( |
38 | 174k | [this](Buffer::BufferMemoryAccountSharedPtr account) -> void { account_ = account; })); |
39 | | |
40 | 174k | ON_CALL(*this, registerCodecEventCallbacks(_)) |
41 | 341k | .WillByDefault(Invoke([this](CodecEventCallbacks* codec_callbacks) -> CodecEventCallbacks* { |
42 | 341k | std::swap(codec_callbacks, codec_callbacks_); |
43 | 341k | return codec_callbacks; |
44 | 341k | })); |
45 | 174k | } |
46 | | |
47 | 174k | MockStream::~MockStream() { |
48 | 174k | if (account_) { |
49 | 0 | account_->clearDownstream(); |
50 | 0 | } |
51 | 174k | } |
52 | | |
53 | | } // namespace Http |
54 | | } // namespace Envoy |