1 #pragma once
2 
3 #include "firmware_handler.hpp"
4 #include "status.hpp"
5 
6 #include <memory>
7 #include <string>
8 
9 #include <gtest/gtest.h>
10 
11 namespace ipmi_flash
12 {
13 // TriggerableActionInterface
14 
15 class TriggerMock : public TriggerableActionInterface
16 {
17   public:
18     MOCK_METHOD0(trigger, bool());
19     MOCK_METHOD0(abort, void());
20     MOCK_METHOD0(status, ActionStatus());
21 };
22 
23 std::unique_ptr<TriggerableActionInterface> CreateTriggerMock()
24 {
25     return std::make_unique<TriggerMock>();
26 }
27 
28 ActionMap CreateActionMap(const std::string& blobPath)
29 {
30     std::unique_ptr<ActionPack> actionPack = std::make_unique<ActionPack>();
31     actionPack->preparation = std::move(CreateTriggerMock());
32     actionPack->verification = std::move(CreateTriggerMock());
33     actionPack->update = std::move(CreateTriggerMock());
34 
35     ActionMap map;
36     map[blobPath] = std::move(actionPack);
37     return map;
38 }
39 
40 } // namespace ipmi_flash
41