Ложные ответы Python с параметрами URL
У меня есть этот URL, и я успешно могу вызвать эти ответы.
https://www.udemy.com/api-2.0/courses/?page=1&page_size=5
Теперь я пытаюсь высмеивать ответы и тестирую свои API, но насмешливо выдает ConnectionError
with responses.RequestsMock() as rsps:
url = 'https://www.udemy.com/api-2.0/courses/?page=1&page_size=5'
rsps.add(responses.GET, url,
body=mocked_json, status=status_code,
content_type='application/json')
Ошибка:-
ConnectionError: Connection refused: GET https://www.udemy.com/api-2.0/courses?page=1&page_size=5
2 ответа
Ваш пример кода не завершен, но я адаптировал некоторые примеры на основе вашего примера.
import responses
import requests
with responses.RequestsMock() as rsps:
url = 'https://www.udemy.com/api-2.0/courses/?page=1&page_size=5'
mocked_json = '{"key": "value"}'
status_code = 200
rsps.add(
responses.GET,
url,
body=mocked_json,
status=status_code,
content_type='application/json'
)
resp = requests.get('https://www.udemy.com/api-2.0/courses/?page=1&page_size=5')
assert resp.status_code == 200
Вы можете использовать запросы
Сделать что-то вроде:
url = 'https://www.udemy.com/api-2.0/courses/?page=1&page_size=5'
expected_response = get_test_mock_response()
with requests_mock.mock() as req_mock:
req_mock.get(url, text=expected_response, status_code=200)
res = call_real_request_method()
assert res == expected_response, 'Bad response received'
Попробуйте его документацию, вы можете сделать много интересных вещей с ним.