def test_get_refresh_list(self): """ Ensures that only keys from stale k-buckets are returned. """ parent_node_id = 'deadbeef' r = RoutingTable(parent_node_id) bucket1 = Bucket(1, 2) # Set the lastAccessed flag on bucket 1 to be out of date bucket1.last_accessed = time.time() - 3700 r._buckets[0] = bucket1 bucket2 = Bucket(2, 3) bucket2.last_accessed = 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], 0))
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 = 'deadbeef' r = RoutingTable(parent_node_id) bucket1 = Bucket(1, 2) # Set the lastAccessed flag on bucket 1 to be out of date bucket1.last_accessed = time.time() - 3700 r._buckets[0] = bucket1 bucket2 = Bucket(2, 3) bucket2.last_accessed = 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], 0)) self.assertEqual(2, int(result[1], 0))