mirror of
https://github.com/XRPLF/rippled.git
synced 2026-07-23 15:10:34 +00:00
95 lines
3.1 KiB
C++
95 lines
3.1 KiB
C++
// Copyright (c) 2020 Dev Null Productions
|
|
|
|
#include <test/jtx/Env.h>
|
|
#include <test/jtx/envconfig.h>
|
|
|
|
#include <xrpld/core/Config.h>
|
|
|
|
#include <xrpl/beast/unit_test/suite.h>
|
|
#include <xrpl/config/Constants.h>
|
|
#include <xrpl/protocol/jss.h>
|
|
|
|
#include <memory>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
namespace xrpl::test {
|
|
|
|
class ValidatorInfo_test : public beast::unit_test::Suite
|
|
{
|
|
public:
|
|
void
|
|
testErrors()
|
|
{
|
|
testcase("Errors");
|
|
|
|
using namespace jtx;
|
|
{
|
|
Env env(*this);
|
|
auto const info = env.rpc("validator_info");
|
|
BEAST_EXPECT(info[jss::result][jss::error_message] == "not a validator");
|
|
}
|
|
}
|
|
|
|
void
|
|
testPrivileges()
|
|
{
|
|
using namespace test::jtx;
|
|
Env env{*this, envconfig(noAdmin)};
|
|
env.setRetries(0);
|
|
auto const info = env.rpc("validator_info")[jss::result];
|
|
BEAST_EXPECT(info.isNull());
|
|
}
|
|
|
|
void
|
|
testLookup()
|
|
{
|
|
testcase("Lookup");
|
|
|
|
using namespace jtx;
|
|
std::vector<std::string> const tokenBlob = {
|
|
" eyJ2YWxpZGF0aW9uX3NlY3JldF9rZXkiOiI5ZWQ0NWY4NjYyNDFjYzE4YTI3NDdiNT\n",
|
|
" \tQzODdjMDYyNTkwNzk3MmY0ZTcxOTAyMzFmYWE5Mzc0NTdmYTlkYWY2IiwibWFuaWZl \n",
|
|
"\tc3QiOiJKQUFBQUFGeEllMUZ0d21pbXZHdEgyaUNjTUpxQzlnVkZLaWxHZncxL3ZDeE\n",
|
|
"\t hYWExwbGMyR25NaEFrRTFhZ3FYeEJ3RHdEYklENk9NU1l1TTBGREFscEFnTms4U0tG\t \t\n",
|
|
"bjdNTzJmZGtjd1JRSWhBT25ndTlzQUtxWFlvdUorbDJWMFcrc0FPa1ZCK1pSUzZQU2\n",
|
|
"hsSkFmVXNYZkFpQnNWSkdlc2FhZE9KYy9hQVpva1MxdnltR21WcmxIUEtXWDNZeXd1\n",
|
|
"NmluOEhBU1FLUHVnQkQ2N2tNYVJGR3ZtcEFUSGxHS0pkdkRGbFdQWXk1QXFEZWRGdj\n",
|
|
"VUSmEydzBpMjFlcTNNWXl3TFZKWm5GT3I3QzBrdzJBaVR6U0NqSXpkaXRROD0ifQ==\n",
|
|
};
|
|
|
|
std::string const masterKey = "nHBt9fsb4849WmZiCds4r5TXyBeQjqnH5kzPtqgMAQMgi39YZRPa";
|
|
std::string const ephemeralKey = "n9KsDYGKhABVc4wK5u3MnVhgPinyJimyKGpr9VJYuBaY8EnJXR2x";
|
|
std::string const manifest =
|
|
"JAAAAAFxIe1FtwmimvGtH2iCcMJqC9gVFKilGfw1/"
|
|
"vCxHXXLplc2GnMhAkE1agqXxBwDwDbID6OMSYuM0FDAlpAgNk8SKFn7MO2fdkcwRQI"
|
|
"hAOngu9sAKqXYouJ+l2V0W+sAOkVB+ZRS6PShlJAfUsXfAiBsVJGesaadOJc/"
|
|
"aAZokS1vymGmVrlHPKWX3Yywu6in8HASQKPugBD67kMaRFGvmpATHlGKJdvDFlWPYy"
|
|
"5AqDedFv5TJa2w0i21eq3MYywLVJZnFOr7C0kw2AiTzSCjIzditQ8=";
|
|
|
|
Env env{*this, envconfig([&tokenBlob](std::unique_ptr<Config> cfg) {
|
|
cfg->section(Sections::kValidatorToken).append(tokenBlob);
|
|
return cfg;
|
|
})};
|
|
{
|
|
auto const info = env.rpc("validator_info");
|
|
BEAST_EXPECT(info[jss::result][jss::status] == "success");
|
|
BEAST_EXPECT(info[jss::result][jss::seq] == 1);
|
|
BEAST_EXPECT(info[jss::result][jss::master_key] == masterKey);
|
|
BEAST_EXPECT(info[jss::result][jss::manifest] == manifest);
|
|
BEAST_EXPECT(info[jss::result][jss::ephemeral_key] == ephemeralKey);
|
|
}
|
|
}
|
|
|
|
void
|
|
run() override
|
|
{
|
|
testErrors();
|
|
testPrivileges();
|
|
testLookup();
|
|
}
|
|
};
|
|
|
|
BEAST_DEFINE_TESTSUITE(ValidatorInfo, rpc, xrpl);
|
|
} // namespace xrpl::test
|