Coverage Report

Created: 2023-11-12 09:30

/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