]> git.proxmox.com Git - ceph.git/blob - ceph/src/test/librados_test_stub/MockTestMemCluster.h
import 15.2.0 Octopus source
[ceph.git] / ceph / src / test / librados_test_stub / MockTestMemCluster.h
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
3
4 #ifndef LIBRADOS_MOCK_TEST_MEM_CLUSTER_H
5 #define LIBRADOS_MOCK_TEST_MEM_CLUSTER_H
6
7 #include "include/common_fwd.h"
8 #include "test/librados_test_stub/TestMemCluster.h"
9 #include "test/librados_test_stub/MockTestMemRadosClient.h"
10 #include "gmock/gmock.h"
11
12
13 namespace librados {
14
15 class TestRadosClient;
16
17 class MockTestMemCluster : public TestMemCluster {
18 public:
19 MockTestMemCluster() {
20 default_to_dispatch();
21 }
22
23 MOCK_METHOD1(create_rados_client, TestRadosClient*(CephContext*));
24 MockTestMemRadosClient* do_create_rados_client(CephContext *cct) {
25 return new ::testing::NiceMock<MockTestMemRadosClient>(cct, this);
26 }
27
28 void default_to_dispatch() {
29 using namespace ::testing;
30 ON_CALL(*this, create_rados_client(_)).WillByDefault(Invoke(this, &MockTestMemCluster::do_create_rados_client));
31 }
32 };
33
34 } // namespace librados
35
36 #endif // LIBRADOS_MOCK_TEST_MEM_CLUSTER_H