summaryrefslogtreecommitdiffstats
path: root/test/manager_mock.hpp
blob: bfb334894ed7d4feb6fd1ff5658ac26a664e1217 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#pragma once

#include "manager.hpp"

#include <blobs-ipmid/blobs.hpp>
#include <memory>
#include <string>

#include <gmock/gmock.h>

namespace blobs
{

class ManagerMock : public ManagerInterface
{
  public:
    virtual ~ManagerMock() = default;

    MOCK_METHOD1(registerHandler, bool(std::unique_ptr<GenericBlobInterface>));
    MOCK_METHOD0(buildBlobList, uint32_t());
    MOCK_METHOD1(getBlobId, std::string(uint32_t));
    MOCK_METHOD3(open, bool(uint16_t, const std::string&, uint16_t*));
    MOCK_METHOD2(stat, bool(const std::string&, BlobMeta*));
    MOCK_METHOD2(stat, bool(uint16_t, BlobMeta*));
    MOCK_METHOD2(commit, bool(uint16_t, const std::vector<uint8_t>&));
    MOCK_METHOD1(close, bool(uint16_t));
    MOCK_METHOD3(read, std::vector<uint8_t>(uint16_t, uint32_t, uint32_t));
    MOCK_METHOD3(write, bool(uint16_t, uint32_t, const std::vector<uint8_t>&));
    MOCK_METHOD1(deleteBlob, bool(const std::string&));
    MOCK_METHOD3(writeMeta,
                 bool(uint16_t, uint32_t, const std::vector<uint8_t>&));
};

/*
 * Provide a one-off implementation for now.
 * To test this, set managerReturned as you need.
 */
ManagerInterface* managerReturned;

ManagerInterface* getBlobManager()
{
    return managerReturned;
}

} // namespace blobs
OpenPOWER on IntegriCloud