rippled
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
ripple::test::ServerStatus_test Class Reference
Inheritance diagram for ripple::test::ServerStatus_test:
Inheritance graph
[legend]
Collaboration diagram for ripple::test::ServerStatus_test:
Collaboration graph
[legend]

Classes

class  myFields
 

Public Types

using yield_context = boost::asio::yield_context
 The type of yield context passed to functions.
 

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)
 
boost::asio::io_context & get_io_context ()
 Return the io_context associated with the object.
 
template<class F0 , class... FN>
void yield_to (F0 &&f0, FN &&... fn)
 Run one or more functions, each in a coroutine.
 
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 suitethis_suite ()
 Returns the "current" running suite.
 

Public Attributes

log_os< char > log
 Logging output stream.
 
testcase_t testcase
 Memberspace for declaring test cases.
 

Protected Attributes

boost::asio::io_context ios_
 

Private Member Functions

auto makeConfig (std::string const &proto, bool admin=true, bool credentials=false)
 
auto makeWSUpgrade (std::string const &host, uint16_t port)
 
auto makeHTTPRequest (std::string const &host, uint16_t port, std::string const &body, myFields const &fields)
 
void doRequest (boost::asio::yield_context &yield, boost::beast::http::request< boost::beast::http::string_body > &&req, std::string const &host, uint16_t port, bool secure, boost::beast::http::response< boost::beast::http::string_body > &resp, boost::system::error_code &ec)
 
void doWSRequest (test::jtx::Env &env, boost::asio::yield_context &yield, bool secure, boost::beast::http::response< boost::beast::http::string_body > &resp, boost::system::error_code &ec)
 
void doHTTPRequest (test::jtx::Env &env, boost::asio::yield_context &yield, bool secure, boost::beast::http::response< boost::beast::http::string_body > &resp, boost::system::error_code &ec, std::string const &body="", myFields const &fields={})
 
auto makeAdminRequest (jtx::Env &env, std::string const &proto, std::string const &user, std::string const &password, bool subobject=false)
 
void testAdminRequest (std::string const &proto, bool admin, bool credentials)
 
void testWSClientToHttpServer (boost::asio::yield_context &yield)
 
void testStatusRequest (boost::asio::yield_context &yield)
 
void testTruncatedWSUpgrade (boost::asio::yield_context &yield)
 
void testCantConnect (std::string const &client_protocol, std::string const &server_protocol, boost::asio::yield_context &yield)
 
void testAuth (bool secure, boost::asio::yield_context &yield)
 
void testLimit (boost::asio::yield_context &yield, int limit)
 
void testWSHandoff (boost::asio::yield_context &yield)
 
void testNoRPC (boost::asio::yield_context &yield)
 
void testWSRequests (boost::asio::yield_context &yield)
 
void testAmendmentWarning (boost::asio::yield_context &yield)
 
void testAmendmentBlock (boost::asio::yield_context &yield)
 
void testRPCRequests (boost::asio::yield_context &yield)
 
void testStatusNotOkay (boost::asio::yield_context &yield)
 
void propagate_abort ()
 
void spawn ()
 
template<class F0 , class... FN>
void spawn (F0 &&f, FN &&... fn)
 

Static Private Member Functions

static suite ** p_this_suite ()
 

Private Attributes

bool abort_ = false
 
bool aborted_ = false
 
runner * runner_ = nullptr
 
boost::optional< boost::asio::executor_work_guard< boost::asio::io_context::executor_type > > work_
 
std::vector< std::threadthreads_
 
std::mutex m_
 
std::condition_variable cv_
 
std::size_t running_ = 0
 

Detailed Description

Definition at line 30 of file ServerStatus_test.cpp.

Member Typedef Documentation

◆ yield_context

using beast::test::enable_yield_to::yield_context = boost::asio::yield_context
inherited

The type of yield context passed to functions.

Definition at line 44 of file yield_to.h.

Member Function Documentation

◆ makeConfig()

auto ripple::test::ServerStatus_test::makeConfig ( std::string const &  proto,
bool  admin = true,
bool  credentials = false 
)
private

Definition at line 38 of file ServerStatus_test.cpp.

◆ makeWSUpgrade()

auto ripple::test::ServerStatus_test::makeWSUpgrade ( std::string const &  host,
uint16_t  port 
)
private

Definition at line 78 of file ServerStatus_test.cpp.

◆ makeHTTPRequest()

auto ripple::test::ServerStatus_test::makeHTTPRequest ( std::string const &  host,
uint16_t  port,
std::string const &  body,
myFields const &  fields 
)
private

Definition at line 107 of file ServerStatus_test.cpp.

◆ doRequest()

void ripple::test::ServerStatus_test::doRequest ( boost::asio::yield_context &  yield,
boost::beast::http::request< boost::beast::http::string_body > &&  req,
std::string const &  host,
uint16_t  port,
bool  secure,
boost::beast::http::response< boost::beast::http::string_body > &  resp,
boost::system::error_code &  ec 
)
private

Definition at line 139 of file ServerStatus_test.cpp.

◆ doWSRequest()

void ripple::test::ServerStatus_test::doWSRequest ( test::jtx::Env env,
boost::asio::yield_context &  yield,
bool  secure,
boost::beast::http::response< boost::beast::http::string_body > &  resp,
boost::system::error_code &  ec 
)
private

Definition at line 195 of file ServerStatus_test.cpp.

◆ doHTTPRequest()

void ripple::test::ServerStatus_test::doHTTPRequest ( test::jtx::Env env,
boost::asio::yield_context &  yield,
bool  secure,
boost::beast::http::response< boost::beast::http::string_body > &  resp,
boost::system::error_code &  ec,
std::string const &  body = "",
myFields const &  fields = {} 
)
private

Definition at line 211 of file ServerStatus_test.cpp.

◆ makeAdminRequest()

auto ripple::test::ServerStatus_test::makeAdminRequest ( jtx::Env env,
std::string const &  proto,
std::string const &  user,
std::string const &  password,
bool  subobject = false 
)
private

Definition at line 235 of file ServerStatus_test.cpp.

◆ testAdminRequest()

void ripple::test::ServerStatus_test::testAdminRequest ( std::string const &  proto,
bool  admin,
bool  credentials 
)
private

Definition at line 280 of file ServerStatus_test.cpp.

◆ testWSClientToHttpServer()

void ripple::test::ServerStatus_test::testWSClientToHttpServer ( boost::asio::yield_context &  yield)
private

Definition at line 372 of file ServerStatus_test.cpp.

◆ testStatusRequest()

void ripple::test::ServerStatus_test::testStatusRequest ( boost::asio::yield_context &  yield)
private

Definition at line 405 of file ServerStatus_test.cpp.

◆ testTruncatedWSUpgrade()

void ripple::test::ServerStatus_test::testTruncatedWSUpgrade ( boost::asio::yield_context &  yield)
private

Definition at line 437 of file ServerStatus_test.cpp.

◆ testCantConnect()

void ripple::test::ServerStatus_test::testCantConnect ( std::string const &  client_protocol,
std::string const &  server_protocol,
boost::asio::yield_context &  yield 
)
private

Definition at line 482 of file ServerStatus_test.cpp.

◆ testAuth()

void ripple::test::ServerStatus_test::testAuth ( bool  secure,
boost::asio::yield_context &  yield 
)
private

Definition at line 515 of file ServerStatus_test.cpp.

◆ testLimit()

void ripple::test::ServerStatus_test::testLimit ( boost::asio::yield_context &  yield,
int  limit 
)
private

Definition at line 575 of file ServerStatus_test.cpp.

◆ testWSHandoff()

void ripple::test::ServerStatus_test::testWSHandoff ( boost::asio::yield_context &  yield)
private

Definition at line 639 of file ServerStatus_test.cpp.

◆ testNoRPC()

void ripple::test::ServerStatus_test::testNoRPC ( boost::asio::yield_context &  yield)
private

Definition at line 667 of file ServerStatus_test.cpp.

◆ testWSRequests()

void ripple::test::ServerStatus_test::testWSRequests ( boost::asio::yield_context &  yield)
private

Definition at line 695 of file ServerStatus_test.cpp.

◆ testAmendmentWarning()

void ripple::test::ServerStatus_test::testAmendmentWarning ( boost::asio::yield_context &  yield)
private

Definition at line 780 of file ServerStatus_test.cpp.

◆ testAmendmentBlock()

void ripple::test::ServerStatus_test::testAmendmentBlock ( boost::asio::yield_context &  yield)
private

Definition at line 911 of file ServerStatus_test.cpp.

◆ testRPCRequests()

void ripple::test::ServerStatus_test::testRPCRequests ( boost::asio::yield_context &  yield)
private

Definition at line 1046 of file ServerStatus_test.cpp.

◆ testStatusNotOkay()

void ripple::test::ServerStatus_test::testStatusNotOkay ( boost::asio::yield_context &  yield)
private

Definition at line 1167 of file ServerStatus_test.cpp.

◆ run()

void ripple::test::ServerStatus_test::run ( )
overridevirtual

Runs the suite.

Implements beast::unit_test::suite.

Definition at line 1191 of file ServerStatus_test.cpp.

◆ this_suite()

static suite * beast::unit_test::suite::this_suite ( )
staticinherited

Returns the "current" running suite.

If no suite is running, nullptr is returned.

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

◆ pass()

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

Record a successful test condition.

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

◆ fail() [2/2]

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

Definition at line 517 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 226 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 413 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 237 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 426 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 445 of file suite.h.

◆ except() [2/4]

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

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

◆ except() [4/4]

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

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

◆ unexcept() [2/2]

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

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

◆ unexpected() [2/2]

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

Definition at line 298 of file suite.h.

◆ p_this_suite()

static suite ** beast::unit_test::suite::p_this_suite ( )
staticprivateinherited

Definition at line 307 of file suite.h.

◆ propagate_abort()

void beast::unit_test::suite::propagate_abort ( )
privateinherited

Definition at line 536 of file suite.h.

◆ get_io_context()

boost::asio::io_context & beast::test::enable_yield_to::get_io_context ( )
inherited

Return the io_context associated with the object.

Definition at line 63 of file yield_to.h.

◆ yield_to()

template<class F0 , class... FN>
void beast::test::enable_yield_to::yield_to ( F0 &&  f0,
FN &&...  fn 
)
inherited

Run one or more functions, each in a coroutine.

This call will block until all coroutines terminate.

Each functions should have this signature:

void f(yield_context);
boost::asio::yield_context yield_context
The type of yield context passed to functions.
Definition yield_to.h:44
Parameters
fn...One or more functions to invoke.

Definition at line 102 of file yield_to.h.

◆ spawn() [1/2]

void beast::test::enable_yield_to::spawn ( )
privateinherited

Definition at line 91 of file yield_to.h.

◆ spawn() [2/2]

template<class F0 , class... FN>
void beast::test::enable_yield_to::spawn ( F0 &&  f,
FN &&...  fn 
)
privateinherited

Definition at line 112 of file yield_to.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

log_os<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 149 of file suite.h.

◆ testcase

testcase_t beast::unit_test::suite::testcase
inherited

Memberspace for declaring test cases.

Definition at line 152 of file suite.h.

◆ ios_

boost::asio::io_context beast::test::enable_yield_to::ios_
protectedinherited

Definition at line 31 of file yield_to.h.

◆ work_

boost::optional<boost::asio::executor_work_guard< boost::asio::io_context::executor_type> > beast::test::enable_yield_to::work_
privateinherited

Definition at line 36 of file yield_to.h.

◆ threads_

std::vector<std::thread> beast::test::enable_yield_to::threads_
privateinherited

Definition at line 37 of file yield_to.h.

◆ m_

std::mutex beast::test::enable_yield_to::m_
privateinherited

Definition at line 38 of file yield_to.h.

◆ cv_

std::condition_variable beast::test::enable_yield_to::cv_
privateinherited

Definition at line 39 of file yield_to.h.

◆ running_

std::size_t beast::test::enable_yield_to::running_ = 0
privateinherited

Definition at line 40 of file yield_to.h.