class EventQueueTests(unittest.TestCase): @mock.patch("baseplate.events.queue.MessageQueue", autospec=MessageQueue) def setUp(self, MessageQueue): self.message_queue = MessageQueue.return_value self.queue = EventQueue("test") def test_send_event(self): mock_event = mock.Mock(autospec=Event) mock_event.serialize.return_value = "i_am_serialized" self.queue.put(mock_event) self.assertEqual(self.message_queue.put.call_count, 1) args, kwargs = self.message_queue.put.call_args self.assertEqual(args[0], mock_event.serialize.return_value) def test_event_too_large(self): mock_event = mock.Mock(autospec=Event) mock_event.serialize.return_value = "x" * (MAX_EVENT_SIZE+1) with self.assertRaises(EventTooLargeError): self.queue.put(mock_event) def test_event_queue_full(self): mock_event = mock.Mock(autospec=Event) mock_event.serialize.return_value = "" self.message_queue.put.side_effect = TimedOutError with self.assertRaises(EventQueueFullError): self.queue.put(mock_event)
def setUp(self, MessageQueue): self.message_queue = MessageQueue.return_value self.queue = EventQueue("test")