Changeset View
Changeset View
Standalone View
Standalone View
src/seeder/test/p2p_messaging_tests.cpp
Show First 20 Lines • Show All 93 Lines • ▼ Show 20 Lines | BOOST_AUTO_TEST_CASE(process_verack_msg) { | ||||
CDataStream verackMessage(SER_NETWORK, 0); | CDataStream verackMessage(SER_NETWORK, 0); | ||||
verackMessage.SetVersion(INIT_PROTO_VERSION); | verackMessage.SetVersion(INIT_PROTO_VERSION); | ||||
testNode->TestProcessMessage(NetMsgType::VERACK, verackMessage, | testNode->TestProcessMessage(NetMsgType::VERACK, verackMessage, | ||||
PeerMessagingState::AwaitingMessages); | PeerMessagingState::AwaitingMessages); | ||||
// Seeder should respond with an ADDR message | // Seeder should respond with an ADDR message | ||||
const CMessageHeader::MessageMagic netMagic = Params().NetMagic(); | const CMessageHeader::MessageMagic netMagic = Params().NetMagic(); | ||||
CMessageHeader header(netMagic); | CMessageHeader header(netMagic); | ||||
testNode->getSendBuffer() >> header; | CDataStream sendBuffer = testNode->getSendBuffer(); | ||||
sendBuffer >> header; | |||||
BOOST_CHECK(header.IsValidWithoutConfig(netMagic)); | BOOST_CHECK(header.IsValidWithoutConfig(netMagic)); | ||||
BOOST_CHECK_EQUAL(header.GetCommand(), NetMsgType::GETADDR); | BOOST_CHECK_EQUAL(header.GetCommand(), NetMsgType::GETADDR); | ||||
// Next message should be GETHEADERS | |||||
sendBuffer >> header; | |||||
BOOST_CHECK(header.IsValidWithoutConfig(netMagic)); | |||||
BOOST_CHECK_EQUAL(header.GetCommand(), NetMsgType::GETHEADERS); | |||||
CBlockLocator locator; | |||||
uint256 hashStop; | |||||
sendBuffer >> locator >> hashStop; | |||||
std::vector<BlockHash> expectedLocator = { | |||||
Params().Checkpoints().mapCheckpoints.rbegin()->second}; | |||||
BOOST_CHECK(locator.vHave == expectedLocator); | |||||
BOOST_CHECK(hashStop == uint256()); | |||||
} | } | ||||
static CDataStream CreateAddrMessage(std::vector<CAddress> sendAddrs, | static CDataStream CreateAddrMessage(std::vector<CAddress> sendAddrs, | ||||
uint32_t nVersion = INIT_PROTO_VERSION) { | uint32_t nVersion = INIT_PROTO_VERSION) { | ||||
CDataStream payload(SER_NETWORK, 0); | CDataStream payload(SER_NETWORK, 0); | ||||
payload.SetVersion(nVersion); | payload.SetVersion(nVersion); | ||||
payload << sendAddrs; | payload << sendAddrs; | ||||
return payload; | return payload; | ||||
Show All 36 Lines |