Skip to content

Commit

Permalink
Test make_decorator
Browse files Browse the repository at this point in the history
  • Loading branch information
jpic committed Feb 13, 2013
1 parent d6d3908 commit 4d35cdf
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 23 deletions.
1 change: 1 addition & 0 deletions rules_light/tests/__init__.py
Expand Up @@ -3,3 +3,4 @@
from autodiscover import AutodiscoverTestCase from autodiscover import AutodiscoverTestCase
from views import ViewsTestCase from views import ViewsTestCase
from decorators import DecoratorsTestCase from decorators import DecoratorsTestCase
from shortcuts import ShortcutsTestCase
40 changes: 17 additions & 23 deletions rules_light/tests/decorators.py
@@ -1,34 +1,28 @@
import unittest import unittest


from django.contrib.auth.models import User

import rules_light import rules_light


@rules_light.make_decorator
def return_true(*args):
return True


class DecoratorsTestCase(unittest.TestCase):
def setUp(self):
self.user, c = User.objects.get_or_create(username='foo')
self.admin, c = User.objects.get_or_create(username='bar',
is_staff=True)


def test_is_authenticated_decorator(self): @rules_light.make_decorator
return_true = rules_light.is_authenticated(lambda u, r: True) def return_false(*args):
return False


self.assertFalse(return_true(None, 'foo'))
self.assertTrue(return_true(self.user, 'foo'))


def test_is_authenticated_rule(self): class DecoratorsTestCase(unittest.TestCase):
self.assertFalse(rules_light.is_authenticated(None, 'foo')) def test_decorator_return_true(self):
self.assertTrue(rules_light.is_authenticated(self.user, 'foo')) rule = return_true(lambda x, y: True)
self.assertTrue(rule('x', 'y'))


def test_is_staff_decorator(self): rule = return_true(lambda x, y: False)
return_true = rules_light.is_staff(lambda u, r: True) self.assertFalse(rule('x', 'y'))


self.assertFalse(return_true(None, 'foo')) def test_decorator_return_false(self):
self.assertFalse(return_true(self.user, 'foo')) rule = return_false(lambda x, y: True)
self.assertTrue(return_true(self.admin, 'foo')) self.assertFalse(rule('x', 'y'))


def test_is_staff_rule(self): rule = return_false(lambda x, y: False)
self.assertFalse(rules_light.is_staff(None, 'foo')) self.assertFalse(rule('x', 'y'))
self.assertFalse(rules_light.is_staff(self.user, 'foo'))
self.assertTrue(rules_light.is_staff(self.admin, 'foo'))
34 changes: 34 additions & 0 deletions rules_light/tests/shortcuts.py
@@ -0,0 +1,34 @@
import unittest

from django.contrib.auth.models import User

import rules_light


class ShortcutsTestCase(unittest.TestCase):
def setUp(self):
self.user, c = User.objects.get_or_create(username='foo')
self.admin, c = User.objects.get_or_create(username='bar',
is_staff=True)

def test_is_authenticated_decorator(self):
return_true = rules_light.is_authenticated(lambda u, r: True)

self.assertFalse(return_true(None, 'foo'))
self.assertTrue(return_true(self.user, 'foo'))

def test_is_authenticated_rule(self):
self.assertFalse(rules_light.is_authenticated(None, 'foo'))
self.assertTrue(rules_light.is_authenticated(self.user, 'foo'))

def test_is_staff_decorator(self):
return_true = rules_light.is_staff(lambda u, r: True)

self.assertFalse(return_true(None, 'foo'))
self.assertFalse(return_true(self.user, 'foo'))
self.assertTrue(return_true(self.admin, 'foo'))

def test_is_staff_rule(self):
self.assertFalse(rules_light.is_staff(None, 'foo'))
self.assertFalse(rules_light.is_staff(self.user, 'foo'))
self.assertTrue(rules_light.is_staff(self.admin, 'foo'))

0 comments on commit 4d35cdf

Please sign in to comment.