MCPcopy Create free account
hub / github.com/aria2/aria2 / testDoReceivedAction

Method testDoReceivedAction

test/DHTFindNodeMessageTest.cc:81–111  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

79}
80
81void DHTFindNodeMessageTest::testDoReceivedAction()
82{
83 unsigned char tid[DHT_TRANSACTION_ID_LENGTH];
84 util::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH);
85 std::string transactionID(&tid[0], &tid[DHT_TRANSACTION_ID_LENGTH]);
86
87 auto targetNode = std::make_shared<DHTNode>();
88
89 MockDHTMessageDispatcher dispatcher;
90 MockDHTMessageFactory2 factory;
91 factory.setLocalNode(localNode_);
92 DHTRoutingTable routingTable(localNode_);
93 routingTable.addNode(targetNode);
94
95 DHTFindNodeMessage msg(localNode_, remoteNode_, targetNode->getID(),
96 transactionID);
97 msg.setMessageDispatcher(&dispatcher);
98 msg.setMessageFactory(&factory);
99 msg.setRoutingTable(&routingTable);
100
101 msg.doReceivedAction();
102
103 CPPUNIT_ASSERT_EQUAL((size_t)1, dispatcher.messageQueue_.size());
104 auto m = dynamic_cast<DHTFindNodeReplyMessage*>(
105 dispatcher.messageQueue_[0].message_.get());
106 CPPUNIT_ASSERT(*localNode_ == *m->getLocalNode());
107 CPPUNIT_ASSERT(*remoteNode_ == *m->getRemoteNode());
108 CPPUNIT_ASSERT_EQUAL(std::string("find_node"), m->getMessageType());
109 CPPUNIT_ASSERT_EQUAL(msg.getTransactionID(), m->getTransactionID());
110 CPPUNIT_ASSERT_EQUAL((size_t)1, m->getClosestKNodes().size());
111}
112
113} // namespace aria2

Callers

nothing calls this directly

Calls 12

generateRandomDataFunction · 0.85
getIDMethod · 0.80
getRemoteNodeMethod · 0.80
getClosestKNodesMethod · 0.80
setLocalNodeMethod · 0.45
addNodeMethod · 0.45
setMessageDispatcherMethod · 0.45
setMessageFactoryMethod · 0.45
setRoutingTableMethod · 0.45
doReceivedActionMethod · 0.45
sizeMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected