mirror of https://github.com/django/django.git
Fixed #4526 -- Modified the test Client login method to fail when a user is inactive. Thanks, marcin@elksoft.pl.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5677 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
b9232cd955
commit
b8d0dc73c7
|
@ -225,10 +225,11 @@ class Client:
|
||||||
"""Set the Client to appear as if it has sucessfully logged into a site.
|
"""Set the Client to appear as if it has sucessfully logged into a site.
|
||||||
|
|
||||||
Returns True if login is possible; False if the provided credentials
|
Returns True if login is possible; False if the provided credentials
|
||||||
are incorrect, or if the Sessions framework is not available.
|
are incorrect, or the user is inactive, or if the Sessions framework is
|
||||||
|
not available.
|
||||||
"""
|
"""
|
||||||
user = authenticate(**credentials)
|
user = authenticate(**credentials)
|
||||||
if user and 'django.contrib.sessions' in settings.INSTALLED_APPS:
|
if user and user.is_active and 'django.contrib.sessions' in settings.INSTALLED_APPS:
|
||||||
obj = Session.objects.get_new_session_object()
|
obj = Session.objects.get_new_session_object()
|
||||||
|
|
||||||
# Create a fake request to store login details
|
# Create a fake request to store login details
|
||||||
|
|
|
@ -16,5 +16,23 @@
|
||||||
"email": "testclient@example.com",
|
"email": "testclient@example.com",
|
||||||
"date_joined": "2006-12-17 07:03:31"
|
"date_joined": "2006-12-17 07:03:31"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pk": "2",
|
||||||
|
"model": "auth.user",
|
||||||
|
"fields": {
|
||||||
|
"username": "inactive",
|
||||||
|
"first_name": "Inactive",
|
||||||
|
"last_name": "User",
|
||||||
|
"is_active": false,
|
||||||
|
"is_superuser": false,
|
||||||
|
"is_staff": false,
|
||||||
|
"last_login": "2006-12-17 07:03:31",
|
||||||
|
"groups": [],
|
||||||
|
"user_permissions": [],
|
||||||
|
"password": "sha1$6efc0$f93efe9fd7542f25a7be94871ea45aa95de57161",
|
||||||
|
"email": "testclient@example.com",
|
||||||
|
"date_joined": "2006-12-17 07:03:31"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
|
@ -228,6 +228,12 @@ class ClientTest(TestCase):
|
||||||
login = self.client.login(username='otheruser', password='nopassword')
|
login = self.client.login(username='otheruser', password='nopassword')
|
||||||
self.failIf(login)
|
self.failIf(login)
|
||||||
|
|
||||||
|
def test_view_with_inactive_login(self):
|
||||||
|
"Request a page that is protected with @login, but use an inactive login"
|
||||||
|
|
||||||
|
login = self.client.login(username='inactive', password='password')
|
||||||
|
self.failIf(login)
|
||||||
|
|
||||||
def test_session_modifying_view(self):
|
def test_session_modifying_view(self):
|
||||||
"Request a page that modifies the session"
|
"Request a page that modifies the session"
|
||||||
# Session value isn't set initially
|
# Session value isn't set initially
|
||||||
|
|
Loading…
Reference in New Issue