Пост-тестовый тестовый модуль 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

0 ответов

Другие вопросы по тегам