xref: /openbmc/phosphor-ipmi-blobs/test/blob_mock.hpp (revision cd8dab491d3f78124be800252186a32a90c884b8)
1 #pragma once
2 
3 #include <blobs-ipmid/blobs.hpp>
4 
5 #include <gmock/gmock.h>
6 
7 namespace blobs
8 {
9 
10 class BlobMock : public GenericBlobInterface
11 {
12   public:
13     virtual ~BlobMock() = default;
14 
15     MOCK_METHOD1(canHandleBlob, bool(const std::string&));
16     MOCK_METHOD0(getBlobIds, std::vector<std::string>());
17     MOCK_METHOD1(deleteBlob, bool(const std::string&));
18     MOCK_METHOD2(stat, bool(const std::string&, struct BlobMeta*));
19     MOCK_METHOD3(open, bool(uint16_t, uint16_t, const std::string&));
20     MOCK_METHOD3(read, std::vector<uint8_t>(uint16_t, uint32_t, uint32_t));
21     MOCK_METHOD3(write, bool(uint16_t, uint32_t, const std::vector<uint8_t>&));
22     MOCK_METHOD3(writeMeta,
23                  bool(uint16_t, uint32_t, const std::vector<uint8_t>&));
24     MOCK_METHOD2(commit, bool(uint16_t, const std::vector<uint8_t>&));
25     MOCK_METHOD1(close, bool(uint16_t));
26     MOCK_METHOD2(stat, bool(uint16_t, struct BlobMeta*));
27     MOCK_METHOD1(expire, bool(uint16_t));
28 };
29 } // namespace blobs
30