Coverage Report

Created: 2023-11-12 09:30

/proc/self/cwd/test/mocks/upstream/thread_local_cluster.h
Line
Count
Source (jump to first uncovered line)
1
#pragma once
2
3
#include "envoy/upstream/thread_local_cluster.h"
4
5
#include "test/mocks/http/conn_pool.h"
6
#include "test/mocks/http/mocks.h"
7
#include "test/mocks/tcp/mocks.h"
8
9
#include "cluster_priority_set.h"
10
#include "gmock/gmock.h"
11
#include "gtest/gtest.h"
12
#include "load_balancer.h"
13
14
using ::testing::NiceMock;
15
16
namespace Envoy {
17
namespace Upstream {
18
19
class MockThreadLocalCluster : public ThreadLocalCluster {
20
public:
21
  MockThreadLocalCluster();
22
  ~MockThreadLocalCluster() override;
23
24
0
  Host::CreateConnectionData tcpConn(LoadBalancerContext* context) override {
25
0
    MockHost::MockCreateConnectionData data = tcpConn_(context);
26
0
    return {Network::ClientConnectionPtr{data.connection_}, data.host_description_};
27
0
  }
28
29
  // Upstream::ThreadLocalCluster
30
  MOCK_METHOD(const PrioritySet&, prioritySet, ());
31
  MOCK_METHOD(ClusterInfoConstSharedPtr, info, ());
32
  MOCK_METHOD(LoadBalancer&, loadBalancer, ());
33
  MOCK_METHOD(absl::optional<HttpPoolData>, httpConnPool,
34
              (ResourcePriority priority, absl::optional<Http::Protocol> downstream_protocol,
35
               LoadBalancerContext* context));
36
  MOCK_METHOD(absl::optional<TcpPoolData>, tcpConnPool,
37
              (ResourcePriority priority, LoadBalancerContext* context));
38
  MOCK_METHOD(MockHost::MockCreateConnectionData, tcpConn_, (LoadBalancerContext * context));
39
  MOCK_METHOD(Http::AsyncClient&, httpAsyncClient, ());
40
  MOCK_METHOD(Tcp::AsyncTcpClientPtr, tcpAsyncClient,
41
              (LoadBalancerContext * context, Tcp::AsyncTcpClientOptionsConstSharedPtr options));
42
43
  NiceMock<MockClusterMockPrioritySet> cluster_;
44
  NiceMock<MockLoadBalancer> lb_;
45
  NiceMock<Http::ConnectionPool::MockInstance> conn_pool_;
46
  NiceMock<Http::MockAsyncClient> async_client_;
47
  NiceMock<Tcp::ConnectionPool::MockInstance> tcp_conn_pool_;
48
};
49
50
} // namespace Upstream
51
} // namespace Envoy