From cecb4bef1fbc9826c488ea536be37bebf2494bad Mon Sep 17 00:00:00 2001
From: Jean-Paul Calderone <exarkun@twistedmatrix.com>
Date: Wed, 29 Apr 2020 09:54:22 -0400
Subject: [PATCH] More assumptions about being able to distribute the tokens
 among the groups

---
 src/_zkapauthorizer/tests/test_controller.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/_zkapauthorizer/tests/test_controller.py b/src/_zkapauthorizer/tests/test_controller.py
index b77498b..0f4ef59 100644
--- a/src/_zkapauthorizer/tests/test_controller.py
+++ b/src/_zkapauthorizer/tests/test_controller.py
@@ -486,6 +486,8 @@ class RistrettoRedeemerTests(TestCase):
         returns a ``Deferred`` that fires with a ``Failure`` wrapping
         ``AlreadySpent``.
         """
+        assume(num_tokens >= counter)
+
         issuer = AlreadySpentRedemption()
         treq = treq_for_loopback_ristretto(issuer)
         redeemer = RistrettoRedeemer(treq, NOWHERE)
@@ -513,6 +515,8 @@ class RistrettoRedeemerTests(TestCase):
         returns a ``Deferred`` that fires with a ``Failure`` wrapping
         ``Unpaid``.
         """
+        assume(num_tokens >= counter)
+
         issuer = UnpaidRedemption()
         treq = treq_for_loopback_ristretto(issuer)
         redeemer = RistrettoRedeemer(treq, NOWHERE)
@@ -539,6 +543,8 @@ class RistrettoRedeemerTests(TestCase):
         ``RistrettoRedeemer.redeem`` returns a ``Deferred`` that fires with a
         ``Failure`` wrapping ``SecurityException``.
         """
+        assume(num_tokens >= counter)
+
         signing_key = random_signing_key()
         issuer = RistrettoRedemption(signing_key)
 
@@ -572,6 +578,8 @@ class RistrettoRedeemerTests(TestCase):
         The passes constructed using unblinded tokens and messages pass the
         Ristretto verification check.
         """
+        assume(num_tokens >= counter)
+
         message = b"hello world"
 
         signing_key = random_signing_key()
-- 
GitLab