def test_get_refresh_list(self): """ Ensures that only keys from stale k-buckets are returned. """ parent_node_id = 'abc' r = RoutingTable(parent_node_id) bucket1 = KBucket(1, 2) # Set the lastAccessed flag on bucket 1 to be out of date bucket1.last_accessed = int(time.time()) - 3700 r._buckets[0] = bucket1 bucket2 = KBucket(2, 3) bucket2.last_accessed = int(time.time()) r._buckets.append(bucket2) expected = 1 result = r.get_refresh_list(0) self.assertEqual(1, len(result)) self.assertEqual(expected, int(result[0].encode('hex'), 16))
def test_get_forced_refresh_list(self): """ Ensures that keys from all k-buckets (no matter if they're stale or not) are returned. """ parent_node_id = 'abc' r = RoutingTable(parent_node_id) bucket1 = KBucket(1, 2) # Set the lastAccessed flag on bucket 1 to be out of date bucket1.last_accessed = int(time.time()) - 3700 r._buckets[0] = bucket1 bucket2 = KBucket(2, 3) bucket2.last_accessed = int(time.time()) r._buckets.append(bucket2) result = r.get_refresh_list(0, True) # Even though bucket 2 is not stale it still has a key for it in # the result. self.assertEqual(2, len(result)) self.assertEqual(1, int(result[0].encode('hex'), 16)) self.assertEqual(2, int(result[1].encode('hex'), 16))