184bff8beSJason Ling #pragma once 284bff8beSJason Ling 384bff8beSJason Ling #include "image_handler.hpp" 484bff8beSJason Ling 5c78bfc82SJason Ling #include <memory> 6c78bfc82SJason 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; 16*f450486fSWilly Tu MOCK_METHOD(bool, open, (const std::string&, std::ios_base::openmode), 17*f450486fSWilly Tu (override)); 18*f450486fSWilly Tu MOCK_METHOD(void, close, (), (override)); 19*f450486fSWilly Tu MOCK_METHOD(bool, write, (std::uint32_t, const std::vector<std::uint8_t>&), 20*f450486fSWilly Tu (override)); 21*f450486fSWilly Tu MOCK_METHOD(std::optional<std::vector<std::uint8_t>>, read, 22*f450486fSWilly Tu (std::uint32_t, std::uint32_t), (override)); 23*f450486fSWilly Tu MOCK_METHOD(int, getSize, (), (override)); 2484bff8beSJason Ling }; 2584bff8beSJason Ling 26c78bfc82SJason Ling std::unique_ptr<ImageHandlerMock> CreateImageMock() 27c78bfc82SJason Ling { 28c78bfc82SJason Ling return std::make_unique<ImageHandlerMock>(); 29c78bfc82SJason Ling } 30c78bfc82SJason Ling 3184bff8beSJason Ling } // namespace ipmi_flash 32