Implemented sensor class
Sensor class was introduced, it monitors
xyz.openbmc_project.Sensor.Value, for change and notifies all
listeners.
Tested:
- Unit tested with service stub that provides dbus interface
xyz.openbmc_project.Sensor.Value
- All changes are delivered to listeners
- All other unit tests are passing
Change-Id: I8c9d58cc986c1fe2a4d2386815d559814016efa6
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
diff --git a/tests/src/mocks/json_storage_mock.hpp b/tests/src/mocks/json_storage_mock.hpp
index 295bc94..99ecd41 100644
--- a/tests/src/mocks/json_storage_mock.hpp
+++ b/tests/src/mocks/json_storage_mock.hpp
@@ -7,8 +7,11 @@
class StorageMock : public interfaces::JsonStorage
{
public:
- MOCK_METHOD2(store, void(const FilePath&, const nlohmann::json&));
- MOCK_METHOD1(remove, bool(const FilePath&));
- MOCK_CONST_METHOD1(load, std::optional<nlohmann::json>(const FilePath&));
- MOCK_CONST_METHOD1(list, std::vector<FilePath>(const DirectoryPath&));
+ MOCK_METHOD(void, store, (const FilePath&, const nlohmann::json&),
+ (override));
+ MOCK_METHOD(bool, remove, (const FilePath&), (override));
+ MOCK_METHOD(std::optional<nlohmann::json>, load, (const FilePath&),
+ (const, override));
+ MOCK_METHOD(std::vector<FilePath>, list, (const DirectoryPath&),
+ (const, override));
};
diff --git a/tests/src/mocks/sensor_listener_mock.hpp b/tests/src/mocks/sensor_listener_mock.hpp
new file mode 100644
index 0000000..b8f1ef5
--- /dev/null
+++ b/tests/src/mocks/sensor_listener_mock.hpp
@@ -0,0 +1,29 @@
+#pragma once
+
+#include "interfaces/sensor_listener.hpp"
+
+#include <gmock/gmock.h>
+
+class SensorListenerMock : public interfaces::SensorListener
+{
+ public:
+ void delegateIgnoringArgs()
+ {
+ using namespace testing;
+
+ ON_CALL(*this, sensorUpdated(_, _)).WillByDefault(Invoke([this] {
+ sensorUpdated();
+ }));
+
+ ON_CALL(*this, sensorUpdated(_, _, _)).WillByDefault(Invoke([this] {
+ sensorUpdated();
+ }));
+ }
+
+ MOCK_METHOD(void, sensorUpdated, (interfaces::Sensor&, uint64_t),
+ (override));
+ MOCK_METHOD(void, sensorUpdated, (interfaces::Sensor&, uint64_t, double),
+ (override));
+
+ MOCK_METHOD(void, sensorUpdated, (), ());
+};
diff --git a/tests/src/mocks/sensor_mock.hpp b/tests/src/mocks/sensor_mock.hpp
index 9e8d7f3..0dcb2b5 100644
--- a/tests/src/mocks/sensor_mock.hpp
+++ b/tests/src/mocks/sensor_mock.hpp
@@ -20,7 +20,9 @@
return Id("SensorMock", service, path);
}
- MOCK_CONST_METHOD0(id, Id());
+ MOCK_METHOD(Id, id, (), (const, override));
+ MOCK_METHOD(void, registerForUpdates,
+ (const std::weak_ptr<interfaces::SensorListener>&), (override));
const uint64_t mockId = generateUniqueMockId();