Add credential requirements tests to devel app
* Add models.py required file to app * Use user_passes_test instead of custom superuser checking in new_user_form as it implements the same "next" redirection as login_required Signed-off-by: Ismael Carnales <icarnales@gmail.com>
This commit is contained in:
parent
e0506afaf1
commit
3f8fe75d36
0
devel/models.py
Normal file
0
devel/models.py
Normal file
39
devel/tests.py
Normal file
39
devel/tests.py
Normal file
@ -0,0 +1,39 @@
|
||||
from django.test import TestCase
|
||||
|
||||
|
||||
class DevelTest(TestCase):
|
||||
|
||||
def test_index(self):
|
||||
response = self.client.get('/devel/')
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertEqual(response.has_header('Location'), True)
|
||||
self.assertEqual(response['location'],
|
||||
'http://testserver/login/?next=/devel/')
|
||||
|
||||
def test_notify(self):
|
||||
response = self.client.get('/devel/notify/')
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertEqual(response.has_header('Location'), True)
|
||||
self.assertEqual(response['location'],
|
||||
'http://testserver/login/?next=/devel/notify/')
|
||||
|
||||
def test_profile(self):
|
||||
response = self.client.get('/devel/profile/')
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertEqual(response.has_header('Location'), True)
|
||||
self.assertEqual(response['location'],
|
||||
'http://testserver/login/?next=/devel/profile/')
|
||||
|
||||
def test_newuser(self):
|
||||
response = self.client.get('/devel/newuser/')
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertEqual(response.has_header('Location'), True)
|
||||
self.assertEqual(response['location'],
|
||||
'http://testserver/login/?next=/devel/newuser/')
|
||||
|
||||
def test_mirrors(self):
|
||||
response = self.client.get('/mirrors/')
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertEqual(response.has_header('Location'), True)
|
||||
self.assertEqual(response['location'],
|
||||
'http://testserver/login/?next=/mirrors/')
|
@ -1,6 +1,6 @@
|
||||
from django import forms
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.contrib.auth.decorators import login_required, user_passes_test
|
||||
from django.contrib.auth.models import User
|
||||
from django.shortcuts import render_to_response
|
||||
from django.template import RequestContext
|
||||
@ -105,10 +105,8 @@ def save(self):
|
||||
[user.email],
|
||||
fail_silently=False)
|
||||
|
||||
@user_passes_test(lambda u: u.is_superuser)
|
||||
def new_user_form(request):
|
||||
if not request.user.is_superuser:
|
||||
return HttpResponseRedirect('/login/')
|
||||
|
||||
if request.POST:
|
||||
form = NewUserForm(request.POST)
|
||||
if form.is_valid():
|
||||
|
Loading…
Reference in New Issue
Block a user