fix: change error for invalid feature param in feature RPC (#5063)

* Returns an "Invalid parameters" error if the `feature` parameter is provided and is not a string.
This commit is contained in:
Mayukha Vadari
2024-07-30 11:18:25 -04:00
committed by GitHub
parent 2820feb02a
commit a39720e94a
2 changed files with 31 additions and 3 deletions

View File

@@ -229,9 +229,28 @@ class Feature_test : public beast::unit_test::suite
using namespace test::jtx;
Env env{*this};
auto jrr = env.rpc("feature", "AllTheThings")[jss::result];
BEAST_EXPECT(jrr[jss::error] == "badFeature");
BEAST_EXPECT(jrr[jss::error_message] == "Feature unknown or invalid.");
auto testInvalidParam = [&](auto const& param) {
Json::Value params;
params[jss::feature] = param;
auto jrr =
env.rpc("json", "feature", to_string(params))[jss::result];
BEAST_EXPECT(jrr[jss::error] == "invalidParams");
BEAST_EXPECT(jrr[jss::error_message] == "Invalid parameters.");
};
testInvalidParam(1);
testInvalidParam(1.1);
testInvalidParam(true);
testInvalidParam(Json::Value(Json::nullValue));
testInvalidParam(Json::Value(Json::objectValue));
testInvalidParam(Json::Value(Json::arrayValue));
{
auto jrr = env.rpc("feature", "AllTheThings")[jss::result];
BEAST_EXPECT(jrr[jss::error] == "badFeature");
BEAST_EXPECT(
jrr[jss::error_message] == "Feature unknown or invalid.");
}
}
void