From 5ed4228781d51f69fb8c5a758a70db22d293c7cd Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone <exarkun@twistedmatrix.com> Date: Mon, 29 Nov 2021 14:38:25 -0500 Subject: [PATCH] fix wacko timedelta strategies --- src/_zkapauthorizer/tests/strategies.py | 30 ++++++++++++++++--------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/src/_zkapauthorizer/tests/strategies.py b/src/_zkapauthorizer/tests/strategies.py index 36d2362..e90d2cc 100644 --- a/src/_zkapauthorizer/tests/strategies.py +++ b/src/_zkapauthorizer/tests/strategies.py @@ -350,19 +350,29 @@ def client_errorredeemer_configurations(details): ) +def integer_seconds_timedeltas( + # Our intervals mostly want to be non-negative. + min_value=0, + # We can't make this value too large or it isn't convertable to a + # timedelta. Also, even values as large as this one are of + # questionable value for the durations we measure. + max_value=60 * 60 * 24 * 365, +): + """ + Build ``timedelta`` instances without a fractional seconds part. + """ + return integers( + min_value=min_value, + max_value=max_value, + ).map(lambda n: timedelta(seconds=n)) + + def interval_means(): """ Build timedeltas representing the mean time between lease maintenance runs. """ - return integers( - # It doesn't make sense to have a negative check interval mean. - min_value=0, - # We can't make this value too large or it isn't convertable to a - # timedelta. Also, even values as large as this one are of - # questionable value. - max_value=60 * 60 * 24 * 365, - ).map(timedelta) + return integer_seconds_timedeltas() def lease_maintenance_configurations(): @@ -372,8 +382,8 @@ def lease_maintenance_configurations(): return builds( LeaseMaintenanceConfig, interval_means(), - integers(min_value=0, max_value=60 * 60 * 24 * 365).map(timedelta), - integers(min_value=0, max_value=60 * 60 * 24 * 365).map(timedelta), + integer_seconds_timedeltas(), + integer_seconds_timedeltas(), ) -- GitLab