Django-guardian¶
There is some extensions for django-guardian package.
Forms¶
Tests¶
Example usage¶
from django.core.urlresolvers import reverse
from django.test import TestCase
from atom.ext.guardian.tests import PermissionStatusMixin
from feder.monitorings.factories import MonitoringFactory
from feder.users.factories import UserFactory
class ObjectMixin(object):
def setUp(self):
self.user = UserFactory(username='john')
self.monitoring = self.permission_object = MonitoringFactory()
self.case = CaseFactory(monitoring=self.monitoring)
self.from_user = OutgoingLetterFactory(title='Wniosek',
case__monitoring=self.monitoring)
self.from_institution = IncomingLetterFactory(title='Odpowiedz',
case__monitoring=self.monitoring)
class LetterRssFeedTestCase(ObjectMixin, PermissionStatusMixin, TestCase):
status_anonymous = 200
status_no_permission = 200
permission = []
def get_url(self):
return reverse('letters:rss')
Docstrings¶
-
class
atom.ext.guardian.tests.
PermissionStatusMixin
[source]¶ Mixin to verify object permission status codes for different users
Require user with username=’john’ and password=’pass’
- Attributes:
- permission (list): Description status_anonymous (int): Status code for anonymouser status_has_permission (int): Status code for user with permission status_no_permission (403): Status code for user without permission url (string): url to test
-
get_permission
()[source]¶ Returns the permission to assign for granted permission user
- Returns:
- list: A list of permission in format
`codename.permission_name`
- Raises:
- ImproperlyConfigured: Missing a permission to assign
-
get_url
()[source]¶ Get url to tests
- Returns:
- str: url to test
- Raises:
- ImproperlyConfigured: Missing a url to test
-
permission
= None¶
-
status_anonymous
= 302¶
-
status_has_permission
= 200¶
-
status_no_permission
= 403¶
-
test_status_code_for_privileged_user
()[source]¶ A test for status code of response for privileged user
Grant permission to permission-carrying object and login before test
-
test_status_code_for_signed_user
()[source]¶ A test for status code of response for signed (logged-in) user
Only login before test.
-
url
= None¶