1 #pragma once 2 3 #include "image_handler.hpp" 4 5 #include <memory> 6 7 #include <gmock/gmock.h> 8 9 namespace ipmi_flash 10 { 11 12 class ImageHandlerMock : public ImageHandlerInterface 13 { 14 public: 15 virtual ~ImageHandlerMock() = default; 16 MOCK_METHOD2(open, bool(const std::string&, std::ios_base::openmode)); 17 MOCK_METHOD0(close, void()); 18 MOCK_METHOD2(write, bool(std::uint32_t, const std::vector<std::uint8_t>&)); 19 MOCK_METHOD2(read, std::optional<std::vector<std::uint8_t>>(std::uint32_t, 20 std::uint32_t)); 21 MOCK_METHOD0(getSize, int()); 22 }; 23 24 std::unique_ptr<ImageHandlerMock> CreateImageMock() 25 { 26 return std::make_unique<ImageHandlerMock>(); 27 } 28 29 } // namespace ipmi_flash 30