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)
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.

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 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 144 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 147 of file LedgerEntry_test.cpp.

◆ getBadValues()

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

Definition at line 180 of file LedgerEntry_test.cpp.

◆ getCorrectValue()

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

Definition at line 274 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 319 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 366 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 413 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 436 of file LedgerEntry_test.cpp.

◆ testInvalid()

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

Definition at line 474 of file LedgerEntry_test.cpp.

◆ testAccountRoot()

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

Definition at line 550 of file LedgerEntry_test.cpp.

◆ testAmendments()

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

Definition at line 652 of file LedgerEntry_test.cpp.

◆ testAMM()

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

Definition at line 730 of file LedgerEntry_test.cpp.

◆ testCheck()

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

Definition at line 798 of file LedgerEntry_test.cpp.

◆ testCredentials()

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

Definition at line 848 of file LedgerEntry_test.cpp.

◆ testDelegate()

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

Definition at line 909 of file LedgerEntry_test.cpp.

◆ testDepositPreauth()

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

Definition at line 962 of file LedgerEntry_test.cpp.

◆ testDepositPreauthCred()

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

Definition at line 1021 of file LedgerEntry_test.cpp.

◆ testDirectory()

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

Definition at line 1263 of file LedgerEntry_test.cpp.

◆ testEscrow()

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

Definition at line 1409 of file LedgerEntry_test.cpp.

◆ testFeeSettings()

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

Definition at line 1469 of file LedgerEntry_test.cpp.

◆ testLedgerHashes()

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

Definition at line 1491 of file LedgerEntry_test.cpp.

◆ testNFTokenOffer()

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

Definition at line 1513 of file LedgerEntry_test.cpp.

◆ testNFTokenPage()

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

Definition at line 1548 of file LedgerEntry_test.cpp.

◆ testNegativeUNL()

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

Definition at line 1577 of file LedgerEntry_test.cpp.

◆ testOffer()

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

Definition at line 1631 of file LedgerEntry_test.cpp.

◆ testPayChan()

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

Definition at line 1679 of file LedgerEntry_test.cpp.

◆ testRippleState()

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

Definition at line 1740 of file LedgerEntry_test.cpp.

◆ testSignerList()

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

Definition at line 1879 of file LedgerEntry_test.cpp.

◆ testTicket()

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

Definition at line 1888 of file LedgerEntry_test.cpp.

◆ testDID()

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

Definition at line 1969 of file LedgerEntry_test.cpp.

◆ testInvalidOracleLedgerEntry()

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

Definition at line 2023 of file LedgerEntry_test.cpp.

◆ testOracleLedgerEntry()

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

Definition at line 2049 of file LedgerEntry_test.cpp.

◆ testMPT()

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

Definition at line 2093 of file LedgerEntry_test.cpp.

◆ testPermissionedDomain()

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

Definition at line 2165 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 2237 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 2430 of file LedgerEntry_test.cpp.

◆ testCLI()

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

Definition at line 2634 of file LedgerEntry_test.cpp.

◆ run()

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

Runs the suite.

Implements beast::unit_test::Suite.

Definition at line 2657 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 155 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 388 of file suite.h.

◆ pass()

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

Record a successful test condition.

Definition at line 500 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 522 of file suite.h.

◆ fail() [2/2]

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

Definition at line 509 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 223 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 405 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 234 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 418 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 433 of file suite.h.

◆ except() [2/4]

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

Definition at line 253 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 450 of file suite.h.

◆ except() [4/4]

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

Definition at line 262 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 467 of file suite.h.

◆ unexcept() [2/2]

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

Definition at line 271 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 278 of file suite.h.

◆ unexpected() [1/2]

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

Definition at line 484 of file suite.h.

◆ unexpected() [2/2]

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

Definition at line 291 of file suite.h.

◆ pThisSuite()

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

Definition at line 300 of file suite.h.

◆ propagateAbort()

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

Definition at line 528 of file suite.h.

Member Data Documentation

◆ abort_

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

Definition at line 52 of file suite.h.

◆ aborted_

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

Definition at line 53 of file suite.h.

◆ runner_

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

Definition at line 54 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 146 of file suite.h.

◆ testcase

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

Memberspace for declaring test cases.

Definition at line 149 of file suite.h.