184bff8beSJason Ling #pragma once 284bff8beSJason Ling 384bff8beSJason Ling #include "image_handler.hpp" 484bff8beSJason Ling 5*c78bfc82SJason Ling #include <memory> 6*c78bfc82SJason Ling 784bff8beSJason Ling #include <gmock/gmock.h> 884bff8beSJason Ling 984bff8beSJason Ling namespace ipmi_flash 1084bff8beSJason Ling { 1184bff8beSJason Ling 1284bff8beSJason Ling class ImageHandlerMock : public ImageHandlerInterface 1384bff8beSJason Ling { 1484bff8beSJason Ling public: 1584bff8beSJason Ling virtual ~ImageHandlerMock() = default; 1684bff8beSJason Ling MOCK_METHOD2(open, bool(const std::string&, std::ios_base::openmode)); 1784bff8beSJason Ling MOCK_METHOD0(close, void()); 1884bff8beSJason Ling MOCK_METHOD2(write, bool(std::uint32_t, const std::vector<std::uint8_t>&)); 1984bff8beSJason Ling MOCK_METHOD2(read, std::optional<std::vector<std::uint8_t>>(std::uint32_t, 2084bff8beSJason Ling std::uint32_t)); 2184bff8beSJason Ling MOCK_METHOD0(getSize, int()); 2284bff8beSJason Ling }; 2384bff8beSJason Ling 24*c78bfc82SJason Ling std::unique_ptr<ImageHandlerMock> CreateImageMock() 25*c78bfc82SJason Ling { 26*c78bfc82SJason Ling return std::make_unique<ImageHandlerMock>(); 27*c78bfc82SJason Ling } 28*c78bfc82SJason Ling 2984bff8beSJason Ling } // namespace ipmi_flash 30