diff --git a/src/_zkapauthorizer/tests/test_storage_server.py b/src/_zkapauthorizer/tests/test_storage_server.py index b696e22d1d7de0787f2e4e5dd4bf90a565d3a67a..b0be0cb9ae7eaa9da52296e15c0da6c2b85424d7 100644 --- a/src/_zkapauthorizer/tests/test_storage_server.py +++ b/src/_zkapauthorizer/tests/test_storage_server.py @@ -139,6 +139,21 @@ class ValidationResultTests(TestCase): ) +def read_count(storage_server): + buckets = storage_server._metric_spending_successes._buckets + return sum(b.get() for b in buckets) + +def read_bucket(storage_server, size): + bounds = self.storage_server._get_buckets() + for bucket_number, upper_bound in enumerate(bounds): + if size <= upper_bound: + break + + buckets = storage_server._metric_spending_successes._buckets + note(list((n, b.get()) for n, b in enumerate(buckets))) + return buckets[bucket_number].get() + + class PassValidationTests(TestCase): """ Tests for pass validation performed by ``ZKAPAuthorizerStorageServer``. @@ -571,7 +586,8 @@ class PassValidationTests(TestCase): self, storage_index, renew_secret, cancel_secret, sharenums, size ): """ - When ZKAPs are spent to call *allocate_buckets* the number of passes spent is recorded as a metric. + When ZKAPs are spent to call *allocate_buckets* the number of passes spent + is recorded as a metric. """ expected = required_passes( self.storage_server._pass_value, [size] * len(sharenums) @@ -582,22 +598,8 @@ class PassValidationTests(TestCase): list(RandomToken.create() for i in range(expected)), ) - buckets = self.storage_server._get_buckets() - for bucket_number, upper_bound in enumerate(buckets): - if size <= upper_bound: - break - - def read_count(): - buckets = self.storage_server._metric_spending_successes._buckets - return sum(b.get() for b in buckets) - - def read_bucket(): - buckets = self.storage_server._metric_spending_successes._buckets - note(list((n, b.get()) for n, b in enumerate(buckets))) - return buckets[bucket_number].get() - - before_count = read_count() - before_bucket = read_bucket() + before_count = read_count(self.storage_server) + before_bucket = read_bucket(self.storage_server, size) alreadygot, allocated = self.storage_server.doRemoteCall( "allocate_buckets", @@ -613,8 +615,8 @@ class PassValidationTests(TestCase): ), ) - after_count = read_count() - after_bucket = read_bucket() + after_count = read_count(self.storage_server) + after_bucket = read_bucket(self.storage_server) note("bucket_number {}".format(bucket_number))