21 #include <test/jtx/Env.h>
22 #include <ripple/protocol/jss.h>
23 #include <ripple/overlay/Cluster.h>
24 #include <ripple/overlay/Overlay.h>
33 testcase(
"Basic request");
34 using namespace test::jtx;
39 auto peers = env.rpc(
"peers")[jss::result];
40 BEAST_EXPECT(peers.isMember(jss::cluster) &&
41 peers[jss::cluster].size() == 0 );
42 BEAST_EXPECT(peers.isMember(jss::peers) &&
43 peers[jss::peers].isNull());
47 for(
auto i =0; i < 3; ++i)
55 using namespace std::chrono_literals;
56 env.app().cluster().update(
60 env.timeKeeper().now() - 10s);
67 peers = env.rpc(
"peers")[jss::result];
68 if(! BEAST_EXPECT(peers.isMember(jss::cluster)))
70 if(! BEAST_EXPECT(peers[jss::cluster].size() == nodes.
size()))
72 for(
auto it = peers[jss::cluster].begin();
73 it != peers[jss::cluster].end();
76 auto key = it.key().asString();
77 auto search = nodes.
find(key);
78 if(! BEAST_EXPECTS(search != nodes.
end(), key))
80 if(! BEAST_EXPECT((*it).isMember(jss::tag)))
82 auto tag = (*it)[jss::tag].asString();
83 BEAST_EXPECTS((*it)[jss::tag].asString() == nodes[key], key);
85 BEAST_EXPECT(peers.isMember(jss::peers) && peers[jss::peers].isNull());