xref: /openbmc/phosphor-ipmi-blobs/test/manager_mock.hpp (revision 52b75fb3927d46b75e75fd6040577c914476e6f1)
1 #pragma once
2 
3 #include "manager.hpp"
4 
5 #include <blobs-ipmid/blobs.hpp>
6 #include <memory>
7 #include <string>
8 
9 #include <gmock/gmock.h>
10 
11 namespace blobs
12 {
13 
14 class ManagerMock : public ManagerInterface
15 {
16   public:
17     virtual ~ManagerMock() = default;
18 
19     MOCK_METHOD(bool, registerHandler, (std::unique_ptr<GenericBlobInterface>),
20                 (override));
21     MOCK_METHOD(uint32_t, buildBlobList, (), (override));
22     MOCK_METHOD(std::string, getBlobId, (uint32_t), (override));
23     MOCK_METHOD(bool, open, (uint16_t, const std::string&, uint16_t*),
24                 (override));
25     MOCK_METHOD(bool, stat, (const std::string&, BlobMeta*), (override));
26     MOCK_METHOD(bool, stat, (uint16_t, BlobMeta*), (override));
27     MOCK_METHOD(bool, commit, (uint16_t, const std::vector<uint8_t>&),
28                 (override));
29     MOCK_METHOD(bool, close, (uint16_t), (override));
30     MOCK_METHOD(std::vector<uint8_t>, read, (uint16_t, uint32_t, uint32_t),
31                 (override));
32     MOCK_METHOD(bool, write, (uint16_t, uint32_t, const std::vector<uint8_t>&),
33                 (override));
34     MOCK_METHOD(bool, deleteBlob, (const std::string&), (override));
35     MOCK_METHOD(bool, writeMeta,
36                 (uint16_t, uint32_t, const std::vector<uint8_t>&), (override));
37 };
38 
39 /*
40  * Provide a one-off implementation for now.
41  * To test this, set managerReturned as you need.
42  */
43 ManagerInterface* managerReturned;
44 
45 ManagerInterface* getBlobManager()
46 {
47     return managerReturned;
48 }
49 
50 } // namespace blobs
51