diff --git a/src/_zkapauthorizer/tests/strategies.py b/src/_zkapauthorizer/tests/strategies.py index b4d5daaca56d9a28e0c18bea6ff994580752c9ba..4ba150cd8589c160bf895fc4dc6277100f93ca8e 100644 --- a/src/_zkapauthorizer/tests/strategies.py +++ b/src/_zkapauthorizer/tests/strategies.py @@ -657,7 +657,18 @@ def node_hierarchies(): Build hierarchies of ``IDirectoryNode`` and other ``IFilesystemNode`` (incomplete) providers. """ + def storage_indexes_are_distinct(nodes): + seen = set() + for n in nodes.flatten(): + si = n.get_storage_index() + if si in seen: + return False + seen.add(si) + return True + return recursive( leaf_nodes(), directory_nodes, + ).filter( + storage_indexes_are_distinct, ) diff --git a/src/_zkapauthorizer/tests/test_lease_maintenance.py b/src/_zkapauthorizer/tests/test_lease_maintenance.py index a59f776805f1ac53669cf145a1d7e67f992ab782..8d3545f6016a59bbed232f33f8dca552176ce0e4 100644 --- a/src/_zkapauthorizer/tests/test_lease_maintenance.py +++ b/src/_zkapauthorizer/tests/test_lease_maintenance.py @@ -552,7 +552,7 @@ class MaintainLeasesFromRootTests(TestCase): for node in root_node.flatten(): for storage_server in storage_broker.get_connected_servers(): try: - stat = storage_server.buckets[node._storage_index] + stat = storage_server.buckets[node.get_storage_index()] except KeyError: continue else: