19#include <test/jtx/JSONRPCClient.h>
20#include <test/jtx/WSClient.h>
22#include <xrpld/core/ConfigSections.h>
24#include <xrpl/beast/unit_test.h>
25#include <xrpl/protocol/jss.h>
36 testcase <<
"Overload " << (useWS ?
"WS" :
"HTTP") <<
" RPC client";
39 cfg->loadFromString(
"[" SECTION_SIGNING_SUPPORT
"]\ntrue");
45 env.fund(
XRP(10000), alice, bob);
52 tx[jss::tx_json] =
pay(alice, bob,
XRP(1));
58 bool warned =
false, booted =
false;
59 for (
int i = 0; i < 500 && !booted; ++i)
61 auto jv = client->invoke(
"sign", tx);
67 else if (!(jv.isMember(jss::status) &&
68 (jv[jss::status] ==
"success")))
73 fail(
"", __FILE__, __LINE__);
76 if (jv.isMember(jss::warning))
77 warned = jv[jss::warning] == jss::load;
79 BEAST_EXPECT(warned && booted);
90BEAST_DEFINE_TESTSUITE(RPCOverload, app,
ripple);
testcase_t testcase
Memberspace for declaring test cases.
void fail(String const &reason, char const *file, int line)
Record a failure.
void testOverload(bool useWS)
void run() override
Runs the suite.
Immutable cryptographic account descriptor.
A transaction testing environment.
@ objectValue
object value (collection of name/value pairs).
std::unique_ptr< Config > no_admin(std::unique_ptr< Config >)
adjust config so no admin ports are enabled
Json::Value pay(AccountID const &account, AccountID const &to, AnyAmount amount)
Create a payment.
std::unique_ptr< Config > envconfig()
creates and initializes a default configuration for jtx::Env
XRP_t const XRP
Converts to XRP Issue or STAmount.
std::unique_ptr< WSClient > makeWSClient(Config const &cfg, bool v2, unsigned rpc_version, std::unordered_map< std::string, std::string > const &headers)
Returns a client operating through WebSockets/S.
std::unique_ptr< AbstractClient > makeJSONRPCClient(Config const &cfg, unsigned rpc_version)
Returns a client using JSON-RPC over HTTP/S.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::string toBase58(AccountID const &v)
Convert AccountID to base58 checked string.
Seed generateSeed(std::string const &passPhrase)
Generate a seed deterministically.