mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Improve handling of RPC ledger_index argument:
Some RPC commands return `ledger_index` as a quoted numeric string. This change allows the returned value to be directly copied and used for follow-on RPC commands. This commit fixes #3533
This commit is contained in:
committed by
Nik Bougalis
parent
707868be33
commit
801b1580f5
@@ -72,8 +72,24 @@ class LedgerRPC_test : public beast::unit_test::suite
|
||||
BEAST_EXPECT(env.current()->info().seq == 4);
|
||||
|
||||
{
|
||||
// in this case, numeric string converted to number
|
||||
auto const jrr = env.rpc("ledger", "1")[jss::result];
|
||||
Json::Value jvParams;
|
||||
// can be either numeric or quoted numeric
|
||||
jvParams[jss::ledger_index] = 1;
|
||||
auto const jrr =
|
||||
env.rpc("json", "ledger", to_string(jvParams))[jss::result];
|
||||
BEAST_EXPECT(jrr[jss::ledger][jss::closed] == true);
|
||||
BEAST_EXPECT(jrr[jss::ledger][jss::ledger_index] == "1");
|
||||
BEAST_EXPECT(jrr[jss::ledger][jss::accepted] == true);
|
||||
BEAST_EXPECT(
|
||||
jrr[jss::ledger][jss::totalCoins] ==
|
||||
env.balance(env.master).value().getText());
|
||||
}
|
||||
|
||||
{
|
||||
Json::Value jvParams;
|
||||
jvParams[jss::ledger_index] = "1";
|
||||
auto const jrr =
|
||||
env.rpc("json", "ledger", to_string(jvParams))[jss::result];
|
||||
BEAST_EXPECT(jrr[jss::ledger][jss::closed] == true);
|
||||
BEAST_EXPECT(jrr[jss::ledger][jss::ledger_index] == "1");
|
||||
BEAST_EXPECT(jrr[jss::ledger][jss::accepted] == true);
|
||||
@@ -110,8 +126,18 @@ class LedgerRPC_test : public beast::unit_test::suite
|
||||
env.close();
|
||||
|
||||
{
|
||||
// ask for an arbitrary string - index
|
||||
Json::Value jvParams;
|
||||
jvParams[jss::ledger_index] = "0"; // NOT an integer
|
||||
jvParams[jss::ledger_index] = "potato";
|
||||
auto const jrr =
|
||||
env.rpc("json", "ledger", to_string(jvParams))[jss::result];
|
||||
checkErrorValue(jrr, "invalidParams", "ledgerIndexMalformed");
|
||||
}
|
||||
|
||||
{
|
||||
// ask for a negative index
|
||||
Json::Value jvParams;
|
||||
jvParams[jss::ledger_index] = -1;
|
||||
auto const jrr =
|
||||
env.rpc("json", "ledger", to_string(jvParams))[jss::result];
|
||||
checkErrorValue(jrr, "invalidParams", "ledgerIndexMalformed");
|
||||
@@ -393,8 +419,10 @@ class LedgerRPC_test : public beast::unit_test::suite
|
||||
void
|
||||
testLedgerEntryDepositPreauth()
|
||||
{
|
||||
testcase("ledger_entry Request DepositPreauth");
|
||||
testcase("ledger_entry Deposit Preauth");
|
||||
|
||||
using namespace test::jtx;
|
||||
|
||||
Env env{*this};
|
||||
Account const alice{"alice"};
|
||||
Account const becky{"becky"};
|
||||
|
||||
Reference in New Issue
Block a user