Beispiel #1
0
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)
Beispiel #2
0
 def setUp(self, MessageQueue):
     self.message_queue = MessageQueue.return_value
     self.queue = EventQueue("test")