У меня есть отдельный settings
файл для тестовой среды.Я использую DRF для аутентификации, но установил разрешение по умолчанию как rest_framework.permissions.AllowAny
в файле test_setting
.Теперь, чтобы проверить, работает ли аутентификация или нет, мне нужно переопределить ключ.Но, похоже, это не работает.
Я использую декоратор @override_settings
.Но это не похоже на работу. Если я изменю файл setttings
напрямую, то тест пройден.
@override_settings(REST_FRAMEWORK={
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
)
})
class AuthenticationTest(TestCase):
def test_api_should_not_be_hit_without_authorization(self):
response = client.get(reverse('some_api', kwargs={'key': value}))
self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)
Я ожидаю код состояния 401, но, похоже, он проходит и выдаетмне 200. Я вставил приведенный ниже код в тест, и он показывает, что REST FRAMEWORK
действительно был переопределен, но тест по-прежнему не удается.
from django.conf import settings
dir(settings)
print(settings.REST_FRAMEWORK)
РЕДАКТИРОВАТЬ:
Вот ответ, который я получаю: <Response status_code=200, "application/json">
Спасибо