Save persistent triggers to storage
Create json storage file for persistent triggers.
Handle persistent dbus property.
Save/remove persistent triggers on add/delete.
Cover code with UTs.
Tested:
- Passed unit tests
- Tested on QEMU
* adding new valid and invalid trigger from cli
* verifying if valid trigger is properly stored
* deleting existed trigger from storage
Change-Id: I243326e84833a8cb22075fbf565573b62b205b4a
Signed-off-by: Cezary Zwolak <cezary.zwolak@intel.com>
Signed-off-by: Lukasz Kazmierczak <lukasz.kazmierczak@intel.com>
diff --git a/tests/src/mocks/trigger_factory_mock.hpp b/tests/src/mocks/trigger_factory_mock.hpp
index cf1be55..8249799 100644
--- a/tests/src/mocks/trigger_factory_mock.hpp
+++ b/tests/src/mocks/trigger_factory_mock.hpp
@@ -13,7 +13,7 @@
{
using namespace testing;
- ON_CALL(*this, make(_, _, _, _, _, _, _, _, _, _))
+ ON_CALL(*this, make(_, _, _, _, _, _, _, _, _, _, _))
.WillByDefault(WithArgs<1>(Invoke([](const std::string& name) {
return std::make_unique<NiceMock<TriggerMock>>(name);
})));
@@ -27,12 +27,14 @@
std::pair<sdbusplus::message::object_path, std::string>>& sensors),
const std::vector<std::string>& reportNames,
const TriggerThresholdParams& thresholdParams,
- interfaces::TriggerManager& triggerManager),
+ interfaces::TriggerManager& triggerManager,
+ interfaces::JsonStorage& triggerStorage),
(const, override));
auto& expectMake(
std::optional<std::reference_wrapper<const TriggerParams>> paramsOpt,
- const testing::Matcher<interfaces::TriggerManager&>& tm)
+ const testing::Matcher<interfaces::TriggerManager&>& tm,
+ const testing::Matcher<interfaces::JsonStorage&>& triggerStorage)
{
using namespace testing;
@@ -40,15 +42,16 @@
{
const TriggerParams& params = *paramsOpt;
return EXPECT_CALL(
- *this,
- make(_, params.name(), params.isDiscrete(),
- params.logToJournal(), params.logToRedfish(),
- params.updateReport(), params.sensors(),
- params.reportNames(), params.thresholdParams(), tm));
+ *this, make(_, params.name(), params.isDiscrete(),
+ params.logToJournal(), params.logToRedfish(),
+ params.updateReport(), params.sensors(),
+ params.reportNames(), params.thresholdParams(), tm,
+ triggerStorage));
}
else
{
- return EXPECT_CALL(*this, make(_, _, _, _, _, _, _, _, _, tm));
+ return EXPECT_CALL(
+ *this, make(_, _, _, _, _, _, _, _, _, tm, triggerStorage));
}
}
};