Files
edx-platform/lms/djangoapps/django_comment_client/tests.py
2012-08-06 12:58:20 -04:00

36 lines
1.3 KiB
Python

from django.contrib.auth.models import User
from django.utils import unittest
import string
import random
from .permissions import student_role, moderator_role, add_permission, has_permission
from .models import Role, Permission
class PermissionsTestCase(unittest.TestCase):
def random_str(self, length=15, chars=string.ascii_uppercase + string.digits):
return ''.join(random.choice(chars) for x in range(length))
def setUp(self):
self.student = User.objects.create(username=self.random_str(),
password="123456", email="john@yahoo.com")
self.moderator = User.objects.create(username=self.random_str(),
password="123456", email="staff@edx.org")
self.moderator.is_staff = True
self.moderator.save()
def tearDown(self):
self.student.delete()
self.moderator.delete()
def testDefaultRoles(self):
self.assertTrue(student_role in self.student.roles.all())
self.assertTrue(moderator_role in self.moderator.roles.all())
def testPermission(self):
name = self.random_str()
Permission.register(name)
add_permission(moderator_role, name)
self.assertTrue(has_permission(self.moderator, name))
add_permission(self.student, name)
self.assertTrue(has_permission(self.student, name))