diff --git a/src/documents/tests/test_permission_filtering_security.py b/src/documents/tests/test_permission_filtering_security.py index aeb8be168..a27a7e2b9 100644 --- a/src/documents/tests/test_permission_filtering_security.py +++ b/src/documents/tests/test_permission_filtering_security.py @@ -1,6 +1,7 @@ from __future__ import annotations from http import HTTPStatus +from typing import TYPE_CHECKING from unittest.mock import patch import pytest @@ -25,6 +26,10 @@ from documents.tests.factories import DocumentTypeFactory from documents.tests.factories import StoragePathFactory from documents.tests.factories import TagFactory +if TYPE_CHECKING: + from django.db.models import Model + from factory.django import DjangoModelFactory + def assert_visible_document_ids(actual_ids, *, expected_visible, expected_hidden): actual_ids = set(actual_ids) @@ -453,7 +458,12 @@ class TestTrashRestorePermissionBoundary: ], ) class TestPermittedObjectIdsGenericModels: - def test_owner_sees_own_object(self, model, factory, perm): + def test_owner_sees_own_object( + self, + model: type[Model], + factory: type[DjangoModelFactory], + perm: str, + ) -> None: owner = User.objects.create_user(username=f"owner_{model.__name__}") stranger = User.objects.create_user(username=f"stranger_{model.__name__}") owned = factory(owner=owner) @@ -465,7 +475,12 @@ class TestPermittedObjectIdsGenericModels: expected_hidden=[strangers.pk], ) - def test_unowned_object_visible_to_everyone(self, model, factory, perm): + def test_unowned_object_visible_to_everyone( + self, + model: type[Model], + factory: type[DjangoModelFactory], + perm: str, + ) -> None: user = User.objects.create_user(username=f"user_{model.__name__}") unowned = factory(owner=None) @@ -475,7 +490,12 @@ class TestPermittedObjectIdsGenericModels: expected_hidden=[], ) - def test_explicit_permission_grants_visibility(self, model, factory, perm): + def test_explicit_permission_grants_visibility( + self, + model: type[Model], + factory: type[DjangoModelFactory], + perm: str, + ) -> None: owner = User.objects.create_user(username=f"owner2_{model.__name__}") grantee = User.objects.create_user(username=f"grantee_{model.__name__}") stranger = User.objects.create_user(username=f"stranger2_{model.__name__}") @@ -496,10 +516,10 @@ class TestPermittedObjectIdsGenericModels: def test_group_permission_grants_visibility_to_members_only( self, - model, - factory, - perm, - ): + model: type[Model], + factory: type[DjangoModelFactory], + perm: str, + ) -> None: owner = User.objects.create_user(username=f"owner3_{model.__name__}") member = User.objects.create_user(username=f"member_{model.__name__}") non_member = User.objects.create_user(username=f"nonmember_{model.__name__}") @@ -519,7 +539,12 @@ class TestPermittedObjectIdsGenericModels: expected_hidden=[shared.pk], ) - def test_superuser_sees_everything(self, model, factory, perm): + def test_superuser_sees_everything( + self, + model: type[Model], + factory: type[DjangoModelFactory], + perm: str, + ) -> None: superuser = User.objects.create_superuser(username=f"root_{model.__name__}") owner = User.objects.create_user(username=f"owner4_{model.__name__}") obj = factory(owner=owner)