Создать макет, который будет возвращать обычные заголовки, если они будут получены этим макетом

Я использовал responses в Python для возврата кодов ответов и т. д. при издевательстве в некоторых моих тестах.

Теперь я хочу сделать тест, где я делаю PUT с некоторыми определенными пользовательскими заголовками, и если они были получены макетом, я бы хотел включить их в ответ, а если нет, то их нет в ответе. Это возможно, и если да, то как это сделать?

Дополнительная информация

Я думаю, что мне нужно сделать, это настроить фиктивный сервер и ударить его с моим PUT а не реальный сервер. Я использую Python 2.7.8, так что думаю, что это должно быть сделано с SimpleHTTPServer. Что мне нужно сделать, это иметь мой тестовый запуск сервера в отдельном потоке, иметь мой PUT нажмите на это и оттуда проверьте сообщение, которое фиктивный сервер получает для моих заголовков.

Я пытаюсь это адаптировать, но не совсем уверен, как это сделать. Любая помощь будет оценена.

Я вижу, как запускается мой фиктивный сервер, но когда я PUT Я получаю этот ответ:

<head>
<title>Error response</title>
</head>
<body>
<h1>Error response</h1>
<p>Error code 501.
<p>Message: Unsupported method ('PUT').
<p>Error code explanation: 501 = Server does not support this operation.
</body>

SimpleHTTPServer не поддерживает PUT, поэтому я добавил этот класс в свою программу:

Когда я выполню server.test(HandlerClass=HTTPRequestHandler) в моем тесте я получаю эту ошибку:

Traceback (most recent call last):
  File "<string>", line 3, in wrapper
  File "/Users/me/git/config_test/test_config.py", line 512, in test_headers
server.test(HandlerClass=HTTPRequestHandler)
  File "/Users/me/.pyenv/versions/2.7.8/lib/python2.7/SimpleHTTPServer.py", line 226, in test
    BaseHTTPServer.test(HandlerClass, ServerClass)
  File "/Users/me/.pyenv/versions/2.7.8/lib/python2.7/BaseHTTPServer.py", line 589, in test
    port = int(sys.argv[1])
ValueError: invalid literal for int() with base 10: 'config_test.test_config:TestConfig.test_headers'

0 ответов

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