Запросить заголовки в APITestCase - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть тест (APITestCase), и мне нужно указать пользовательские заголовки:

class ListAppsAPITest(APITestCase):
    def test_list_apps_versions(self):
        response = self.client.get(reverse('api:applications:list'), None, **{'Device-Id': 'deadbeef'})

Я пробовал разные комбинации аргументов, но это не сработало.

Как указать пользовательские заголовки в тестах?

1 Ответ

1 голос
/ 30 сентября 2019

Только потому, что у Django есть свой способ определения заголовка, вы можете взглянуть на здесь , чтобы понять, почему и как этого добиться.

За исключениемCONTENT_LENGTH и CONTENT_TYPE, как указано выше, любые заголовки HTTP в запросе преобразуются в ключи META путем преобразования всех символов в верхний регистр, замены любых дефисов подчеркиванием и добавления префикса HTTP_ к имени. Так, например, заголовок с именем X-Bender будет сопоставлен с ключом META HTTP_X_BENDER.

В вашем случае, например, так:

class ListAppsAPITest(APITestCase):
    def test_list_apps_versions(self):
        response = self.client.get(reverse('api:applications:list'), None, **{'HTTP_DEVICE_ID': 'deadbeef'})

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...