Coverage Report

Created: 2024-09-19 09:45

/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