def test_subscriber__get_topics__sm_api_error__logs_error_and_raises_SubscriptionManagerServiceError(caplog): caplog.set_level(logging.DEBUG) broker_handler = mock.Mock() sm_service = mock.Mock() sm_service.get_topics = mock.Mock(side_effect=SubscriptionManagerServiceError('server error')) subscriber = Subscriber(broker_handler, sm_service) expected_message = f"Error while accessing Subscription Manager: server error" with pytest.raises(SubscriptionManagerServiceError) as e: subscriber.get_topics() assert "server error" == str(e.value) log_message = caplog.records[0] assert expected_message == log_message.message
def test_subscriber__get_topics__no_errors(): topics = [Topic(name='topic1'), Topic(name='topic2')] broker_handler = mock.Mock() sm_service = mock.Mock() sm_service.get_topics = mock.Mock(return_value=topics) subscriber = Subscriber(broker_handler, sm_service) assert topics == subscriber.get_topics()