Coverage Report

Created: 2023-11-12 09:30

/proc/self/cwd/test/mocks/http/stream.h
Line
Count
Source (jump to first uncovered line)
1
#pragma once
2
3
#include "envoy/http/codec.h"
4
5
#include "source/common/network/socket_impl.h"
6
7
#include "gmock/gmock.h"
8
9
namespace Envoy {
10
namespace Http {
11
12
class MockStream : public Stream {
13
public:
14
  MockStream();
15
  ~MockStream() override;
16
17
  // Http::Stream
18
  MOCK_METHOD(void, addCallbacks, (StreamCallbacks & callbacks));
19
  MOCK_METHOD(void, removeCallbacks, (StreamCallbacks & callbacks));
20
  MOCK_METHOD(CodecEventCallbacks*, registerCodecEventCallbacks, (CodecEventCallbacks * adapter));
21
  MOCK_METHOD(void, resetStream, (StreamResetReason reason));
22
  MOCK_METHOD(void, readDisable, (bool disable));
23
  MOCK_METHOD(void, setWriteBufferWatermarks, (uint32_t));
24
  MOCK_METHOD(uint32_t, bufferLimit, (), (const));
25
  MOCK_METHOD(const Network::ConnectionInfoProvider&, connectionInfoProvider, ());
26
  MOCK_METHOD(void, setFlushTimeout, (std::chrono::milliseconds timeout));
27
  MOCK_METHOD(Buffer::BufferMemoryAccountSharedPtr, account, (), (const));
28
  MOCK_METHOD(void, setAccount, (Buffer::BufferMemoryAccountSharedPtr));
29
30
  // Use the same underlying structure as StreamCallbackHelper to insure iteration stability
31
  // if we remove callbacks during iteration.
32
  absl::InlinedVector<StreamCallbacks*, 8> callbacks_;
33
  Network::ConnectionInfoSetterImpl connection_info_provider_;
34
  Buffer::BufferMemoryAccountSharedPtr account_;
35
36
0
  void runHighWatermarkCallbacks() {
37
0
    for (auto* callback : callbacks_) {
38
0
      if (callback) {
39
0
        callback->onAboveWriteBufferHighWatermark();
40
0
      }
41
0
    }
42
0
  }
43
44
0
  void runLowWatermarkCallbacks() {
45
0
    for (auto* callback : callbacks_) {
46
0
      if (callback) {
47
0
        callback->onBelowWriteBufferLowWatermark();
48
0
      }
49
0
    }
50
0
  }
51
52
170k
  const StreamInfo::BytesMeterSharedPtr& bytesMeter() override { return bytes_meter_; }
53
54
  CodecEventCallbacks* codec_callbacks_{nullptr};
55
  StreamInfo::BytesMeterSharedPtr bytes_meter_{std::make_shared<StreamInfo::BytesMeter>()};
56
};
57
58
} // namespace Http
59
} // namespace Envoy