mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Improve error handling in some RPC commands
This commit is contained in:
committed by
Ed Hennis
parent
2df635693d
commit
eba5d19377
@@ -39,6 +39,7 @@ class AccountCurrencies_test : public beast::unit_test::suite
|
||||
|
||||
{ // invalid ledger (hash)
|
||||
Json::Value params;
|
||||
params[jss::account] = Account{"bob"}.human();
|
||||
params[jss::ledger_hash] = 1;
|
||||
auto const result = env.rpc(
|
||||
"json",
|
||||
@@ -56,6 +57,50 @@ class AccountCurrencies_test : public beast::unit_test::suite
|
||||
result[jss::error_message] == "Missing field 'account'.");
|
||||
}
|
||||
|
||||
{
|
||||
// test account non-string
|
||||
auto testInvalidAccountParam = [&](auto const& param) {
|
||||
Json::Value params;
|
||||
params[jss::account] = param;
|
||||
auto jrr = env.rpc(
|
||||
"json",
|
||||
"account_currencies",
|
||||
to_string(params))[jss::result];
|
||||
BEAST_EXPECT(jrr[jss::error] == "invalidParams");
|
||||
BEAST_EXPECT(
|
||||
jrr[jss::error_message] == "Invalid field 'account'.");
|
||||
};
|
||||
|
||||
testInvalidAccountParam(1);
|
||||
testInvalidAccountParam(1.1);
|
||||
testInvalidAccountParam(true);
|
||||
testInvalidAccountParam(Json::Value(Json::nullValue));
|
||||
testInvalidAccountParam(Json::Value(Json::objectValue));
|
||||
testInvalidAccountParam(Json::Value(Json::arrayValue));
|
||||
}
|
||||
|
||||
{
|
||||
// test ident non-string
|
||||
auto testInvalidIdentParam = [&](auto const& param) {
|
||||
Json::Value params;
|
||||
params[jss::ident] = param;
|
||||
auto jrr = env.rpc(
|
||||
"json",
|
||||
"account_currencies",
|
||||
to_string(params))[jss::result];
|
||||
BEAST_EXPECT(jrr[jss::error] == "invalidParams");
|
||||
BEAST_EXPECT(
|
||||
jrr[jss::error_message] == "Invalid field 'ident'.");
|
||||
};
|
||||
|
||||
testInvalidIdentParam(1);
|
||||
testInvalidIdentParam(1.1);
|
||||
testInvalidIdentParam(true);
|
||||
testInvalidIdentParam(Json::Value(Json::nullValue));
|
||||
testInvalidIdentParam(Json::Value(Json::objectValue));
|
||||
testInvalidIdentParam(Json::Value(Json::arrayValue));
|
||||
}
|
||||
|
||||
{
|
||||
Json::Value params;
|
||||
params[jss::account] =
|
||||
@@ -198,6 +243,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
BEAST_DEFINE_TESTSUITE(AccountCurrencies, app, ripple);
|
||||
BEAST_DEFINE_TESTSUITE(AccountCurrencies, rpc, ripple);
|
||||
|
||||
} // namespace ripple
|
||||
|
||||
Reference in New Issue
Block a user