Merge pull request #2204 from jzelinskie/429builds

add rate limiting to build queues
This commit is contained in:
Jimmy Zelinskie 2016-12-07 15:03:31 -05:00 committed by GitHub
commit 00eafff747
7 changed files with 78 additions and 9 deletions

View file

@ -2,6 +2,7 @@ import unittest
import json
import time
from datetime import datetime, timedelta
from functools import wraps
from app import app
@ -226,6 +227,22 @@ class TestQueue(QueueTestCase):
self.assertEqual(self.reporter.running_count, 0)
self.assertEqual(self.reporter.total, 3)
def test_num_available_between(self):
now = datetime.utcnow()
self.queue.put(['abc', 'def'], self.TEST_MESSAGE_1, available_after=-10)
self.queue.put(['abc', 'ghi'], self.TEST_MESSAGE_2, available_after=-5)
# Partial results
count = self.queue.num_available_jobs_between(now-timedelta(seconds=8), now, ['abc'])
self.assertEqual(1, count)
# All results
count = self.queue.num_available_jobs_between(now-timedelta(seconds=20), now, ['/abc'])
self.assertEqual(2, count)
# No results
count = self.queue.num_available_jobs_between(now, now, 'abc')
self.assertEqual(0, count)
if __name__ == '__main__':
unittest.main()