def test_decorator_require_authenticated_user(self): request = self.factory.get('/custom-url/') request.user = _get_non_auth_user_mock() view = decorators.group_required(['foo'])(dummy_view) response = view(request) expected_url = utils.get_login_url('http%3A//testserver/custom-url/') eq_(response['Location'], expected_url)
def test_user_not_in_group_fails(self): request = self.factory.get('/other-url/') request.user = self.user view = decorators.group_required(['foo'])(dummy_view) response = view(request) eq_(response.status_code, 200) eq_(response.template_name, 'unavailable.html')
def test_user_group_succeeds(self): request = self.factory.get('/resource-url/') request.user = self.user group = Group.objects.create(name='special_resources') group.user_set.add(self.user) view = decorators.group_required('special_resources')(dummy_view) response = view(request, 'OK') eq_(response, 'OK')
def test_decorator_missing_group_list_raises_exception(self): decorators.group_required()(dummy_view)