MCPcopy Create free account
hub / github.com/ElementsProject/elements / BOOST_AUTO_TEST_CASE

Function BOOST_AUTO_TEST_CASE

src/test/addrman_tests.cpp:63–105  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

61BOOST_FIXTURE_TEST_SUITE(addrman_tests, BasicTestingSetup)
62
63BOOST_AUTO_TEST_CASE(addrman_simple)
64{
65 auto addrman = std::make_unique<AddrMan>(EMPTY_ASMAP, DETERMINISTIC, GetCheckRatio(m_node));
66
67 CNetAddr source = ResolveIP("252.2.2.2");
68
69 // Test: Does Addrman respond correctly when empty.
70 BOOST_CHECK_EQUAL(addrman->size(), 0U);
71 auto addr_null = addrman->Select().first;
72 BOOST_CHECK_EQUAL(addr_null.ToString(), "[::]:0");
73
74 // Test: Does Addrman::Add work as expected.
75 CService addr1 = ResolveService("250.1.1.1", 8333);
76 BOOST_CHECK(addrman->Add({CAddress(addr1, NODE_NONE)}, source));
77 BOOST_CHECK_EQUAL(addrman->size(), 1U);
78 auto addr_ret1 = addrman->Select().first;
79 BOOST_CHECK_EQUAL(addr_ret1.ToString(), "250.1.1.1:8333");
80
81 // Test: Does IP address deduplication work correctly.
82 // Expected dup IP should not be added.
83 CService addr1_dup = ResolveService("250.1.1.1", 8333);
84 BOOST_CHECK(!addrman->Add({CAddress(addr1_dup, NODE_NONE)}, source));
85 BOOST_CHECK_EQUAL(addrman->size(), 1U);
86
87
88 // Test: New table has one addr and we add a diff addr we should
89 // have at least one addr.
90 // Note that addrman's size cannot be tested reliably after insertion, as
91 // hash collisions may occur. But we can always be sure of at least one
92 // success.
93
94 CService addr2 = ResolveService("250.1.1.2", 8333);
95 BOOST_CHECK(addrman->Add({CAddress(addr2, NODE_NONE)}, source));
96 BOOST_CHECK(addrman->size() >= 1);
97
98 // Test: reset addrman and test AddrMan::Add multiple addresses works as expected
99 addrman = std::make_unique<AddrMan>(EMPTY_ASMAP, DETERMINISTIC, GetCheckRatio(m_node));
100 std::vector<CAddress> vAddr;
101 vAddr.push_back(CAddress(ResolveService("250.1.1.3", 8333), NODE_NONE));
102 vAddr.push_back(CAddress(ResolveService("250.1.1.4", 8333), NODE_NONE));
103 BOOST_CHECK(addrman->Add(vAddr, source));
104 BOOST_CHECK(addrman->size() >= 1);
105}
106
107BOOST_AUTO_TEST_CASE(addrman_ports)
108{

Callers

nothing calls this directly

Calls 15

ResolveServiceFunction · 0.85
GetAdjustedTimeFunction · 0.85
AddrInfoClass · 0.85
CHashWriterClass · 0.85
FromBytesFunction · 0.85
SetMockTimeFunction · 0.85
GetTimeFunction · 0.85
LookupFunction · 0.85
AddrmanToStreamFunction · 0.85
ReadFromStreamFunction · 0.85
MakeCorruptPeersDatFunction · 0.85
GoodMethod · 0.80

Tested by

no test coverage detected