20 #include <ripple/overlay/Cluster.h>
21 #include <ripple/overlay/Overlay.h>
22 #include <ripple/protocol/jss.h>
24 #include <test/jtx/Env.h>
34 testcase(
"Basic request");
35 using namespace test::jtx;
40 auto peers = env.rpc(
"peers")[jss::result];
42 peers.isMember(jss::cluster) && peers[jss::cluster].size() == 0);
43 BEAST_EXPECT(peers.isMember(jss::peers) && peers[jss::peers].isNull());
47 for (
auto i = 0; i < 3; ++i)
54 using namespace std::chrono_literals;
55 env.app().cluster().update(
56 kp.first, name, 200, env.timeKeeper().now() - 10s);
63 peers = env.rpc(
"peers")[jss::result];
64 if (!BEAST_EXPECT(peers.isMember(jss::cluster)))
66 if (!BEAST_EXPECT(peers[jss::cluster].size() == nodes.
size()))
68 for (
auto it = peers[jss::cluster].begin();
69 it != peers[jss::cluster].end();
72 auto key = it.key().asString();
73 auto search = nodes.
find(key);
74 if (!BEAST_EXPECTS(search != nodes.
end(), key))
76 if (!BEAST_EXPECT((*it).isMember(jss::tag)))
78 auto tag = (*it)[jss::tag].asString();
79 BEAST_EXPECTS((*it)[jss::tag].asString() == nodes[key], key);
81 BEAST_EXPECT(peers.isMember(jss::peers) && peers[jss::peers].isNull());