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