/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 | 192k | MockStream::MockStream() : connection_info_provider_(nullptr, nullptr) { |
11 | 234k | ON_CALL(*this, addCallbacks(_)).WillByDefault(Invoke([this](StreamCallbacks& callbacks) -> void { |
12 | 234k | callbacks_.push_back(&callbacks); |
13 | 234k | })); |
14 | | |
15 | 192k | ON_CALL(*this, removeCallbacks(_)) |
16 | 297k | .WillByDefault(Invoke([this](StreamCallbacks& callbacks) -> void { |
17 | 297k | for (auto& callback : callbacks_) { |
18 | 297k | if (callback == &callbacks) { |
19 | 193k | callback = nullptr; |
20 | 193k | return; |
21 | 193k | } |
22 | 297k | } |
23 | 297k | })); |
24 | | |
25 | 192k | ON_CALL(*this, resetStream(_)).WillByDefault(Invoke([this](StreamResetReason reason) -> void { |
26 | 122k | for (auto& callback : callbacks_) { |
27 | 122k | if (callback) { |
28 | 122k | callback->onResetStream(reason, absl::string_view()); |
29 | 122k | callback = nullptr; |
30 | 122k | } |
31 | 122k | } |
32 | 103k | })); |
33 | | |
34 | 192k | ON_CALL(*this, connectionInfoProvider()).WillByDefault(ReturnRef(connection_info_provider_)); |
35 | | |
36 | 192k | ON_CALL(*this, setAccount(_)) |
37 | 192k | .WillByDefault(Invoke( |
38 | 192k | [this](Buffer::BufferMemoryAccountSharedPtr account) -> void { account_ = account; })); |
39 | | |
40 | 192k | ON_CALL(*this, registerCodecEventCallbacks(_)) |
41 | 378k | .WillByDefault(Invoke([this](CodecEventCallbacks* codec_callbacks) -> CodecEventCallbacks* { |
42 | 378k | std::swap(codec_callbacks, codec_callbacks_); |
43 | 378k | return codec_callbacks; |
44 | 378k | })); |
45 | 192k | } |
46 | | |
47 | 192k | MockStream::~MockStream() { |
48 | 192k | if (account_) { |
49 | 0 | account_->clearDownstream(); |
50 | 0 | } |
51 | 192k | } |
52 | | |
53 | | } // namespace Http |
54 | | } // namespace Envoy |