Как добавить заголовок к запросу Django RequestFactory?

Чтобы вручную отправить GET-запрос с заголовком, я делаю это с помощью curl:

curl http://example.com/endpoint -H "Key: Value"

Я хочу написать модульный тест, который делает запрос (используя django.test.RequestFactory), содержащий заголовок. Как я могу добавить заголовок в запрос?

Для ясности, ниже приведен пример того, что я хотел бы иметь возможность сделать, хотя то, что я написал ниже, не является корректным кодом, потому что RequestFactory.get() не имеет headers параметра:

from django.test import TestCase, RequestFactory


class TestClassForMyDjangoApp(TestCase):
    def test_for_my_app(self):
        factory = RequestFactory()
        
        my_header = 'Key: Value'
        factory.get('/endpoint/', headers=my_header)

Вам нужно передать HTTP_* kwargs в get(...) (или любой другой допустимый http метод), чтобы передать пользовательский HTTP заголовок в запросе.


class TestClassForMyDjangoApp(TestCase):
    def test_for_my_app(self):
        factory = RequestFactory()
        my_header = {"HTTP_CUSTOM_KEY": "VALUE"}
        request = factory.get("/some/url/", **my_header)
        print(request.headers) # {'Custom-Key': 'VALUE'}
Вернуться на верх