Write improved forAllApiVersions used in NetworkOPs (#4833)

This commit is contained in:
Bronek Kozicki
2024-03-23 04:28:16 +09:00
committed by GitHub
parent 47c8cc24f4
commit 6edf03c152
26 changed files with 1724 additions and 689 deletions

View File

@@ -734,7 +734,7 @@ public:
void
run() override
{
test::jtx::forAllApiVersions(
forAllApiVersions(
std::bind_front(&AccountTx_test::testParameters, this));
testContents();
testAccountDelete();

View File

@@ -172,10 +172,7 @@ public:
qry2[jss::account] = alice.human();
qry2[jss::hotwallet] = "asdf";
for (auto apiVersion = RPC::apiMinimumSupportedVersion;
apiVersion <= RPC::apiBetaVersion;
++apiVersion)
{
forAllApiVersions([&, this](unsigned apiVersion) {
qry2[jss::api_version] = apiVersion;
auto jv = wsc->invoke("gateway_balances", qry2);
expect(jv[jss::status] == "error");
@@ -184,7 +181,7 @@ public:
auto const error =
apiVersion < 2u ? "invalidHotWallet" : "invalidParams";
BEAST_EXPECT(response[jss::error] == error);
}
});
}
void

View File

@@ -2305,7 +2305,7 @@ public:
testLedgerAccountsOption();
testLedgerEntryDID();
test::jtx::forAllApiVersions(std::bind_front(
forAllApiVersions(std::bind_front(
&LedgerRPC_test::testLedgerEntryInvalidParams, this));
}
};

View File

@@ -359,7 +359,7 @@ public:
{
testLedgerRequest();
testEvolution();
test::jtx::forAllApiVersions(
forAllApiVersions(
std::bind_front(&LedgerRequestRPC_test::testBadInput, this));
testMoreThan256Closed();
testNonAdmin();

View File

@@ -284,12 +284,9 @@ public:
testSetAndClear();
auto withFeatsTests = [this](FeatureBitset features) {
for (auto testVersion = RPC::apiMinimumSupportedVersion;
testVersion <= RPC::apiBetaVersion;
++testVersion)
{
forAllApiVersions([&, this](unsigned testVersion) {
testDefaultRipple(features, testVersion);
}
});
testNegativeBalance(features);
testPairwise(features);
};

View File

@@ -6219,8 +6219,7 @@ public:
void
run() override
{
test::jtx::forAllApiVersions(
std::bind_front(&RPCCall_test::testRPCCall, this));
forAllApiVersions(std::bind_front(&RPCCall_test::testRPCCall, this));
}
};

View File

@@ -388,7 +388,7 @@ public:
run() override
{
testBadInput();
test::jtx::forAllApiVersions(
forAllApiVersions(
std::bind_front(&TransactionEntry_test::testRequest, this));
}
};

View File

@@ -849,7 +849,7 @@ public:
run() override
{
using namespace test::jtx;
test::jtx::forAllApiVersions(
forAllApiVersions(
std::bind_front(&Transaction_test::testBinaryRequest, this));
FeatureBitset const all{supported_amendments()};
@@ -863,7 +863,7 @@ public:
testRangeCTIDRequest(features);
testCTIDValidation(features);
testCTIDRPC(features);
test::jtx::forAllApiVersions(
forAllApiVersions(
std::bind_front(&Transaction_test::testRequest, this, features));
}
};

View File

@@ -83,7 +83,8 @@ class Version_test : public beast::unit_test::suite
"{\"api_version\": " +
std::to_string(
std::max(
RPC::apiMaximumSupportedVersion, RPC::apiBetaVersion) +
RPC::apiMaximumSupportedVersion.value,
RPC::apiBetaVersion.value) +
1) +
"}");
BEAST_EXPECT(badVersion(re));
@@ -112,15 +113,15 @@ class Version_test : public beast::unit_test::suite
Json::Value j_object = Json::Value(Json::objectValue);
BEAST_EXPECT(
RPC::getAPIVersionNumber(j_object, false) == versionIfUnspecified);
j_object[jss::api_version] = RPC::apiVersionIfUnspecified;
j_object[jss::api_version] = RPC::apiVersionIfUnspecified.value;
BEAST_EXPECT(
RPC::getAPIVersionNumber(j_object, false) == versionIfUnspecified);
j_object[jss::api_version] = RPC::apiMinimumSupportedVersion;
j_object[jss::api_version] = RPC::apiMinimumSupportedVersion.value;
BEAST_EXPECT(
RPC::getAPIVersionNumber(j_object, false) ==
RPC::apiMinimumSupportedVersion);
j_object[jss::api_version] = RPC::apiMaximumSupportedVersion;
j_object[jss::api_version] = RPC::apiMaximumSupportedVersion.value;
BEAST_EXPECT(
RPC::getAPIVersionNumber(j_object, false) ==
RPC::apiMaximumSupportedVersion);
@@ -133,14 +134,14 @@ class Version_test : public beast::unit_test::suite
BEAST_EXPECT(
RPC::getAPIVersionNumber(j_object, false) ==
RPC::apiInvalidVersion);
j_object[jss::api_version] = RPC::apiBetaVersion;
j_object[jss::api_version] = RPC::apiBetaVersion.value;
BEAST_EXPECT(
RPC::getAPIVersionNumber(j_object, true) == RPC::apiBetaVersion);
j_object[jss::api_version] = RPC::apiBetaVersion + 1;
BEAST_EXPECT(
RPC::getAPIVersionNumber(j_object, true) == RPC::apiInvalidVersion);
j_object[jss::api_version] = RPC::apiInvalidVersion;
j_object[jss::api_version] = RPC::apiInvalidVersion.value;
BEAST_EXPECT(
RPC::getAPIVersionNumber(j_object, false) ==
RPC::apiInvalidVersion);
@@ -202,17 +203,17 @@ class Version_test : public beast::unit_test::suite
"\"id\": 5, "
"\"method\": \"version\", "
"\"params\": {}}";
auto const with_wrong_api_verion =
std::string("{ ") +
auto const with_wrong_api_verion = std::string("{ ") +
"\"jsonrpc\": \"2.0\", "
"\"ripplerpc\": \"2.0\", "
"\"id\": 6, "
"\"method\": \"version\", "
"\"params\": { "
"\"api_version\": " +
std::to_string(
std::max(RPC::apiMaximumSupportedVersion, RPC::apiBetaVersion) +
1) +
std::to_string(std::max(
RPC::apiMaximumSupportedVersion.value,
RPC::apiBetaVersion.value) +
1) +
"}}";
auto re = env.rpc(
"json2",
@@ -275,8 +276,9 @@ class Version_test : public beast::unit_test::suite
jrr[jss::version].isMember(jss::last))
return;
BEAST_EXPECT(
jrr[jss::version][jss::first] == RPC::apiMinimumSupportedVersion);
BEAST_EXPECT(jrr[jss::version][jss::last] == RPC::apiBetaVersion);
jrr[jss::version][jss::first] ==
RPC::apiMinimumSupportedVersion.value);
BEAST_EXPECT(jrr[jss::version][jss::last] == RPC::apiBetaVersion.value);
}
public: