// Copyright (c) 2020 Dev Null Productions #include #include #include #include #include #include #include #include #include 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 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 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