bmc: add ActionPack notion to bundle actions
Each firmware type will provide its own set of action implementations
for each step, preparation, verification, and update.
Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Id6409ac356a74e9094272b37709861e2a33d9862
diff --git a/bmc/test/triggerable_mock.hpp b/bmc/test/triggerable_mock.hpp
index c485d8e..8c83d52 100644
--- a/bmc/test/triggerable_mock.hpp
+++ b/bmc/test/triggerable_mock.hpp
@@ -1,7 +1,11 @@
#pragma once
+#include "firmware_handler.hpp"
#include "status.hpp"
+#include <memory>
+#include <string>
+
#include <gtest/gtest.h>
namespace ipmi_flash
@@ -21,4 +25,16 @@
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