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 SuitethisSuite ()
 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::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::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 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::ValuegetBadValues (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 148 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 151 of file LedgerEntry_test.cpp.

◆ getBadValues()

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

Definition at line 184 of file LedgerEntry_test.cpp.

◆ getCorrectValue()

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

Definition at line 278 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::source_location const location = std::source_location::current() )
private

Definition at line 323 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 370 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 417 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::source_location const location = std::source_location::current() )
private

Definition at line 440 of file LedgerEntry_test.cpp.

◆ testInvalid()

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

Definition at line 478 of file LedgerEntry_test.cpp.

◆ testAccountRoot()

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

Definition at line 554 of file LedgerEntry_test.cpp.

◆ testAmendments()

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

Definition at line 656 of file LedgerEntry_test.cpp.

◆ testAMM()

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

Definition at line 734 of file LedgerEntry_test.cpp.

◆ testCheck()

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

Definition at line 802 of file LedgerEntry_test.cpp.

◆ testCredentials()

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

Definition at line 852 of file LedgerEntry_test.cpp.

◆ testDelegate()

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

Definition at line 913 of file LedgerEntry_test.cpp.

◆ testDepositPreauth()

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

Definition at line 966 of file LedgerEntry_test.cpp.

◆ testDepositPreauthCred()

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

Definition at line 1025 of file LedgerEntry_test.cpp.

◆ testDirectory()

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

Definition at line 1267 of file LedgerEntry_test.cpp.

◆ testEscrow()

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

Definition at line 1413 of file LedgerEntry_test.cpp.

◆ testFeeSettings()

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

Definition at line 1473 of file LedgerEntry_test.cpp.

◆ testLedgerHashes()

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

Definition at line 1495 of file LedgerEntry_test.cpp.

◆ testNFTokenOffer()

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

Definition at line 1517 of file LedgerEntry_test.cpp.

◆ testNFTokenPage()

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

Definition at line 1553 of file LedgerEntry_test.cpp.

◆ testNegativeUNL()

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

Definition at line 1582 of file LedgerEntry_test.cpp.

◆ testOffer()

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

Definition at line 1636 of file LedgerEntry_test.cpp.

◆ testPayChan()

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

Definition at line 1684 of file LedgerEntry_test.cpp.

◆ testRippleState()

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

Definition at line 1746 of file LedgerEntry_test.cpp.

◆ testSignerList()

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

Definition at line 1885 of file LedgerEntry_test.cpp.

◆ testSponsorship()

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

Definition at line 1894 of file LedgerEntry_test.cpp.

◆ testTicket()

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

Definition at line 1947 of file LedgerEntry_test.cpp.

◆ testDID()

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

Definition at line 2031 of file LedgerEntry_test.cpp.

◆ testInvalidOracleLedgerEntry()

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

Definition at line 2085 of file LedgerEntry_test.cpp.

◆ testOracleLedgerEntry()

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

Definition at line 2111 of file LedgerEntry_test.cpp.

◆ testMPT()

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

Definition at line 2155 of file LedgerEntry_test.cpp.

◆ testPermissionedDomain()

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

Definition at line 2227 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 2302 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 2497 of file LedgerEntry_test.cpp.

◆ testCLI()

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

Definition at line 2703 of file LedgerEntry_test.cpp.

◆ run()

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

Runs the suite.

Implements beast::unit_test::Suite.

Definition at line 2726 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.