xrpld
Loading...
Searching...
No Matches
xrpl::test::LedgerEntry_test Class Reference
Inheritance diagram for xrpl::test::LedgerEntry_test:
Collaboration diagram for xrpl::test::LedgerEntry_test:

Classes

struct  Subfield

Public Member Functions

void run () override
 Runs the suite.
template<class = void>
void operator() (Runner &r)
 Invokes the test using the specified runner.
template<class = void>
void pass ()
 Record a successful test condition.
template<class F, class String>
bool except (F &&f, String const &reason)
template<class F>
bool except (F &&f)
template<class E, class F, class String>
bool except (F &&f, String const &reason)
template<class E, class F>
bool except (F &&f)
template<class F, class String>
bool unexcept (F &&f, String const &reason)
template<class F>
bool unexcept (F &&f)
std::string const & arg () const
 Return the argument associated with the runner.
template<class Condition, class String>
bool unexpected (Condition shouldBeFalse, String const &reason)
 DEPRECATED.
template<class Condition>
bool unexpected (Condition shouldBeFalse)
template<class String>
void fail (String const &reason, char const *file, int line)
 Record a failure.
template<class = void>
void fail (std::string const &reason="")
template<class Condition>
bool expect (Condition const &shouldBeTrue)
 Evaluate a test condition.
template<class Condition, class String>
bool expect (Condition const &shouldBeTrue, String const &reason)
template<class Condition>
bool expect (Condition const &shouldBeTrue, char const *file, int line)
template<class Condition, class String>
bool expect (Condition const &shouldBeTrue, String const &reason, char const *file, int line)

Static Public Member Functions

static Suite * thisSuite ()
 Returns the "current" running suite.

Public Attributes

LogOs< char > log
 Logging output stream.
TestcaseT testcase
 Memberspace for declaring test cases.

Protected Member Functions

Runner & runner () const
 Lets a suite compose other suites (e.g.

Private Member Functions

void checkErrorValue (json::Value const &jv, std::string const &err, std::string const &msg, std::source_location const location=std::source_location::current())
void testMalformedField (test::jtx::Env &env, json::Value correctRequest, json::StaticString const fieldName, FieldType const typeID, std::string const &expectedError, bool required=true, std::optional< std::string > typeNameOverride=std::nullopt, std::source_location const location=std::source_location::current())
void testMalformedSubfield (test::jtx::Env &env, json::Value correctRequest, json::StaticString parentFieldName, json::StaticString fieldName, FieldType typeID, std::string const &expectedError, bool required=true, std::source_location const location=std::source_location::current())
void runLedgerEntryTest (test::jtx::Env &env, json::StaticString const &parentField, std::source_location const location=std::source_location::current())
void runLedgerEntryTest (test::jtx::Env &env, json::StaticString const &parentField, std::vector< Subfield > const &subfields, std::optional< std::string > parentTypeNameOverride=std::nullopt, std::source_location const location=std::source_location::current())
void testInvalid ()
void testAccountRoot ()
void testAmendments ()
void testAMM ()
void testCheck ()
void testCredentials ()
void testDelegate ()
void testDepositPreauth ()
void testDepositPreauthCred ()
void testDirectory ()
void testEscrow ()
void testFeeSettings ()
void testLedgerHashes ()
void testNFTokenOffer ()
void testNFTokenPage ()
void testNegativeUNL ()
void testOffer ()
void testPayChan ()
void testRippleState ()
void testSignerList ()
void testSponsorship ()
void testTicket ()
void testTransactionProposal ()
void testDID ()
void testInvalidOracleLedgerEntry ()
void testOracleLedgerEntry ()
void testMPT ()
void testPermissionedDomain ()
void testFixed ()
 Test the ledger entry types that don't take parameters.
void testHashes ()
void testCLI ()
void propagateAbort () const

Static Private Member Functions

static std::vector< json::Value > getBadValues (FieldType fieldType)
static json::Value getCorrectValue (json::StaticString fieldName)
static Suite ** pThisSuite ()

Private Attributes

bool abort_ = false
bool aborted_ = false
Runner * runner_ = nullptr

Detailed Description

Definition at line 150 of file LedgerEntry_test.cpp.

Member Function Documentation

◆ checkErrorValue()

void xrpl::test::LedgerEntry_test::checkErrorValue ( json::Value const & jv,
std::string const & err,
std::string const & msg,
std::source_location const location = std::source_location::current() )
private

Definition at line 153 of file LedgerEntry_test.cpp.

◆ getBadValues()

std::vector< json::Value > xrpl::test::LedgerEntry_test::getBadValues ( FieldType fieldType)
staticprivate

Definition at line 186 of file LedgerEntry_test.cpp.

◆ getCorrectValue()

json::Value xrpl::test::LedgerEntry_test::getCorrectValue ( json::StaticString fieldName)
staticprivate

Definition at line 280 of file LedgerEntry_test.cpp.

◆ testMalformedField()

void xrpl::test::LedgerEntry_test::testMalformedField ( test::jtx::Env & env,
json::Value correctRequest,
json::StaticString const fieldName,
FieldType const typeID,
std::string const & expectedError,
bool required = true,
std::optional< std::string > typeNameOverride = std::nullopt,
std::source_location const location = std::source_location::current() )
private

Definition at line 325 of file LedgerEntry_test.cpp.

◆ testMalformedSubfield()

void xrpl::test::LedgerEntry_test::testMalformedSubfield ( test::jtx::Env & env,
json::Value correctRequest,
json::StaticString parentFieldName,
json::StaticString fieldName,
FieldType typeID,
std::string const & expectedError,
bool required = true,
std::source_location const location = std::source_location::current() )
private

Definition at line 373 of file LedgerEntry_test.cpp.

◆ runLedgerEntryTest() [1/2]

void xrpl::test::LedgerEntry_test::runLedgerEntryTest ( test::jtx::Env & env,
json::StaticString const & parentField,
std::source_location const location = std::source_location::current() )
private

Definition at line 420 of file LedgerEntry_test.cpp.

◆ runLedgerEntryTest() [2/2]

void xrpl::test::LedgerEntry_test::runLedgerEntryTest ( test::jtx::Env & env,
json::StaticString const & parentField,
std::vector< Subfield > const & subfields,
std::optional< std::string > parentTypeNameOverride = std::nullopt,
std::source_location const location = std::source_location::current() )
private

Definition at line 444 of file LedgerEntry_test.cpp.

◆ testInvalid()

void xrpl::test::LedgerEntry_test::testInvalid ( )
private

Definition at line 484 of file LedgerEntry_test.cpp.

◆ testAccountRoot()

void xrpl::test::LedgerEntry_test::testAccountRoot ( )
private

Definition at line 560 of file LedgerEntry_test.cpp.

◆ testAmendments()

void xrpl::test::LedgerEntry_test::testAmendments ( )
private

Definition at line 662 of file LedgerEntry_test.cpp.

◆ testAMM()

void xrpl::test::LedgerEntry_test::testAMM ( )
private

Definition at line 740 of file LedgerEntry_test.cpp.

◆ testCheck()

void xrpl::test::LedgerEntry_test::testCheck ( )
private

Definition at line 808 of file LedgerEntry_test.cpp.

◆ testCredentials()

void xrpl::test::LedgerEntry_test::testCredentials ( )
private

Definition at line 889 of file LedgerEntry_test.cpp.

◆ testDelegate()

void xrpl::test::LedgerEntry_test::testDelegate ( )
private

Definition at line 950 of file LedgerEntry_test.cpp.

◆ testDepositPreauth()

void xrpl::test::LedgerEntry_test::testDepositPreauth ( )
private

Definition at line 1003 of file LedgerEntry_test.cpp.

◆ testDepositPreauthCred()

void xrpl::test::LedgerEntry_test::testDepositPreauthCred ( )
private

Definition at line 1062 of file LedgerEntry_test.cpp.

◆ testDirectory()

void xrpl::test::LedgerEntry_test::testDirectory ( )
private

Definition at line 1304 of file LedgerEntry_test.cpp.

◆ testEscrow()

void xrpl::test::LedgerEntry_test::testEscrow ( )
private

Definition at line 1450 of file LedgerEntry_test.cpp.

◆ testFeeSettings()

void xrpl::test::LedgerEntry_test::testFeeSettings ( )
private

Definition at line 1510 of file LedgerEntry_test.cpp.

◆ testLedgerHashes()

void xrpl::test::LedgerEntry_test::testLedgerHashes ( )
private

Definition at line 1532 of file LedgerEntry_test.cpp.

◆ testNFTokenOffer()

void xrpl::test::LedgerEntry_test::testNFTokenOffer ( )
private

Definition at line 1554 of file LedgerEntry_test.cpp.

◆ testNFTokenPage()

void xrpl::test::LedgerEntry_test::testNFTokenPage ( )
private

Definition at line 1620 of file LedgerEntry_test.cpp.

◆ testNegativeUNL()

void xrpl::test::LedgerEntry_test::testNegativeUNL ( )
private

Definition at line 1649 of file LedgerEntry_test.cpp.

◆ testOffer()

void xrpl::test::LedgerEntry_test::testOffer ( )
private

Definition at line 1703 of file LedgerEntry_test.cpp.

◆ testPayChan()

void xrpl::test::LedgerEntry_test::testPayChan ( )
private

Definition at line 1751 of file LedgerEntry_test.cpp.

◆ testRippleState()

void xrpl::test::LedgerEntry_test::testRippleState ( )
private

Definition at line 1848 of file LedgerEntry_test.cpp.

◆ testSignerList()

void xrpl::test::LedgerEntry_test::testSignerList ( )
private

Definition at line 1987 of file LedgerEntry_test.cpp.

◆ testSponsorship()

void xrpl::test::LedgerEntry_test::testSponsorship ( )
private

Definition at line 2059 of file LedgerEntry_test.cpp.

◆ testTicket()

void xrpl::test::LedgerEntry_test::testTicket ( )
private

Definition at line 2112 of file LedgerEntry_test.cpp.

◆ testTransactionProposal()

void xrpl::test::LedgerEntry_test::testTransactionProposal ( )
private

Definition at line 2196 of file LedgerEntry_test.cpp.

◆ testDID()

void xrpl::test::LedgerEntry_test::testDID ( )
private

Definition at line 2277 of file LedgerEntry_test.cpp.

◆ testInvalidOracleLedgerEntry()

void xrpl::test::LedgerEntry_test::testInvalidOracleLedgerEntry ( )
private

Definition at line 2331 of file LedgerEntry_test.cpp.

◆ testOracleLedgerEntry()

void xrpl::test::LedgerEntry_test::testOracleLedgerEntry ( )
private

Definition at line 2357 of file LedgerEntry_test.cpp.

◆ testMPT()

void xrpl::test::LedgerEntry_test::testMPT ( )
private

Definition at line 2401 of file LedgerEntry_test.cpp.

◆ testPermissionedDomain()

void xrpl::test::LedgerEntry_test::testPermissionedDomain ( )
private

Definition at line 2473 of file LedgerEntry_test.cpp.

◆ testFixed()

void xrpl::test::LedgerEntry_test::testFixed ( )
private

Test the ledger entry types that don't take parameters.

Verifies that the RPC result has the expected data

Parameters
goodIndicates that the request should have succeeded and returned a ledger object of expectedType type.
jvThe RPC result Json value
expectedTypeThe type that the ledger object should have if "good".
expectedErrorOptional. The expected error if not good. Defaults to "entryNotFound".

Runs a series of tests for a given fixed-position ledger entry.

Parameters
fieldThe Json request field to use.
expectedTypeThe type that the ledger object should have if "good".
expectedKeyThe keylet of the fixed object.
goodIndicates whether the object is expected to exist.

Definition at line 2548 of file LedgerEntry_test.cpp.

◆ testHashes()

void xrpl::test::LedgerEntry_test::testHashes ( )
private

Verifies that the RPC result has the expected data

Parameters
goodIndicates that the request should have succeeded and returned a ledger object of expectedType type.
jvThe RPC result Json value
expectedCountThe number of Hashes expected in the object if "good".
expectedErrorOptional. The expected error if not good. Defaults to "entryNotFound".

Runs a series of tests for a given ledger index.

Parameters
ledgerThe ledger index value of the "hashes" request parameter. May not necessarily be a number.
expectedKeyThe expected keylet of the object.
goodIndicates whether the object is expected to exist.
expectedCountThe number of Hashes expected in the object if "good".

Definition at line 2743 of file LedgerEntry_test.cpp.

◆ testCLI()

void xrpl::test::LedgerEntry_test::testCLI ( )
private

Definition at line 2949 of file LedgerEntry_test.cpp.

◆ run()

void xrpl::test::LedgerEntry_test::run ( )
overridevirtual

Runs the suite.

Implements beast::unit_test::Suite.

Definition at line 2972 of file LedgerEntry_test.cpp.

◆ thisSuite()

Suite * beast::unit_test::Suite::thisSuite ( )
staticinherited

Returns the "current" running suite.

If no suite is running, nullptr is returned.

Definition at line 162 of file suite.h.

◆ operator()()

template<class>
void beast::unit_test::Suite::operator() ( Runner & r)
inherited

Invokes the test using the specified runner.

Data members are set up here instead of the constructor as a convenience to writing the derived class to avoid repetition of forwarded constructor arguments to the base. Normally this is called by the framework for you.

Definition at line 420 of file suite.h.

◆ pass()

template<class>
void beast::unit_test::Suite::pass ( )
inherited

Record a successful test condition.

Definition at line 532 of file suite.h.

◆ fail() [1/2]

template<class String>
void beast::unit_test::Suite::fail ( String const & reason,
char const * file,
int line )
inherited

Record a failure.

Parameters
reasonOptional text added to the output on a failure.
fileThe source code file where the test failed.
lineThe source code line number where the test failed.

Definition at line 554 of file suite.h.

◆ fail() [2/2]

template<class>
void beast::unit_test::Suite::fail ( std::string const & reason = "")
inherited

Definition at line 541 of file suite.h.

◆ expect() [1/4]

template<class Condition>
bool beast::unit_test::Suite::expect ( Condition const & shouldBeTrue)
inherited

Evaluate a test condition.

This function provides improved logging by incorporating the file name and line number into the reported output on failure, as well as additional text specified by the caller.

Parameters
shouldBeTrueThe condition to test. The condition is evaluated in a boolean context.
reasonOptional added text to output on a failure.
fileThe source code file where the test failed.
lineThe source code line number where the test failed.
Returns
true if the test condition indicates success.

Definition at line 235 of file suite.h.

◆ expect() [2/4]

template<class Condition, class String>
bool beast::unit_test::Suite::expect ( Condition const & shouldBeTrue,
String const & reason )
inherited

Definition at line 437 of file suite.h.

◆ expect() [3/4]

template<class Condition>
bool beast::unit_test::Suite::expect ( Condition const & shouldBeTrue,
char const * file,
int line )
inherited

Definition at line 246 of file suite.h.

◆ expect() [4/4]

template<class Condition, class String>
bool beast::unit_test::Suite::expect ( Condition const & shouldBeTrue,
String const & reason,
char const * file,
int line )
inherited

Definition at line 450 of file suite.h.

◆ except() [1/4]

template<class F, class String>
bool beast::unit_test::Suite::except ( F && f,
String const & reason )
inherited

Definition at line 465 of file suite.h.

◆ except() [2/4]

template<class F>
bool beast::unit_test::Suite::except ( F && f)
inherited

Definition at line 265 of file suite.h.

◆ except() [3/4]

template<class E, class F, class String>
bool beast::unit_test::Suite::except ( F && f,
String const & reason )
inherited

Definition at line 482 of file suite.h.

◆ except() [4/4]

template<class E, class F>
bool beast::unit_test::Suite::except ( F && f)
inherited

Definition at line 274 of file suite.h.

◆ unexcept() [1/2]

template<class F, class String>
bool beast::unit_test::Suite::unexcept ( F && f,
String const & reason )
inherited

Definition at line 499 of file suite.h.

◆ unexcept() [2/2]

template<class F>
bool beast::unit_test::Suite::unexcept ( F && f)
inherited

Definition at line 283 of file suite.h.

◆ arg()

std::string const & beast::unit_test::Suite::arg ( ) const
inherited

Return the argument associated with the runner.

Definition at line 292 of file suite.h.

◆ runner()

Runner & beast::unit_test::Suite::runner ( ) const
protectedinherited

Lets a suite compose other suites (e.g.

an aggregator that reruns a group of related suites under its own name) via SuiteInfo::run.

Returns
The runner this suite is executing under.

Definition at line 305 of file suite.h.

◆ unexpected() [1/2]

template<class Condition, class String>
bool beast::unit_test::Suite::unexpected ( Condition shouldBeFalse,
String const & reason )
inherited

DEPRECATED.

Returns
true if the test condition indicates success(a false value)

Definition at line 516 of file suite.h.

◆ unexpected() [2/2]

template<class Condition>
bool beast::unit_test::Suite::unexpected ( Condition shouldBeFalse)
inherited

Definition at line 321 of file suite.h.

◆ pThisSuite()

Suite ** beast::unit_test::Suite::pThisSuite ( )
staticprivateinherited

Definition at line 330 of file suite.h.

◆ propagateAbort()

void beast::unit_test::Suite::propagateAbort ( ) const
privateinherited

Definition at line 560 of file suite.h.

Member Data Documentation

◆ abort_

bool beast::unit_test::Suite::abort_ = false
privateinherited

Definition at line 54 of file suite.h.

◆ aborted_

bool beast::unit_test::Suite::aborted_ = false
privateinherited

Definition at line 55 of file suite.h.

◆ runner_

Runner* beast::unit_test::Suite::runner_ = nullptr
privateinherited

Definition at line 56 of file suite.h.

◆ log

LogOs<char> beast::unit_test::Suite::log
inherited

Logging output stream.

Text sent to the log output stream will be forwarded to the output stream associated with the runner.

Definition at line 150 of file suite.h.

◆ testcase

TestcaseT beast::unit_test::Suite::testcase
inherited

Memberspace for declaring test cases.

Definition at line 155 of file suite.h.