diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-01-07 00:14:42 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-01-07 00:14:42 +0900 |
| commit | 920583502e654e8ae3e47ecb8b5df515b2d072f2 (patch) | |
| tree | 1e3bca7db322e9ba11df74314351ac744353caef /test/DHTBucketTest.cc | |
| parent | d429943d05726569758a884fa67238958972970f (diff) | |
Consider IP address and port when finding DHT node.
Diffstat (limited to 'test/DHTBucketTest.cc')
| -rw-r--r-- | test/DHTBucketTest.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/DHTBucketTest.cc b/test/DHTBucketTest.cc index 11adca59..ff2b7cac 100644 --- a/test/DHTBucketTest.cc +++ b/test/DHTBucketTest.cc @@ -24,6 +24,7 @@ class DHTBucketTest:public CppUnit::TestFixture { CPPUNIT_TEST(testGetGoodNodes); CPPUNIT_TEST(testCacheNode); CPPUNIT_TEST(testDropNode); + CPPUNIT_TEST(testGetNode); CPPUNIT_TEST_SUITE_END(); public: void setUp() {} @@ -40,6 +41,7 @@ public: void testGetGoodNodes(); void testCacheNode(); void testDropNode(); + void testGetNode(); }; @@ -451,4 +453,23 @@ void DHTBucketTest::testDropNode() CPPUNIT_ASSERT(*cachedNode1 == *bucket.getCachedNodes()[0]); } +void DHTBucketTest::testGetNode() +{ + unsigned char localNodeID[DHT_ID_LENGTH]; + memset(localNodeID, 0, DHT_ID_LENGTH); + SharedHandle<DHTNode> localNode(new DHTNode(localNodeID)); + DHTBucket bucket(localNode); + + unsigned char id[DHT_ID_LENGTH]; + createID(id, 0xf0, 0); + SharedHandle<DHTNode> node(new DHTNode(id)); + node->setIPAddress("192.168.0.1"); + node->setPort(6881); + CPPUNIT_ASSERT(bucket.addNode(node)); + CPPUNIT_ASSERT(bucket.getNode(id, "192.168.0.1", 6881)); + CPPUNIT_ASSERT(!bucket.getNode(id, "192.168.0.2", 6881)); + CPPUNIT_ASSERT(!bucket.getNode(id, "192.168.0.1", 6882)); + CPPUNIT_ASSERT(!bucket.getNode(localNodeID, "192.168.0.1", 6881)); +} + } // namespace aria2 |
