Пост-тестовый тестовый модуль Python утверждает против ввода, заголовков, полезной нагрузки
Как мне написать модульный тест для метода, который делает вызов REST после использования макета? Я хочу утверждать, что запрос был сделан для ожидаемого URI, с ожидаемыми заголовками и ожидаемой полезной нагрузкой.
Ниже приведен код, который я пробовал:
def mocked_requests_post(*args, **kwargs):
class MockResponse:
def __init__(self):
# simulate failed call
if kwargs['headers']['auth-key'] == '0000':
self.status_code = 401
else:
self.status_code = 200
self.args = args
self.kwargs = kwargs
return MockResponse()
@mock.patch('requests.post', side_effect=mocked_requests_post)
def test_send_api_call(self, mock_put):
status_code = method_that_makes_post_call()
self.assertEqual(status_code, 200)
#I also want to assert on the URI used in requests.post
# headers, payload
# mock_put object has call_args but I need to add hardcoded
# dereferencing into list such as mock_put.call_args[0][0]
Как я могу утверждать, не проходя через жестко закодированный mock_put.call_args_list?
Версия Python = 2.7.8