feat: ETLng monitor (#1898)

For #1594
This commit is contained in:
Alex Kremer
2025-02-21 16:10:25 +00:00
committed by GitHub
parent 25296f8ffa
commit 491cd58f93
30 changed files with 756 additions and 53 deletions

View File

@@ -19,8 +19,9 @@
#pragma once
#include "etl/ETLHelpers.hpp"
#include "etl/NetworkValidatedLedgersInterface.hpp"
#include <boost/signals2/connection.hpp>
#include <gmock/gmock.h>
#include <cstdint>
@@ -31,6 +32,12 @@ struct MockNetworkValidatedLedgers : public etl::NetworkValidatedLedgersInterfac
MOCK_METHOD(void, push, (uint32_t), (override));
MOCK_METHOD(std::optional<uint32_t>, getMostRecent, (), (override));
MOCK_METHOD(bool, waitUntilValidatedByNetwork, (uint32_t, std::optional<uint32_t>), (override));
MOCK_METHOD(
boost::signals2::scoped_connection,
subscribe,
(etl::NetworkValidatedLedgersInterface::SignalType::slot_type const& subscriber),
(override)
);
};
template <template <typename> typename MockType>

View File

@@ -48,4 +48,5 @@ struct MockRepeatingOperation {
MOCK_METHOD(void, requestStop, (), (const));
MOCK_METHOD(void, wait, (), (const));
MOCK_METHOD(ValueType, get, (), (const));
MOCK_METHOD(void, invoke, (), (const));
};

View File

@@ -41,6 +41,9 @@ struct MockStrand {
template <typename T>
using StoppableOperation = MockStoppableOperation<T>;
template <typename T>
using RepeatingOperation = MockRepeatingOperation<T>;
MOCK_METHOD(Operation<std::any> const&, execute, (std::function<std::any()>), (const));
MOCK_METHOD(
Operation<std::any> const&,
@@ -60,4 +63,10 @@ struct MockStrand {
(std::function<std::any(util::async::AnyStopToken)>, std::optional<std::chrono::milliseconds>),
(const)
);
MOCK_METHOD(
RepeatingOperation<std::any> const&,
executeRepeatedly,
(std::chrono::milliseconds, std::function<std::any()>),
(const)
);
};