summaryrefslogtreecommitdiff
path: root/tests/auth_tests/test_models.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auth_tests/test_models.py')
-rw-r--r--tests/auth_tests/test_models.py41
1 files changed, 36 insertions, 5 deletions
diff --git a/tests/auth_tests/test_models.py b/tests/auth_tests/test_models.py
index 983424843c..a3e7a3205b 100644
--- a/tests/auth_tests/test_models.py
+++ b/tests/auth_tests/test_models.py
@@ -1,7 +1,5 @@
from unittest import mock
-from asgiref.sync import sync_to_async
-
from django.conf.global_settings import PASSWORD_HASHERS
from django.contrib.auth import get_user_model
from django.contrib.auth.backends import ModelBackend
@@ -30,10 +28,19 @@ class NaturalKeysTestCase(TestCase):
self.assertEqual(User.objects.get_by_natural_key("staff"), staff_user)
self.assertEqual(staff_user.natural_key(), ("staff",))
+ async def test_auser_natural_key(self):
+ staff_user = await User.objects.acreate_user(username="staff")
+ self.assertEqual(await User.objects.aget_by_natural_key("staff"), staff_user)
+ self.assertEqual(staff_user.natural_key(), ("staff",))
+
def test_group_natural_key(self):
users_group = Group.objects.create(name="users")
self.assertEqual(Group.objects.get_by_natural_key("users"), users_group)
+ async def test_agroup_natural_key(self):
+ users_group = await Group.objects.acreate(name="users")
+ self.assertEqual(await Group.objects.aget_by_natural_key("users"), users_group)
+
class LoadDataWithoutNaturalKeysTestCase(TestCase):
fixtures = ["regular.json"]
@@ -157,6 +164,17 @@ class UserManagerTestCase(TransactionTestCase):
is_superuser=False,
)
+ async def test_acreate_super_user_raises_error_on_false_is_superuser(self):
+ with self.assertRaisesMessage(
+ ValueError, "Superuser must have is_superuser=True."
+ ):
+ await User.objects.acreate_superuser(
+ username="test",
+ email="test@test.com",
+ password="test",
+ is_superuser=False,
+ )
+
def test_create_superuser_raises_error_on_false_is_staff(self):
with self.assertRaisesMessage(ValueError, "Superuser must have is_staff=True."):
User.objects.create_superuser(
@@ -166,6 +184,15 @@ class UserManagerTestCase(TransactionTestCase):
is_staff=False,
)
+ async def test_acreate_superuser_raises_error_on_false_is_staff(self):
+ with self.assertRaisesMessage(ValueError, "Superuser must have is_staff=True."):
+ await User.objects.acreate_superuser(
+ username="test",
+ email="test@test.com",
+ password="test",
+ is_staff=False,
+ )
+
def test_runpython_manager_methods(self):
def forwards(apps, schema_editor):
UserModel = apps.get_model("auth", "User")
@@ -301,9 +328,7 @@ class AbstractUserTestCase(TestCase):
@override_settings(PASSWORD_HASHERS=PASSWORD_HASHERS)
async def test_acheck_password_upgrade(self):
- user = await sync_to_async(User.objects.create_user)(
- username="user", password="foo"
- )
+ user = await User.objects.acreate_user(username="user", password="foo")
initial_password = user.password
self.assertIs(await user.acheck_password("foo"), True)
hasher = get_hasher("default")
@@ -557,6 +582,12 @@ class AnonymousUserTests(SimpleTestCase):
self.assertEqual(self.user.get_user_permissions(), set())
self.assertEqual(self.user.get_group_permissions(), set())
+ async def test_properties_async_versions(self):
+ self.assertEqual(await self.user.groups.acount(), 0)
+ self.assertEqual(await self.user.user_permissions.acount(), 0)
+ self.assertEqual(await self.user.aget_user_permissions(), set())
+ self.assertEqual(await self.user.aget_group_permissions(), set())
+
def test_str(self):
self.assertEqual(str(self.user), "AnonymousUser")