def text_bucket_drain(self):
        myBucket = Bucket(20000, drain_period=86400)

        user = _randomBytes()
        self.assertTrue(myBucket.userCanSyncAmount(user, 20000, 1234))
        self.assertEqual(myBucket.currentSizeForUser(user, 1234), 20000)
        self.assertEqual(myBucket.currentSizeForUser(user, 1234 + 21600), 5000)
        self.assertEqual(myBucket.currentSizeForUser(user, 1234 + 43200),
                         10000)
        self.assertEqual(myBucket.currentSizeForUser(user, 1234 + 64800),
                         15000)
        self.assertEqual(myBucket.currentSizeForUser(user, 1234 + 86400),
                         20000)
    def test_bucket_sync_too_fast(self):
        myBucket = Bucket(20000, drain_period=86400)

        user = _randomBytes()
        self.assertTrue(myBucket.userCanSyncAmount(user, 10000, 1234))
        self.assertEqual(myBucket.currentSizeForUser(user, 1234), 10000)
        self.assertTrue(myBucket.userCanSyncAmount(user, 10000, 1235))
        self.assertFalse(myBucket.userCanSyncAmount(user, 10000, 1236))