1#include <test/jtx/AbstractClient.h>
2#include <test/jtx/Account.h>
3#include <test/jtx/Env.h>
4#include <test/jtx/JSONRPCClient.h>
5#include <test/jtx/WSClient.h>
6#include <test/jtx/amount.h>
7#include <test/jtx/envconfig.h>
8#include <test/jtx/pay.h>
10#include <xrpld/core/Config.h>
12#include <xrpl/beast/unit_test/suite.h>
13#include <xrpl/config/Constants.h>
14#include <xrpl/json/json_value.h>
15#include <xrpl/protocol/Seed.h>
16#include <xrpl/protocol/jss.h>
30 testcase <<
"Overload " << (useWS ?
"WS" :
"HTTP") <<
" RPC client";
39 env.
fund(
XRP(10000), alice, bob);
45 tx[jss::tx_json] =
pay(alice, bob,
XRP(1));
51 bool warned =
false, booted =
false;
52 for (
int i = 0; i < 500 && !booted; ++i)
54 auto jv = client->invoke(
"sign", tx);
62 else if (!(jv.isMember(jss::status) && (jv[jss::status] ==
"success")))
67 fail(
"", __FILE__, __LINE__);
70 if (jv.isMember(jss::warning))
71 warned = jv[jss::warning] == jss::load;
73 BEAST_EXPECT(warned && booted);
void fail(String const &reason, char const *file, int line)
Record a failure.
TestcaseT testcase
Memberspace for declaring test cases.
virtual Config & config()=0
void run() override
Runs the suite.
void testOverload(bool useWS)
Immutable cryptographic account descriptor.
A transaction testing environment.
void fund(bool setDefaultRipple, STAmount const &amount, Account const &account)
@ Object
object value (collection of name/value pairs).
json::Value pay(AccountID const &account, AccountID const &to, AnyAmount amount)
Create a payment.
XrpT const XRP
Converts to XRP Issue or STAmount.
std::unique_ptr< Config > envconfig()
creates and initializes a default configuration for jtx::Env
std::unique_ptr< Config > noAdmin(std::unique_ptr< Config >)
adjust config so no admin ports are enabled
BEAST_DEFINE_TESTSUITE(AMMClawback, app, xrpl)
std::unique_ptr< AbstractClient > makeJSONRPCClient(Config const &cfg, unsigned rpcVersion)
Returns a client using JSON-RPC over HTTP/S.
std::unique_ptr< WSClient > makeWSClient(Config const &cfg, bool v2, unsigned rpcVersion, std::unordered_map< std::string, std::string > const &headers)
Returns a client operating through WebSockets/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.
static constexpr auto kSigningSupport