mirror of
https://github.com/XRPLF/clio.git
synced 2025-11-20 11:45:53 +00:00
@@ -83,14 +83,10 @@ TEST_F(BackendCassandraTest, Basic)
|
||||
|
||||
boost::asio::spawn(ctx, [this, &done, &work](boost::asio::yield_context yield) {
|
||||
std::string rawHeader =
|
||||
"03C3141A01633CD656F91B4EBB5EB89B791BD34DBC8A04BB6F407C5335BC54"
|
||||
"351E"
|
||||
"DD733898497E809E04074D14D271E4832D7888754F9230800761563A292FA2"
|
||||
"315A"
|
||||
"6DB6FE30CC5909B285080FCD6773CC883F9FE0EE4D439340AC592AADB973ED"
|
||||
"3CF5"
|
||||
"3E2232B33EF57CECAC2816E3122816E31A0A00F8377CD95DFA484CFAE28265"
|
||||
"6A58"
|
||||
"03C3141A01633CD656F91B4EBB5EB89B791BD34DBC8A04BB6F407C5335BC54351E"
|
||||
"DD733898497E809E04074D14D271E4832D7888754F9230800761563A292FA2315A"
|
||||
"6DB6FE30CC5909B285080FCD6773CC883F9FE0EE4D439340AC592AADB973ED3CF5"
|
||||
"3E2232B33EF57CECAC2816E3122816E31A0A00F8377CD95DFA484CFAE282656A58"
|
||||
"CE5AA29652EFFD80AC59CD91416E4E13DBBE";
|
||||
|
||||
auto hexStringToBinaryString = [](auto const& hex) {
|
||||
@@ -117,7 +113,7 @@ TEST_F(BackendCassandraTest, Basic)
|
||||
};
|
||||
|
||||
std::string rawHeaderBlob = hexStringToBinaryString(rawHeader);
|
||||
ripple::LedgerInfo lgrInfo = deserializeHeader(ripple::makeSlice(rawHeaderBlob));
|
||||
ripple::LedgerInfo lgrInfo = util::deserializeHeader(ripple::makeSlice(rawHeaderBlob));
|
||||
|
||||
backend->writeLedger(lgrInfo, std::move(rawHeaderBlob));
|
||||
backend->writeSuccessor(uint256ToString(Backend::firstKey), lgrInfo.seq, uint256ToString(Backend::lastKey));
|
||||
@@ -230,21 +226,15 @@ TEST_F(BackendCassandraTest, Basic)
|
||||
"FE6B2DEBCF9183A426BC022005DAC06CD4517E86C2548A80996019F3AC60A0"
|
||||
"9EED153BF60C992930D68F09F981142252F328CF91263417762570D67220CC"
|
||||
"B33B1370";
|
||||
std::string hashHex =
|
||||
"0A81FB3D6324C2DCF73131505C6E4DC67981D7FC39F5E9574CEC4B1F22D28B"
|
||||
"F7";
|
||||
std::string hashHex = "0A81FB3D6324C2DCF73131505C6E4DC67981D7FC39F5E9574CEC4B1F22D28BF7";
|
||||
|
||||
// this account is not related to the above transaction and
|
||||
// metadata
|
||||
std::string accountHex =
|
||||
"1100612200000000240480FDBC2503CE1A872D0000000555516931B2AD018E"
|
||||
"FFBE"
|
||||
"17C5C9DCCF872F36837C2C6136ACF80F2A24079CF81FD0624000000005FF0E"
|
||||
"0781"
|
||||
"1100612200000000240480FDBC2503CE1A872D0000000555516931B2AD018EFFBE"
|
||||
"17C5C9DCCF872F36837C2C6136ACF80F2A24079CF81FD0624000000005FF0E0781"
|
||||
"142252F328CF91263417762570D67220CCB33B1370";
|
||||
std::string accountIndexHex =
|
||||
"E0311EB450B6177F969B94DBDDA83E99B7A0576ACD9079573876F16C0C004F"
|
||||
"06";
|
||||
std::string accountIndexHex = "E0311EB450B6177F969B94DBDDA83E99B7A0576ACD9079573876F16C0C004F06";
|
||||
|
||||
// An NFTokenMint tx
|
||||
std::string nftTxnHex =
|
||||
@@ -903,26 +893,18 @@ TEST_F(BackendCassandraTest, CacheIntegration)
|
||||
backend->cache().setFull();
|
||||
|
||||
std::string rawHeader =
|
||||
"03C3141A01633CD656F91B4EBB5EB89B791BD34DBC8A04BB6F407C5335BC54"
|
||||
"351E"
|
||||
"DD733898497E809E04074D14D271E4832D7888754F9230800761563A292FA2"
|
||||
"315A"
|
||||
"6DB6FE30CC5909B285080FCD6773CC883F9FE0EE4D439340AC592AADB973ED"
|
||||
"3CF5"
|
||||
"3E2232B33EF57CECAC2816E3122816E31A0A00F8377CD95DFA484CFAE28265"
|
||||
"6A58"
|
||||
"03C3141A01633CD656F91B4EBB5EB89B791BD34DBC8A04BB6F407C5335BC54351E"
|
||||
"DD733898497E809E04074D14D271E4832D7888754F9230800761563A292FA2315A"
|
||||
"6DB6FE30CC5909B285080FCD6773CC883F9FE0EE4D439340AC592AADB973ED3CF5"
|
||||
"3E2232B33EF57CECAC2816E3122816E31A0A00F8377CD95DFA484CFAE282656A58"
|
||||
"CE5AA29652EFFD80AC59CD91416E4E13DBBE";
|
||||
// this account is not related to the above transaction and
|
||||
// metadata
|
||||
std::string accountHex =
|
||||
"1100612200000000240480FDBC2503CE1A872D0000000555516931B2AD018E"
|
||||
"FFBE"
|
||||
"17C5C9DCCF872F36837C2C6136ACF80F2A24079CF81FD0624000000005FF0E"
|
||||
"0781"
|
||||
"1100612200000000240480FDBC2503CE1A872D0000000555516931B2AD018EFFBE"
|
||||
"17C5C9DCCF872F36837C2C6136ACF80F2A24079CF81FD0624000000005FF0E0781"
|
||||
"142252F328CF91263417762570D67220CCB33B1370";
|
||||
std::string accountIndexHex =
|
||||
"E0311EB450B6177F969B94DBDDA83E99B7A0576ACD9079573876F16C0C004F"
|
||||
"06";
|
||||
std::string accountIndexHex = "E0311EB450B6177F969B94DBDDA83E99B7A0576ACD9079573876F16C0C004F06";
|
||||
|
||||
auto hexStringToBinaryString = [](auto const& hex) {
|
||||
auto blob = ripple::strUnHex(hex);
|
||||
@@ -950,7 +932,7 @@ TEST_F(BackendCassandraTest, CacheIntegration)
|
||||
std::string rawHeaderBlob = hexStringToBinaryString(rawHeader);
|
||||
std::string accountBlob = hexStringToBinaryString(accountHex);
|
||||
std::string accountIndexBlob = hexStringToBinaryString(accountIndexHex);
|
||||
ripple::LedgerInfo lgrInfo = deserializeHeader(ripple::makeSlice(rawHeaderBlob));
|
||||
ripple::LedgerInfo lgrInfo = util::deserializeHeader(ripple::makeSlice(rawHeaderBlob));
|
||||
|
||||
backend->startWrites();
|
||||
backend->writeLedger(lgrInfo, std::move(rawHeaderBlob));
|
||||
|
||||
81
unittests/etl/ExtractionDataPipeTest.cpp
Normal file
81
unittests/etl/ExtractionDataPipeTest.cpp
Normal file
@@ -0,0 +1,81 @@
|
||||
//------------------------------------------------------------------------------
|
||||
/*
|
||||
This file is part of clio: https://github.com/XRPLF/clio
|
||||
Copyright (c) 2023, the clio developers.
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
//==============================================================================
|
||||
|
||||
#include <util/Fixtures.h>
|
||||
|
||||
#include <etl/impl/ExtractionDataPipe.h>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
constexpr static auto STRIDE = 4;
|
||||
constexpr static auto START_SEQ = 1234;
|
||||
|
||||
class ETLExtractionDataPipeTest : public NoLoggerFixture
|
||||
{
|
||||
protected:
|
||||
clio::detail::ExtractionDataPipe<uint32_t> pipe_{STRIDE, START_SEQ};
|
||||
};
|
||||
|
||||
TEST_F(ETLExtractionDataPipeTest, StrideMatchesInput)
|
||||
{
|
||||
EXPECT_EQ(pipe_.getStride(), STRIDE);
|
||||
}
|
||||
|
||||
TEST_F(ETLExtractionDataPipeTest, PushedDataCanBeRetrievedAndMatchesOriginal)
|
||||
{
|
||||
for (std::size_t i = 0; i < 8; ++i)
|
||||
pipe_.push(START_SEQ + i, START_SEQ + i);
|
||||
|
||||
for (std::size_t i = 0; i < 8; ++i)
|
||||
{
|
||||
auto const data = pipe_.popNext(START_SEQ + i);
|
||||
EXPECT_EQ(data.value(), START_SEQ + i);
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(ETLExtractionDataPipeTest, CallingFinishPushesAnEmptyOptional)
|
||||
{
|
||||
for (std::size_t i = 0; i < 4; ++i)
|
||||
pipe_.finish(START_SEQ + i);
|
||||
|
||||
for (std::size_t i = 0; i < 4; ++i)
|
||||
{
|
||||
auto const data = pipe_.popNext(START_SEQ + i);
|
||||
EXPECT_FALSE(data.has_value());
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(ETLExtractionDataPipeTest, CallingCleanupUnblocksOtherThread)
|
||||
{
|
||||
std::atomic_bool unblocked = false;
|
||||
auto bgThread = std::thread([this, &unblocked] {
|
||||
for (std::size_t i = 0; i < 252; ++i)
|
||||
pipe_.push(START_SEQ, 1234); // 251st element will block this thread here
|
||||
unblocked = true;
|
||||
});
|
||||
|
||||
// emulate waiting for above thread to push and get blocked
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds{100});
|
||||
|
||||
EXPECT_FALSE(unblocked);
|
||||
pipe_.cleanup();
|
||||
|
||||
bgThread.join();
|
||||
EXPECT_TRUE(unblocked);
|
||||
}
|
||||
@@ -27,15 +27,15 @@ namespace json = boost::json;
|
||||
using namespace testing;
|
||||
|
||||
using TestServerInfoHandler =
|
||||
BaseServerInfoHandler<MockSubscriptionManager, MockETLLoadBalancer, MockReportingETL, MockCounters>;
|
||||
BaseServerInfoHandler<MockSubscriptionManager, MockLoadBalancer, MockETLService, MockCounters>;
|
||||
|
||||
constexpr static auto LEDGERHASH = "4BC50C9B0D8515D3EAAE1E74B29A95804346C491EE1A95BF25E4AAB854A6A652";
|
||||
constexpr static auto CLIENTIP = "1.1.1.1";
|
||||
|
||||
class RPCServerInfoHandlerTest : public HandlerBaseTest,
|
||||
public MockETLLoadBalancerTest,
|
||||
public MockLoadBalancerTest,
|
||||
public MockSubscriptionManagerTest,
|
||||
public MockReportingETLTest,
|
||||
public MockETLServiceTest,
|
||||
public MockCountersTest
|
||||
{
|
||||
protected:
|
||||
@@ -43,9 +43,9 @@ protected:
|
||||
SetUp() override
|
||||
{
|
||||
HandlerBaseTest::SetUp();
|
||||
MockETLLoadBalancerTest::SetUp();
|
||||
MockLoadBalancerTest::SetUp();
|
||||
MockSubscriptionManagerTest::SetUp();
|
||||
MockReportingETLTest::SetUp();
|
||||
MockETLServiceTest::SetUp();
|
||||
MockCountersTest::SetUp();
|
||||
}
|
||||
|
||||
@@ -53,9 +53,9 @@ protected:
|
||||
TearDown() override
|
||||
{
|
||||
MockCountersTest::TearDown();
|
||||
MockReportingETLTest::TearDown();
|
||||
MockETLServiceTest::TearDown();
|
||||
MockSubscriptionManagerTest::TearDown();
|
||||
MockETLLoadBalancerTest::TearDown();
|
||||
MockLoadBalancerTest::TearDown();
|
||||
HandlerBaseTest::TearDown();
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ protected:
|
||||
TEST_F(RPCServerInfoHandlerTest, NoRangeErrorsOutWithNotReady)
|
||||
{
|
||||
auto const handler = AnyHandler{TestServerInfoHandler{
|
||||
mockBackendPtr, mockSubscriptionManagerPtr, mockLoadBalancerPtr, mockReportingETLPtr, *mockCountersPtr}};
|
||||
mockBackendPtr, mockSubscriptionManagerPtr, mockLoadBalancerPtr, mockETLServicePtr, *mockCountersPtr}};
|
||||
|
||||
runSpawn([&](auto& yield) {
|
||||
auto const req = json::parse("{}");
|
||||
@@ -158,7 +158,7 @@ TEST_F(RPCServerInfoHandlerTest, NoLedgerInfoErrorsOutWithInternal)
|
||||
EXPECT_CALL(*rawBackendPtr, fetchLedgerBySequence).Times(1);
|
||||
|
||||
auto const handler = AnyHandler{TestServerInfoHandler{
|
||||
mockBackendPtr, mockSubscriptionManagerPtr, mockLoadBalancerPtr, mockReportingETLPtr, *mockCountersPtr}};
|
||||
mockBackendPtr, mockSubscriptionManagerPtr, mockLoadBalancerPtr, mockETLServicePtr, *mockCountersPtr}};
|
||||
|
||||
runSpawn([&](auto& yield) {
|
||||
auto const req = json::parse("{}");
|
||||
@@ -185,7 +185,7 @@ TEST_F(RPCServerInfoHandlerTest, NoFeesErrorsOutWithInternal)
|
||||
EXPECT_CALL(*rawBackendPtr, doFetchLedgerObject).Times(1);
|
||||
|
||||
auto const handler = AnyHandler{TestServerInfoHandler{
|
||||
mockBackendPtr, mockSubscriptionManagerPtr, mockLoadBalancerPtr, mockReportingETLPtr, *mockCountersPtr}};
|
||||
mockBackendPtr, mockSubscriptionManagerPtr, mockLoadBalancerPtr, mockETLServicePtr, *mockCountersPtr}};
|
||||
|
||||
runSpawn([&](auto& yield) {
|
||||
auto const req = json::parse("{}");
|
||||
@@ -201,7 +201,7 @@ TEST_F(RPCServerInfoHandlerTest, NoFeesErrorsOutWithInternal)
|
||||
TEST_F(RPCServerInfoHandlerTest, DefaultOutputIsPresent)
|
||||
{
|
||||
MockBackend* rawBackendPtr = static_cast<MockBackend*>(mockBackendPtr.get());
|
||||
MockETLLoadBalancer* rawBalancerPtr = static_cast<MockETLLoadBalancer*>(mockLoadBalancerPtr.get());
|
||||
MockLoadBalancer* rawBalancerPtr = static_cast<MockLoadBalancer*>(mockLoadBalancerPtr.get());
|
||||
|
||||
mockBackendPtr->updateRange(10); // min
|
||||
mockBackendPtr->updateRange(30); // max
|
||||
@@ -218,7 +218,7 @@ TEST_F(RPCServerInfoHandlerTest, DefaultOutputIsPresent)
|
||||
EXPECT_CALL(*rawBalancerPtr, forwardToRippled(testing::_, testing::Eq(CLIENTIP), testing::_)).Times(1);
|
||||
|
||||
auto const handler = AnyHandler{TestServerInfoHandler{
|
||||
mockBackendPtr, mockSubscriptionManagerPtr, mockLoadBalancerPtr, mockReportingETLPtr, *mockCountersPtr}};
|
||||
mockBackendPtr, mockSubscriptionManagerPtr, mockLoadBalancerPtr, mockETLServicePtr, *mockCountersPtr}};
|
||||
|
||||
runSpawn([&](auto& yield) {
|
||||
auto const req = json::parse("{}");
|
||||
@@ -237,11 +237,11 @@ TEST_F(RPCServerInfoHandlerTest, DefaultOutputIsPresent)
|
||||
TEST_F(RPCServerInfoHandlerTest, AdminSectionPresentWhenAdminFlagIsSet)
|
||||
{
|
||||
MockBackend* rawBackendPtr = static_cast<MockBackend*>(mockBackendPtr.get());
|
||||
MockETLLoadBalancer* rawBalancerPtr = static_cast<MockETLLoadBalancer*>(mockLoadBalancerPtr.get());
|
||||
MockLoadBalancer* rawBalancerPtr = static_cast<MockLoadBalancer*>(mockLoadBalancerPtr.get());
|
||||
MockCounters* rawCountersPtr = static_cast<MockCounters*>(mockCountersPtr.get());
|
||||
MockSubscriptionManager* rawSubscriptionManagerPtr =
|
||||
static_cast<MockSubscriptionManager*>(mockSubscriptionManagerPtr.get());
|
||||
MockReportingETL* rawReportingETLPtr = static_cast<MockReportingETL*>(mockReportingETLPtr.get());
|
||||
MockETLService* rawETLServicePtr = static_cast<MockETLService*>(mockETLServicePtr.get());
|
||||
|
||||
mockBackendPtr->updateRange(10); // min
|
||||
mockBackendPtr->updateRange(30); // max
|
||||
@@ -265,11 +265,11 @@ TEST_F(RPCServerInfoHandlerTest, AdminSectionPresentWhenAdminFlagIsSet)
|
||||
ON_CALL(*rawSubscriptionManagerPtr, report).WillByDefault(Return(empty));
|
||||
EXPECT_CALL(*rawSubscriptionManagerPtr, report).Times(1);
|
||||
|
||||
ON_CALL(*rawReportingETLPtr, getInfo).WillByDefault(Return(empty));
|
||||
EXPECT_CALL(*rawReportingETLPtr, getInfo).Times(1);
|
||||
ON_CALL(*rawETLServicePtr, getInfo).WillByDefault(Return(empty));
|
||||
EXPECT_CALL(*rawETLServicePtr, getInfo).Times(1);
|
||||
|
||||
auto const handler = AnyHandler{TestServerInfoHandler{
|
||||
mockBackendPtr, mockSubscriptionManagerPtr, mockLoadBalancerPtr, mockReportingETLPtr, *mockCountersPtr}};
|
||||
mockBackendPtr, mockSubscriptionManagerPtr, mockLoadBalancerPtr, mockETLServicePtr, *mockCountersPtr}};
|
||||
|
||||
runSpawn([&](auto& yield) {
|
||||
auto const req = json::parse("{}");
|
||||
@@ -283,11 +283,11 @@ TEST_F(RPCServerInfoHandlerTest, AdminSectionPresentWhenAdminFlagIsSet)
|
||||
TEST_F(RPCServerInfoHandlerTest, RippledForwardedValuesPresent)
|
||||
{
|
||||
MockBackend* rawBackendPtr = static_cast<MockBackend*>(mockBackendPtr.get());
|
||||
MockETLLoadBalancer* rawBalancerPtr = static_cast<MockETLLoadBalancer*>(mockLoadBalancerPtr.get());
|
||||
MockLoadBalancer* rawBalancerPtr = static_cast<MockLoadBalancer*>(mockLoadBalancerPtr.get());
|
||||
MockCounters* rawCountersPtr = static_cast<MockCounters*>(mockCountersPtr.get());
|
||||
MockSubscriptionManager* rawSubscriptionManagerPtr =
|
||||
static_cast<MockSubscriptionManager*>(mockSubscriptionManagerPtr.get());
|
||||
MockReportingETL* rawReportingETLPtr = static_cast<MockReportingETL*>(mockReportingETLPtr.get());
|
||||
MockETLService* rawETLServicePtr = static_cast<MockETLService*>(mockETLServicePtr.get());
|
||||
|
||||
mockBackendPtr->updateRange(10); // min
|
||||
mockBackendPtr->updateRange(30); // max
|
||||
@@ -320,11 +320,11 @@ TEST_F(RPCServerInfoHandlerTest, RippledForwardedValuesPresent)
|
||||
ON_CALL(*rawSubscriptionManagerPtr, report).WillByDefault(Return(empty));
|
||||
EXPECT_CALL(*rawSubscriptionManagerPtr, report).Times(1);
|
||||
|
||||
ON_CALL(*rawReportingETLPtr, getInfo).WillByDefault(Return(empty));
|
||||
EXPECT_CALL(*rawReportingETLPtr, getInfo).Times(1);
|
||||
ON_CALL(*rawETLServicePtr, getInfo).WillByDefault(Return(empty));
|
||||
EXPECT_CALL(*rawETLServicePtr, getInfo).Times(1);
|
||||
|
||||
auto const handler = AnyHandler{TestServerInfoHandler{
|
||||
mockBackendPtr, mockSubscriptionManagerPtr, mockLoadBalancerPtr, mockReportingETLPtr, *mockCountersPtr}};
|
||||
mockBackendPtr, mockSubscriptionManagerPtr, mockLoadBalancerPtr, mockETLServicePtr, *mockCountersPtr}};
|
||||
|
||||
runSpawn([&](auto& yield) {
|
||||
auto const req = json::parse("{}");
|
||||
@@ -339,11 +339,11 @@ TEST_F(RPCServerInfoHandlerTest, RippledForwardedValuesPresent)
|
||||
TEST_F(RPCServerInfoHandlerTest, RippledForwardedValuesMissingNoExceptionThrown)
|
||||
{
|
||||
MockBackend* rawBackendPtr = static_cast<MockBackend*>(mockBackendPtr.get());
|
||||
MockETLLoadBalancer* rawBalancerPtr = static_cast<MockETLLoadBalancer*>(mockLoadBalancerPtr.get());
|
||||
MockLoadBalancer* rawBalancerPtr = static_cast<MockLoadBalancer*>(mockLoadBalancerPtr.get());
|
||||
MockCounters* rawCountersPtr = static_cast<MockCounters*>(mockCountersPtr.get());
|
||||
MockSubscriptionManager* rawSubscriptionManagerPtr =
|
||||
static_cast<MockSubscriptionManager*>(mockSubscriptionManagerPtr.get());
|
||||
MockReportingETL* rawReportingETLPtr = static_cast<MockReportingETL*>(mockReportingETLPtr.get());
|
||||
MockETLService* rawETLServicePtr = static_cast<MockETLService*>(mockETLServicePtr.get());
|
||||
|
||||
mockBackendPtr->updateRange(10); // min
|
||||
mockBackendPtr->updateRange(30); // max
|
||||
@@ -373,11 +373,11 @@ TEST_F(RPCServerInfoHandlerTest, RippledForwardedValuesMissingNoExceptionThrown)
|
||||
ON_CALL(*rawSubscriptionManagerPtr, report).WillByDefault(Return(empty));
|
||||
EXPECT_CALL(*rawSubscriptionManagerPtr, report).Times(1);
|
||||
|
||||
ON_CALL(*rawReportingETLPtr, getInfo).WillByDefault(Return(empty));
|
||||
EXPECT_CALL(*rawReportingETLPtr, getInfo).Times(1);
|
||||
ON_CALL(*rawETLServicePtr, getInfo).WillByDefault(Return(empty));
|
||||
EXPECT_CALL(*rawETLServicePtr, getInfo).Times(1);
|
||||
|
||||
auto const handler = AnyHandler{TestServerInfoHandler{
|
||||
mockBackendPtr, mockSubscriptionManagerPtr, mockLoadBalancerPtr, mockReportingETLPtr, *mockCountersPtr}};
|
||||
mockBackendPtr, mockSubscriptionManagerPtr, mockLoadBalancerPtr, mockETLServicePtr, *mockCountersPtr}};
|
||||
|
||||
runSpawn([&](auto& yield) {
|
||||
auto const req = json::parse("{}");
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
|
||||
#include "MockBackend.h"
|
||||
#include "MockCounters.h"
|
||||
#include "MockETLLoadBalancer.h"
|
||||
#include "MockReportingETL.h"
|
||||
#include "MockETLService.h"
|
||||
#include "MockLoadBalancer.h"
|
||||
#include "MockSubscriptionManager.h"
|
||||
#include <log/Logger.h>
|
||||
|
||||
@@ -219,13 +219,13 @@ protected:
|
||||
/**
|
||||
* @brief Fixture with a mock etl balancer
|
||||
*/
|
||||
struct MockETLLoadBalancerTest : virtual public NoLoggerFixture
|
||||
struct MockLoadBalancerTest : virtual public NoLoggerFixture
|
||||
{
|
||||
void
|
||||
SetUp() override
|
||||
{
|
||||
NoLoggerFixture::SetUp();
|
||||
mockLoadBalancerPtr = std::make_shared<MockETLLoadBalancer>();
|
||||
mockLoadBalancerPtr = std::make_shared<MockLoadBalancer>();
|
||||
}
|
||||
void
|
||||
TearDown() override
|
||||
@@ -234,28 +234,28 @@ struct MockETLLoadBalancerTest : virtual public NoLoggerFixture
|
||||
}
|
||||
|
||||
protected:
|
||||
std::shared_ptr<MockETLLoadBalancer> mockLoadBalancerPtr;
|
||||
std::shared_ptr<MockLoadBalancer> mockLoadBalancerPtr;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Fixture with a mock subscription manager
|
||||
*/
|
||||
struct MockReportingETLTest : virtual public NoLoggerFixture
|
||||
struct MockETLServiceTest : virtual public NoLoggerFixture
|
||||
{
|
||||
void
|
||||
SetUp() override
|
||||
{
|
||||
NoLoggerFixture::SetUp();
|
||||
mockReportingETLPtr = std::make_shared<MockReportingETL>();
|
||||
mockETLServicePtr = std::make_shared<MockETLService>();
|
||||
}
|
||||
void
|
||||
TearDown() override
|
||||
{
|
||||
mockReportingETLPtr.reset();
|
||||
mockETLServicePtr.reset();
|
||||
}
|
||||
|
||||
protected:
|
||||
std::shared_ptr<MockReportingETL> mockReportingETLPtr;
|
||||
std::shared_ptr<MockETLService> mockETLServicePtr;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -144,8 +144,6 @@ public:
|
||||
|
||||
MOCK_METHOD(void, startWrites, (), (const, override));
|
||||
|
||||
MOCK_METHOD(bool, doOnlineDelete, (std::uint32_t, boost::asio::yield_context&), (const, override));
|
||||
|
||||
MOCK_METHOD(bool, isTooBusy, (), (const, override));
|
||||
|
||||
MOCK_METHOD(void, doWriteLedgerObject, (std::string&&, std::uint32_t const, std::string&&), (override));
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
|
||||
#include <chrono>
|
||||
|
||||
class MockReportingETL
|
||||
class MockETLService
|
||||
{
|
||||
public:
|
||||
MockReportingETL()
|
||||
MockETLService()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <etl/ETLSource.h>
|
||||
#include <etl/Source.h>
|
||||
|
||||
#include <boost/asio/spawn.hpp>
|
||||
#include <boost/json.hpp>
|
||||
@@ -30,10 +30,10 @@
|
||||
|
||||
#include <optional>
|
||||
|
||||
class MockETLLoadBalancer
|
||||
class MockLoadBalancer
|
||||
{
|
||||
public:
|
||||
MockETLLoadBalancer()
|
||||
MockLoadBalancer()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ public:
|
||||
|
||||
MOCK_METHOD(std::optional<org::xrpl::rpc::v1::GetLedgerResponse>, fetchLedger, (uint32_t, bool, bool), ());
|
||||
|
||||
MOCK_METHOD(bool, shouldPropagateTxnStream, (ETLSource*), (const));
|
||||
MOCK_METHOD(bool, shouldPropagateTxnStream, (Source*), (const));
|
||||
|
||||
MOCK_METHOD(boost::json::value, toJson, (), (const));
|
||||
|
||||
Reference in New Issue
Block a user