21#include <test/jtx/Env.h>
23#include <xrpld/overlay/Cluster.h>
24#include <xrpld/overlay/Overlay.h>
26#include <xrpl/protocol/jss.h>
38 using namespace test::jtx;
43 auto peers = env.rpc(
"peers")[jss::result];
45 peers.isMember(jss::cluster) && peers[jss::cluster].size() == 0);
46 BEAST_EXPECT(peers.isMember(jss::peers) && peers[jss::peers].isNull());
50 for (
auto i = 0; i < 3; ++i)
57 using namespace std::chrono_literals;
58 env.app().cluster().update(
59 kp.first, name, 200, env.timeKeeper().now() - 10s);
66 peers = env.rpc(
"peers")[jss::result];
67 if (!BEAST_EXPECT(peers.isMember(jss::cluster)))
69 if (!BEAST_EXPECT(peers[jss::cluster].size() == nodes.
size()))
71 for (
auto it = peers[jss::cluster].begin();
72 it != peers[jss::cluster].end();
75 auto key = it.key().asString();
76 auto search = nodes.
find(key);
77 if (!BEAST_EXPECTS(search != nodes.
end(), key))
79 if (!BEAST_EXPECT((*it).isMember(jss::tag)))
81 auto tag = (*it)[jss::tag].asString();
82 BEAST_EXPECTS((*it)[jss::tag].asString() == nodes[key], key);
84 BEAST_EXPECT(peers.isMember(jss::peers) && peers[jss::peers].isNull());
95BEAST_DEFINE_TESTSUITE(Peers, rpc,
ripple);
testcase_t testcase
Memberspace for declaring test cases.
void run() override
Runs the suite.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::string toBase58(AccountID const &v)
Convert AccountID to base58 checked string.
std::pair< PublicKey, SecretKey > generateKeyPair(KeyType type, Seed const &seed)
Generate a key pair deterministically.
Seed generateSeed(std::string const &passPhrase)
Generate a seed deterministically.