summaryrefslogtreecommitdiffstats
path: root/bmc/test/triggerable_mock.hpp
blob: 8c83d52e15be55f6a752d3f8882c95293d959621 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#pragma once

#include "firmware_handler.hpp"
#include "status.hpp"

#include <memory>
#include <string>

#include <gtest/gtest.h>

namespace ipmi_flash
{
// TriggerableActionInterface

class TriggerMock : public TriggerableActionInterface
{
  public:
    MOCK_METHOD0(trigger, bool());
    MOCK_METHOD0(abort, void());
    MOCK_METHOD0(status, ActionStatus());
};

std::unique_ptr<TriggerableActionInterface> CreateTriggerMock()
{
    return std::make_unique<TriggerMock>();
}

ActionMap CreateActionMap(const std::string& blobPath)
{
    std::unique_ptr<ActionPack> actionPack = std::make_unique<ActionPack>();
    actionPack->preparation = std::move(CreateTriggerMock());
    actionPack->verification = std::move(CreateTriggerMock());
    actionPack->update = std::move(CreateTriggerMock());

    ActionMap map;
    map[blobPath] = std::move(actionPack);
    return map;
}

} // namespace ipmi_flash
OpenPOWER on IntegriCloud