Add a bulk insert for queue and notifications.
Use it for Clair spawned notifications.
This commit is contained in:
parent
eb363876cd
commit
21e3001446
4 changed files with 110 additions and 36 deletions
|
@ -67,8 +67,9 @@ class TestQueue(QueueTestCase):
|
|||
self.assertEqual(self.reporter.running_count, None)
|
||||
self.assertEqual(self.reporter.total, None)
|
||||
|
||||
self.queue.put(['abc', 'def'], self.TEST_MESSAGE_1, available_after=-1)
|
||||
self.queue.put(['abc', 'def'], self.TEST_MESSAGE_2, available_after=-1)
|
||||
id_1 = int(self.queue.put(['abc', 'def'], self.TEST_MESSAGE_1, available_after=-1))
|
||||
id_2 = int(self.queue.put(['abc', 'def'], self.TEST_MESSAGE_2, available_after=-1))
|
||||
self.assertEqual(id_1 + 1, id_2)
|
||||
self.assertEqual(self.reporter.currently_processing, False)
|
||||
self.assertEqual(self.reporter.running_count, 0)
|
||||
self.assertEqual(self.reporter.total, 1)
|
||||
|
@ -202,6 +203,28 @@ class TestQueue(QueueTestCase):
|
|||
msg = str(json_body['data'])
|
||||
self.assertIn(msg, seen)
|
||||
|
||||
def test_bulk_insert(self):
|
||||
self.assertEqual(self.reporter.currently_processing, None)
|
||||
self.assertEqual(self.reporter.running_count, None)
|
||||
self.assertEqual(self.reporter.total, None)
|
||||
|
||||
with self.queue.batch_insert() as queue_put:
|
||||
queue_put(['abc', 'def'], self.TEST_MESSAGE_1, available_after=-1)
|
||||
queue_put(['abc', 'def'], self.TEST_MESSAGE_2, available_after=-1)
|
||||
|
||||
self.queue.update_metrics()
|
||||
self.assertEqual(self.reporter.currently_processing, False)
|
||||
self.assertEqual(self.reporter.running_count, 0)
|
||||
self.assertEqual(self.reporter.total, 1)
|
||||
|
||||
with self.queue.batch_insert() as queue_put:
|
||||
queue_put(['abd', 'def'], self.TEST_MESSAGE_1, available_after=-1)
|
||||
queue_put(['abd', 'ghi'], self.TEST_MESSAGE_2, available_after=-1)
|
||||
|
||||
self.queue.update_metrics()
|
||||
self.assertEqual(self.reporter.currently_processing, False)
|
||||
self.assertEqual(self.reporter.running_count, 0)
|
||||
self.assertEqual(self.reporter.total, 3)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
|
Reference in a new issue