Permalink
Browse files

Minor style fixes.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@7820 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
1 parent 54d50ef commit 7e210f68a9d2b4f7ebce5fdb2afdb517c18fc5aa @gdub gdub committed Jul 2, 2008
Showing with 37 additions and 26 deletions.
  1. +37 −26 django/test/client.py
View
@@ -5,6 +5,7 @@
from cStringIO import StringIO
except ImportError:
from StringIO import StringIO
+
from django.conf import settings
from django.contrib.auth import authenticate, login
from django.core.handlers.base import BaseHandler
@@ -22,6 +23,7 @@
BOUNDARY = 'BoUnDaRyStRiNg'
MULTIPART_CONTENT = 'multipart/form-data; boundary=%s' % BOUNDARY
+
class FakePayload(object):
"""
A wrapper around StringIO that restricts what can be read since data from
@@ -41,6 +43,7 @@ def read(self, num_bytes=None):
self.__len -= num_bytes
return content
+
class ClientHandler(BaseHandler):
"""
A HTTP Handler that can be used for testing purposes.
@@ -61,7 +64,7 @@ def __call__(self, environ):
request = WSGIRequest(environ)
response = self.get_response(request)
- # Apply response middleware
+ # Apply response middleware.
for middleware_method in self._response_middleware:
response = middleware_method(request, response)
response = self.apply_response_fixes(request, response)
@@ -71,14 +74,15 @@ def __call__(self, environ):
return response
def store_rendered_templates(store, signal, sender, template, context):
- "A utility function for storing templates and contexts that are rendered"
+ """
+ Stores templates and contexts that are rendered.
+ """
store.setdefault('template',[]).append(template)
store.setdefault('context',[]).append(context)
def encode_multipart(boundary, data):
"""
- A simple method for encoding multipart POST data from a dictionary of
- form values.
+ Encodes multipart POST data from a dictionary of form values.
The key will be used as the form data name; the value will be transmitted
as content. If the value is a file, the contents of the file will be sent
@@ -90,7 +94,8 @@ def encode_multipart(boundary, data):
if isinstance(value, file):
lines.extend([
'--' + boundary,
- 'Content-Disposition: form-data; name="%s"; filename="%s"' % (to_str(key), to_str(os.path.basename(value.name))),
+ 'Content-Disposition: form-data; name="%s"; filename="%s"' \
+ % (to_str(key), to_str(os.path.basename(value.name))),
'Content-Type: application/octet-stream',
'',
value.read()
@@ -144,13 +149,14 @@ def __init__(self, **defaults):
def store_exc_info(self, *args, **kwargs):
"""
- Utility method that can be used to store exceptions when they are
- generated by a view.
+ Stores exceptions when they are generated by a view.
"""
self.exc_info = sys.exc_info()
def _session(self):
- "Obtain the current session variables"
+ """
+ Obtains the current session variables.
+ """
if 'django.contrib.sessions' in settings.INSTALLED_APPS:
engine = __import__(settings.SESSION_ENGINE, {}, {}, [''])
cookie = self.cookies.get(settings.SESSION_COOKIE_NAME, None)
@@ -166,7 +172,6 @@ def request(self, **request):
Assumes defaults for the query environment, which can be overridden
using the arguments to the request.
"""
-
environ = {
'HTTP_COOKIE': self.cookies,
'PATH_INFO': '/',
@@ -180,13 +185,13 @@ def request(self, **request):
environ.update(self.defaults)
environ.update(request)
- # Curry a data dictionary into an instance of
- # the template renderer callback function
+ # Curry a data dictionary into an instance of the template renderer
+ # callback function.
data = {}
on_template_render = curry(store_rendered_templates, data)
dispatcher.connect(on_template_render, signal=signals.template_rendered)
- # Capture exceptions created by the handler
+ # Capture exceptions created by the handler.
dispatcher.connect(self.store_exc_info, signal=got_request_exception)
try:
@@ -209,14 +214,14 @@ def request(self, **request):
exc_info = self.exc_info
self.exc_info = None
raise exc_info[1], None, exc_info[2]
-
- # Save the client and request that stimulated the response
+
+ # Save the client and request that stimulated the response.
response.client = self
response.request = request
- # Add any rendered template detail to the response
+ # Add any rendered template detail to the response.
# If there was only one template rendered (the most likely case),
- # flatten the list to a single element
+ # flatten the list to a single element.
for detail in ('template', 'context'):
if data.get(detail):
if len(data[detail]) == 1:
@@ -226,14 +231,16 @@ def request(self, **request):
else:
setattr(response, detail, None)
- # Update persistent cookie data
+ # Update persistent cookie data.
if response.cookies:
self.cookies.update(response.cookies)
return response
def get(self, path, data={}, **extra):
- "Request a response from the server using GET."
+ """
+ Requests a response from the server using GET.
+ """
r = {
'CONTENT_LENGTH': None,
'CONTENT_TYPE': 'text/html; charset=utf-8',
@@ -246,8 +253,9 @@ def get(self, path, data={}, **extra):
return self.request(**r)
def post(self, path, data={}, content_type=MULTIPART_CONTENT, **extra):
- "Request a response from the server using POST."
-
+ """
+ Requests a response from the server using POST.
+ """
if content_type is MULTIPART_CONTENT:
post_data = encode_multipart(BOUNDARY, data)
else:
@@ -265,38 +273,41 @@ def post(self, path, data={}, content_type=MULTIPART_CONTENT, **extra):
return self.request(**r)
def login(self, **credentials):
- """Set the Client to appear as if it has sucessfully logged into a site.
+ """
+ Sets the Client to appear as if it has successfully logged into a site.
Returns True if login is possible; False if the provided credentials
are incorrect, or the user is inactive, or if the sessions framework is
not available.
"""
user = authenticate(**credentials)
- if user and user.is_active and 'django.contrib.sessions' in settings.INSTALLED_APPS:
+ if user and user.is_active \
+ and 'django.contrib.sessions' in settings.INSTALLED_APPS:
engine = __import__(settings.SESSION_ENGINE, {}, {}, [''])
- # Create a fake request to store login details
+ # Create a fake request to store login details.
request = HttpRequest()
request.session = engine.SessionStore()
login(request, user)
- # Set the cookie to represent the session
+ # Set the cookie to represent the session.
self.cookies[settings.SESSION_COOKIE_NAME] = request.session.session_key
self.cookies[settings.SESSION_COOKIE_NAME]['max-age'] = None
self.cookies[settings.SESSION_COOKIE_NAME]['path'] = '/'
self.cookies[settings.SESSION_COOKIE_NAME]['domain'] = settings.SESSION_COOKIE_DOMAIN
self.cookies[settings.SESSION_COOKIE_NAME]['secure'] = settings.SESSION_COOKIE_SECURE or None
self.cookies[settings.SESSION_COOKIE_NAME]['expires'] = None
- # Save the session values
+ # Save the session values.
request.session.save()
return True
else:
return False
def logout(self):
- """Removes the authenticated user's cookies.
+ """
+ Removes the authenticated user's cookies.
Causes the authenticated user to be logged out.
"""

0 comments on commit 7e210f6

Please sign in to comment.