def test_get_topic_by_id__http_error_code__raises_api_error(error_code): response = Mock() response.status_code = error_code request_handler = Mock() request_handler.get = Mock(return_value=response) client = SubscriptionManagerClient(request_handler=request_handler) with pytest.raises(APIError): client.get_topic_by_id(1)
def test_get_topic_by_id__list_of_topics_is_returned(): topic_dict, expected_topic = make_topic() response = Mock() response.status_code = 200 response.content = topic_dict response.json = Mock(return_value=topic_dict) request_handler = Mock() request_handler.get = Mock(return_value=response) client = SubscriptionManagerClient(request_handler=request_handler) topic = client.get_topic_by_id(1) assert expected_topic == topic called_url = request_handler.get.call_args[0][0] assert BASE_URL + 'topics/1' == called_url