#pragma once

#include "blobs.hpp"

#include <gmock/gmock.h>

namespace blobs
{

class BlobMock : public GenericBlobInterface
{
  public:
    virtual ~BlobMock() = default;

    MOCK_METHOD1(canHandleBlob, bool(const std::string&));
    MOCK_METHOD0(getBlobIds, std::vector<std::string>());
    MOCK_METHOD1(deleteBlob, bool(const std::string&));
    MOCK_METHOD2(stat, bool(const std::string&, struct BlobMeta*));
    MOCK_METHOD3(open, bool(uint16_t, uint16_t, const std::string&));
    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_METHOD2(commit, bool(uint16_t, const std::vector<uint8_t>&));
    MOCK_METHOD1(close, bool(uint16_t));
    MOCK_METHOD2(stat, bool(uint16_t, struct BlobMeta*));
    MOCK_METHOD1(expire, bool(uint16_t));
};
} // namespace blobs
