def test_process_nsq_topic_creates_sentry_client(fake_sentry, get_reader): settings = {} queue = Queue() nsq.process_nsq_topic(settings, 'donkeys', queue, raise_error=False) fake_sentry.get_client.assert_called_once_with(settings)
def test_process_nsq_topic_joins_reader(get_reader): settings = {} reader = get_reader.return_value queue = Queue() nsq.process_nsq_topic(settings, 'gorillas', queue, raise_error=False) reader.join.assert_called_once_with(raise_error=False)
def test_process_nsq_topic_starts_reader(get_reader): settings = {} reader = get_reader.return_value queue = Queue() nsq.process_nsq_topic(settings, 'donkeys', queue, raise_error=False) reader.start.assert_called_once_with()
def test_process_nsq_topic_creates_reader_for_topic(get_reader): settings = {} queue = Queue() nsq.process_nsq_topic(settings, 'donkeys', queue, raise_error=False) get_reader.assert_any_call(settings, 'donkeys', mock.ANY, sentry_client=mock.ANY)
def test_process_nsq_topic_raises_if_reader_exits_early(get_reader): settings = {} reader = get_reader.return_value queue = Queue() with pytest.raises(RuntimeError): nsq.process_nsq_topic(settings, 'gorillas', queue) reader.join.assert_called_once_with(raise_error=True)
def test_process_nsq_topic_connects_reader_on_message_to_handle_message(get_reader): settings = {} queue = Queue() message = mock.Mock(body='hello') reader = get_reader.return_value reader.topic = 'donkeys' nsq.process_nsq_topic(settings, 'donkeys', queue, raise_error=False) message_handler = reader.on_message.connect.call_args[1]['receiver'] message_handler(reader, message) result = queue.get_nowait() assert result.topic == 'donkeys' assert result.payload == 'hello'
def test_process_nsq_topic_connects_reader_on_message_to_handle_message( get_reader): settings = {} queue = Queue() message = mock.Mock(body='hello') reader = get_reader.return_value reader.topic = 'donkeys' nsq.process_nsq_topic(settings, 'donkeys', queue, raise_error=False) message_handler = reader.on_message.connect.call_args[1]['receiver'] message_handler(reader, message) result = queue.get_nowait() assert result.topic == 'donkeys' assert result.payload == 'hello'