mirror of
https://github.com/XRPLF/clio.git
synced 2025-12-06 17:27:58 +00:00
feat: WorkQueue priorities (#2721)
Co-authored-by: Sergey Kuznetsov <skuznetsov@ripple.com> Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com>
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
#include "util/MockPrometheus.hpp"
|
||||
#include "util/prometheus/Counter.hpp"
|
||||
|
||||
#include <boost/json/object.hpp>
|
||||
#include <boost/json/value_to.hpp>
|
||||
#include <gmock/gmock.h>
|
||||
#include <gtest/gtest.h>
|
||||
@@ -37,9 +38,15 @@ using util::prometheus::CounterInt;
|
||||
using util::prometheus::WithMockPrometheus;
|
||||
using util::prometheus::WithPrometheus;
|
||||
|
||||
struct RPCCountersTest : WithPrometheus {
|
||||
WorkQueue queue{4u, 1024u}; // todo: mock instead
|
||||
Counters counters{queue};
|
||||
struct RPCCountersBaseTest {
|
||||
struct WorkQueueMock : Reportable {
|
||||
MOCK_METHOD(boost::json::object, report, (), (const, override));
|
||||
};
|
||||
testing::StrictMock<WorkQueueMock> workQueueMock;
|
||||
};
|
||||
|
||||
struct RPCCountersTest : WithPrometheus, RPCCountersBaseTest {
|
||||
Counters counters{workQueueMock};
|
||||
};
|
||||
|
||||
TEST_F(RPCCountersTest, CheckThatCountersAddUp)
|
||||
@@ -57,6 +64,7 @@ TEST_F(RPCCountersTest, CheckThatCountersAddUp)
|
||||
counters.onInternalError();
|
||||
}
|
||||
|
||||
EXPECT_CALL(workQueueMock, report);
|
||||
auto const report = counters.report();
|
||||
auto const& rpc = report.at(JS(rpc)).as_object();
|
||||
|
||||
@@ -103,13 +111,10 @@ TEST_F(RPCCountersTest, CheckThatCountersAddUp)
|
||||
EXPECT_EQ(boost::json::value_to<std::string>(report.at("bad_syntax_errors")), "512");
|
||||
EXPECT_EQ(boost::json::value_to<std::string>(report.at("unknown_command_errors")), "512");
|
||||
EXPECT_EQ(boost::json::value_to<std::string>(report.at("internal_errors")), "512");
|
||||
|
||||
EXPECT_EQ(report.at("work_queue"), queue.report()); // Counters report includes queue report
|
||||
}
|
||||
|
||||
struct RPCCountersMockPrometheusTests : WithMockPrometheus {
|
||||
WorkQueue queue{4u, 1024u}; // todo: mock instead
|
||||
Counters counters{queue};
|
||||
struct RPCCountersMockPrometheusTests : WithMockPrometheus, RPCCountersBaseTest {
|
||||
Counters counters{workQueueMock};
|
||||
};
|
||||
|
||||
TEST_F(RPCCountersMockPrometheusTests, rpcFailed)
|
||||
|
||||
Reference in New Issue
Block a user