Skip to content
This repository was archived by the owner on May 26, 2020. It is now read-only.

Commit fab983a

Browse files
committed
Use different backends depending on the version.
1 parent 6a8fc52 commit fab983a

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

tests/test_serializers.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import unittest
22
from distutils.version import StrictVersion
33

4-
import rest_framework
4+
import django
55
from django.test import TestCase
6+
from django.test.utils import override_settings
7+
import rest_framework
68

79
from rest_framework_jwt.compat import get_user_model
810
from rest_framework_jwt.serializers import JSONWebTokenSerializer
@@ -68,6 +70,9 @@ def test_invalid_credentials(self):
6870
self.assertFalse(is_valid)
6971
self.assertEqual(serializer.errors, expected_error)
7072

73+
@unittest.skipIf(
74+
django.VERSION[1] >= 10,
75+
reason='The ModelBackend does not permit login when is_active is False.')
7176
def test_disabled_user(self):
7277
self.user.is_active = False
7378
self.user.save()
@@ -82,6 +87,25 @@ def test_disabled_user(self):
8287
self.assertFalse(is_valid)
8388
self.assertEqual(serializer.errors, expected_error)
8489

90+
@unittest.skipUnless(
91+
django.VERSION[1] >= 10,
92+
reason='The AllowAllUsersModelBackend permits login when is_active is False.')
93+
@override_settings(AUTHENTICATION_BACKENDS=[
94+
'django.contrib.auth.backends.AllowAllUsersModelBackend'])
95+
def test_disabled_user_all_users_backend(self):
96+
self.user.is_active = False
97+
self.user.save()
98+
99+
serializer = JSONWebTokenSerializer(data=self.data)
100+
is_valid = serializer.is_valid()
101+
102+
expected_error = {
103+
'non_field_errors': ['User account is disabled.']
104+
}
105+
106+
self.assertFalse(is_valid)
107+
self.assertEqual(serializer.errors, expected_error)
108+
85109
def test_required_fields(self):
86110
serializer = JSONWebTokenSerializer(data={})
87111
is_valid = serializer.is_valid()

0 commit comments

Comments
 (0)