blob: ac7f912a82cec1f4f33486ec0f16f9359325014a [file]
import mock
from django.core.exceptions import PermissionDenied
from django.test import TestCase
from dauthz.middlewares import EnforcerMiddleware, RequestMiddleware
from .utils import make_request
class TestConfig(TestCase):
def test_request_middleware(self):
get_response = mock.MagicMock()
request = make_request(False, "alice1", "/", "GET")
request_middleware = RequestMiddleware(get_response)
try:
request_middleware.process_request(request)
except PermissionDenied:
pass
else:
self.fail("PermissionDenied not raised")
request_middleware.enforcer.add_policy("alice1", "/", "GET")
assert request_middleware.enforcer.enforce("alice1", "/", "GET") is True
try:
request_middleware.process_request(request)
except PermissionDenied:
self.fail("PermissionDenied shouldn't be raised")
else:
pass
def test_enforcer_middleware(self):
get_response = mock.MagicMock()
request = make_request(False, "alice2", "", "")
enforcer_middleware = EnforcerMiddleware(get_response, "book", "read")
try:
enforcer_middleware.process_request(request)
except PermissionDenied:
pass
else:
self.fail("PermissionDenied not raised")
enforcer_middleware.enforcer.add_policy("alice2", "book", "read")
assert enforcer_middleware.enforcer.enforce("alice2", "book", "read") is True
try:
enforcer_middleware.process_request(request)
except PermissionDenied:
self.fail("PermissionDenied shouldn't be raised")
else:
pass