コード例 #1
0
    def test_bucket__put_get(self):
        x = buckets.TokenBucketQueue(fill_rate=10)
        x.put('The quick brown fox')
        self.assertEqual(x.get(), 'The quick brown fox')

        x.put_nowait('The lazy dog')
        time.sleep(0.2)
        self.assertEqual(x.get_nowait(), 'The lazy dog')
 def test_can_consume(self):
     x = buckets.TokenBucketQueue(fill_rate=1)
     x.put("The quick brown fox")
     self.assertEqual(x.get(), "The quick brown fox")
     time.sleep(0.1)
     # Not yet ready for another token
     x.put("The lazy dog")
     self.assertRaises(x.RateLimitExceeded, x.get)
コード例 #3
0
 def test_fill_rate(self):
     x = buckets.TokenBucketQueue(fill_rate=10)
     # 20 items should take at least one second to complete
     time_start = time.time()
     [x.put(str(i)) for i in xrange(20)]
     for i in xrange(20):
         sys.stderr.write('.')
         x.wait()
     self.assertGreater(time.time() - time_start, 1.5)
コード例 #4
0
 def test_qsize(self):
     x = buckets.TokenBucketQueue(fill_rate=1)
     x.put('The quick brown fox')
     self.assertEqual(x.qsize(), 1)
     self.assertEqual(x.get_nowait(), 'The quick brown fox')
コード例 #5
0
 def test_expected_time(self):
     x = buckets.TokenBucketQueue(fill_rate=1)
     x.put_nowait('The quick brown fox')
     self.assertEqual(x.get_nowait(), 'The quick brown fox')
     self.assertFalse(x.expected_time())
コード例 #6
0
 def empty_queue_yields_QueueEmpty(self):
     x = buckets.TokenBucketQueue(fill_rate=10)
     with self.assertRaises(buckets.Empty):
         x.get()
コード例 #7
0
 def test__get_queue_for_type(self):
     x = buckets.TaskBucket(task_registry={})
     x.buckets['foo'] = buckets.TokenBucketQueue(fill_rate=1)
     self.assertIs(x._get_queue_for_type('foo'), x.buckets['foo'].queue)
     x.buckets['bar'] = buckets.FastQueue()
     self.assertIs(x._get_queue_for_type('bar'), x.buckets['bar'])
コード例 #8
0
ファイル: test_buckets.py プロジェクト: yarelyc/oh-mainline
 def test__get_queue_for_type(self):
     x = buckets.TaskBucket(task_registry={})
     x.buckets["foo"] = buckets.TokenBucketQueue(fill_rate=1)
     self.assertIs(x._get_queue_for_type("foo"), x.buckets["foo"].queue)
     x.buckets["bar"] = buckets.FastQueue()
     self.assertIs(x._get_queue_for_type("bar"), x.buckets["bar"])