89 auto connman = std::make_unique<ConnmanTestMsg>(0x1337, 0x1337, *m_node.addrman, *m_node.netgroupman,
Params());
90 auto peerman =
PeerManager::make(*connman, *m_node.addrman,
nullptr, *m_node.chainman, *m_node.mempool, *m_node.warnings, {});
92 std::vector<CNode*> nodes;
98 BOOST_REQUIRE(nodes.back() !=
nullptr);
104 for (
int i = 0; i < 10; ++i) {
105 ASSERT_DEBUG_LOG(
"Not opening a connection to localhost, already connected to 127.0.0.1:8333");
116 "[fc00:3344:5566:7788:9900:aabb:ccdd:eeff]:1234");
120 BOOST_TEST_MESSAGE(
"Call AddNode() for all the peers");
121 for (
auto node : connman->TestNodes()) {
122 BOOST_CHECK(connman->AddNode({node->addr.ToStringAddrPort(), true}));
123 BOOST_TEST_MESSAGE(
strprintf(
"peer id=%s addr=%s",
node->GetId(),
node->addr.ToStringAddrPort()));
126 BOOST_TEST_MESSAGE(
"\nCall AddNode() with 2 addrs resolving to existing localhost addnode entry; neither should be added");
127 BOOST_CHECK(!connman->AddNode({
"127.0.0.1", true}));
129#if !defined(__OpenBSD__)
133 BOOST_TEST_MESSAGE(
"\nExpect GetAddedNodeInfo to return expected number of peers with `include_connected` true/false");
135 BOOST_CHECK(connman->GetAddedNodeInfo(
false).empty());
138 for (
auto node : connman->TestNodes()) {
142 BOOST_CHECK(!connman->AddedNodesContain(nodes.back()->addr));
144 BOOST_TEST_MESSAGE(
"\nPrint GetAddedNodeInfo contents:");
145 for (
const auto& info : connman->GetAddedNodeInfo(
true)) {
146 BOOST_TEST_MESSAGE(
strprintf(
"\nadded node: %s", info.m_params.m_added_node));
147 BOOST_TEST_MESSAGE(
strprintf(
"connected: %s", info.fConnected));
148 if (info.fConnected) {
149 BOOST_TEST_MESSAGE(
strprintf(
"IP address: %s", info.resolvedAddress.ToStringAddrPort()));
150 BOOST_TEST_MESSAGE(
strprintf(
"direction: %s", info.fInbound ?
"inbound" :
"outbound"));
154 BOOST_TEST_MESSAGE(
"\nCheck that all connected peers are correctly detected as connected");
155 for (
const auto&
node : connman->TestNodes()) {
160 for (
auto node : connman->TestNodes()) {
161 peerman->FinalizeNode(*
node);
163 connman->ClearTestNodes();
static std::unique_ptr< PeerManager > make(CConnman &connman, AddrMan &addrman, BanMan *banman, ChainstateManager &chainman, CTxMemPool &pool, node::Warnings &warnings, Options opts)
CService LookupNumeric(const std::string &name, uint16_t portDefault, DNSLookupFn dns_lookup_function)
Resolve a service string with a numeric IP to its first corresponding service.
void AddPeer(NodeId &id, std::vector< CNode * > &nodes, PeerManager &peerman, ConnmanTestMsg &connman, ConnectionType conn_type, bool onion_peer=false, std::optional< std::string > address=std::nullopt)
Create a peer and connect to it.