summaryrefslogtreecommitdiff
path: root/django/test/client.py
AgeCommit message (Collapse)Author
2012-03-15Reverted r16386 because it replaced a brittle method with another not lessRamiro Morales
arbitrary method when the test client checks for the presence of the bundled session backends+session middleware combination. We will revisit the issue soon, probably to make these checks even less strict. Refs #7836, #16605 git-svn-id: http://code.djangoproject.com/svn/django/trunk@17739 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-11-27Fixed #16040 -- Preserved scheme, host and port in the test client when ↵Aymeric Augustin
following a redirect. git-svn-id: http://code.djangoproject.com/svn/django/trunk@17157 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-10-18Fixed #17067 -- reverted some backwards-incompatible changes from r16933 and ↵Aymeric Augustin
added tests. git-svn-id: http://code.djangoproject.com/svn/django/trunk@17010 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-10-06Fixed #16705 - Made the test client adhere to the WSGI spec -- in ↵Aymeric Augustin
particular, removed the assumption that environ['QUERY_STRING'] exists. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16933 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-08-23Fixed #10571 -- Factored out the payload encoding code to make sure it is ↵Russell Keith-Magee
used for PUT requests. Thanks to kennu for the report, pterk for the patch, and wildfire for the review comments. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16651 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-07-13Fixed #16225 -- Removed unused imports. Many thanks to Aymeric Augustin for ↵Jannis Leidel
the work on the patch and Alex for reviewing. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16539 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-06-12Fixed #7836 -- Modified strategy used by the test client to check for ↵Ramiro Morales
session functionality so it is useful in environments where the DB-based session backend isn't being used. Thanks trevor for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16386 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-04-02Advanced deprecations in django.test.Russell Keith-Magee
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15986 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-03-28Removed a bunch more Python 2.4 workarounds now that we don't support that ↵Adrian Holovaty
version. Refs #15702 -- thanks to jonash for the patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@15927 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-02-21Fix broken tests due to changes in r15591 by updating the test ↵Chris Beaven
store_rendered_templates signal handler. git-svn-id: http://code.djangoproject.com/svn/django/trunk@15600 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2011-01-21Fixed #14753 -- Fixed the test client to not raise an AssertionError when ↵Ramiro Morales
request.raw_post_data is accessed from a view it has fetched with GET. Thanks zimnyx for the report and ojii for the patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@15254 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-12-22Fixed #14939: Don't strip ;-parameters from URLs in the test client.Andrew Godwin
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15027 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-11-11Made the deprecation warning for reponse.template more useful by pointing to ↵Luke Plant
the caller. git-svn-id: http://code.djangoproject.com/svn/django/trunk@14525 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-10-30Fixed #14588 -- Corrected r14393 to ensure that response middlewares are are ↵Russell Keith-Magee
always applied. Includes a battery of tests to validate the expected behavior of the middleware cycle. Thanks to Petr Marhoun for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@14398 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-10-18Fixed an naming problem with r14258. Thanks to Alex for the report.Russell Keith-Magee
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14260 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-10-18Fixed #14487 -- Prevented unittest from leaking into scope via a 'from ↵Russell Keith-Magee
django.test.testcases import *' import. Thanks to Jannis for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@14258 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-10-12Fixed #9002 -- Added a RequestFactory. This allows you to create request ↵Russell Keith-Magee
instances so you can unit test views as standalone functions. Thanks to Simon Willison for the suggestion and snippet on which this patch was originally based. git-svn-id: http://code.djangoproject.com/svn/django/trunk@14191 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-10-10Fixed #12226 -- Deprecated test client Response.template attribute in favor ↵Carl Meyer
of templates attribute, which is always a list. Thanks Russell for patch review. git-svn-id: http://code.djangoproject.com/svn/django/trunk@14106 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-08-27Fixed #14116 -- Added a flag to enable CSRF checks in the test client. ↵Russell Keith-Magee
Thanks to jon@licq.org for the suggestion. git-svn-id: http://code.djangoproject.com/svn/django/trunk@13640 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-08-21Fixed #13140 -- Ensure that request headers are preserved through redirect ↵Russell Keith-Magee
chains in the test client. Thanks to David Novakovic for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@13620 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-08-06Fixed #11159 -- Added mimetype detection to the test client for file ↵Russell Keith-Magee
uploads. Thanks to notanumber for the report and patch, and lomin for the test case. git-svn-id: http://code.djangoproject.com/svn/django/trunk@13517 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-04-13Fixed #13332 -- Corrected the cleanup code in the test client to avoid a ↵Russell Keith-Magee
refcounting problem with signal handlers. This is a fix for the benefit of PyPy's hybrid GC. Thanks to Alex Gaynor for the report and patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@12964 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-03-19Fixed #13152 -- Ensure the test client saves the session before writing the ↵Russell Keith-Magee
session key to the cookie, in case the session engine changes the session key. git-svn-id: http://code.djangoproject.com/svn/django/trunk@12806 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-02-13Fixed #12011 -- Modified the test client to preserve the request scheme on a ↵Russell Keith-Magee
redirect. Thanks to tgardner for the report and patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@12419 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2010-01-28Fixed #12720 -- Corrected handling of cookies in the TestClient. Thanks to ↵Russell Keith-Magee
James Henstridge for the report and patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@12343 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-10-26Fixed #9977 - CsrfMiddleware gets template tag added, session dependency ↵Luke Plant
removed, and turned on by default. This is a large change to CSRF protection for Django. It includes: * removing the dependency on the session framework. * deprecating CsrfResponseMiddleware, and replacing with a core template tag. * turning on CSRF protection by default by adding CsrfViewMiddleware to the default value of MIDDLEWARE_CLASSES. * protecting all contrib apps (whatever is in settings.py) using a decorator. For existing users of the CSRF functionality, it should be a seamless update, but please note that it includes DEPRECATION of features in Django 1.1, and there are upgrade steps which are detailed in the docs. Many thanks to 'Glenn' and 'bthomas', who did a lot of the thinking and work on the patch, and to lots of other people including Simon Willison and Russell Keith-Magee who refined the ideas. Details of the rationale for these changes is found here: http://code.djangoproject.com/wiki/CsrfProtection As of this commit, the CSRF code is mainly in 'contrib'. The code will be moved to core in a separate commit, to make the changeset as readable as possible. git-svn-id: http://code.djangoproject.com/svn/django/trunk@11660 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-10-26Fixed #11371: Made `django.test.Client.put()` work for non-form-data PUT ↵Jacob Kaplan-Moss
(i.e. JSON, etc.). Thanks, phyfus. git-svn-id: http://code.djangoproject.com/svn/django/trunk@11656 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-04-11Fixed #10571 -- Ensured that unicode POST data is correctly encoded by the ↵Russell Keith-Magee
test client. Thanks to Rick Wagner for his help identifying and fixing this problem. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10513 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-30Fixed #9978 -- Fixed a KeyError exception that was being raised when using ↵Gary Wilson Jr
the logout method on the test client on an unauthenticated user, based on patch from ericholscher. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10228 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-18Fixed #8193: all dynamic imports in Django are now done correctly. I know ↵Jacob Kaplan-Moss
this because Brett Cannon borrowed the time machine and brought Python 2.7's '`importlib` back for inclusion in Django. Thanks for the patch-from-the-future, Brett! git-svn-id: http://code.djangoproject.com/svn/django/trunk@10088 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-03-18Fixed #10482 -- Unified access to response.context when inspecting responses ↵Russell Keith-Magee
from the test client. Thanks to James Bennett for the design, and Julien Phalip for the patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10084 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-27Fixed #4476 -- Added a ``follow`` option to the test client request methods. ↵Russell Keith-Magee
This implements browser-like behavior for the test client, following redirect chains when a 30X response is received. Thanks to Marc Fargas and Keith Bussell for their work on this. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9911 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-02-21Fixed #8551 -- Added REMOTE_ADDR to the default Test Client environment. ↵Russell Keith-Magee
Thanks to schmichael for the report and patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9847 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2009-01-16Fixed #8138 -- Changed django.test.TestCase to rollback tests (when the ↵Karen Tracey
database supports it) instead of flushing and reloading the database. This can substantially reduce the time it takes to run large test suites. This change may be slightly backwards incompatible, if existing tests need to test transactional behavior, or if they rely on invalid assumptions or a specific test case ordering. For the first case, django.test.TransactionTestCase should be used. TransactionTestCase is also a quick fix to get around test case errors revealed by the new rollback approach, but a better long-term fix is to correct the test case. See the testing doc for full details. Many thanks to: * Marc Remolt for the initial proposal and implementation. * Luke Plant for initial testing and improving the implementation. * Ramiro Morales for feedback and help with tracking down a mysterious PostgreSQL issue. * Eric Holscher for feedback regarding the effect of the change on the Ellington testsuite. * Russell Keith-Magee for guidance and feedback from beginning to end. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9756 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-11-16Fixed #9585 -- Corrected code committed in [9398] that wasn't compatible ↵Russell Keith-Magee
with Python 2.3/2.4. Thanks to Karen Tracey for the report and fix. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9465 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-11-12Fixed #9351 -- Modified the test client to pass on URL encoded parameters to ↵Russell Keith-Magee
the underlying views. Thanks to sime for the suggestion. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9398 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-11-12Fixed #9369 -- Added QUERY_STRING info for PUT and DELETE requests in the ↵Russell Keith-Magee
test client. Thanks to david for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9397 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-11-12Fixed #8646 -- Modified test client to set a fully WSGI compliant ↵Russell Keith-Magee
environment. Thanks to Adam Lofts for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9396 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-10-07Fixed #5888 -- Added methods to the test client to support HEAD, PUT, DELETEMalcolm Tredinnick
and OPTIONS support. Thanks Scott Barr and Leah Culver. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9188 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-09-17Fixed #9117: Made the test client a new-style class. Thanks to Jan Oberst ↵Russell Keith-Magee
for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9066 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-28Fixed #8636: Corrected the test client to use the string '80' in the request ↵Russell Keith-Magee
META, rather than the integer 80. Thanks to Adam Lofts for the report and fix. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8655 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-15Fixed #7416: Modified test client to preserve session when a user logs in. ↵Russell Keith-Magee
Thanks to lakin.wecker@gmail.com for the report and Eric Holscher for the patch and test case. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8372 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-06Major refactoring of django.dispatch with an eye towards speed. The net ↵Jacob Kaplan-Moss
result is that signals are up to 90% faster. Though some attempts and backwards-compatibility were made, speed trumped compatibility. Thus, as usual, check BackwardsIncompatibleChanges for the complete list of backwards-incompatible changes. Thanks to Jeremy Dunck and Keith Busell for the bulk of the work; some ideas from Brian Herring's previous work (refs #4561) were incorporated. Documentation is, sigh, still forthcoming. Fixes #6814 and #3951 (with the new dispatch_uid argument to connect). git-svn-id: http://code.djangoproject.com/svn/django/trunk@8223 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-21Changed/fixed the way Django handles SCRIPT_NAME and PATH_INFO (orMalcolm Tredinnick
equivalents). Basically, URL resolving will only use the PATH_INFO and the SCRIPT_NAME will be prepended by reverse() automatically. Allows for more portable development and installation. Also exposes SCRIPT_NAME in the HttpRequest instance. There are a number of cases where things don't work completely transparently, so mod_python and fastcgi users should read the relevant docs. Fixed #285, #1516, #3414. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8015 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-19Revert [7991] - [7993]. I was committing from the wrong branch. Sorry 'boutMalcolm Tredinnick
that, folks. :-( git-svn-id: http://code.djangoproject.com/svn/django/trunk@7995 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-19First part of setting request.path correctly.Malcolm Tredinnick
Still needs: - testing - docs changes - some way of fixing reverse(). git-svn-id: http://code.djangoproject.com/svn/django/trunk@7991 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-07Fixed #7651: uploading multiple files with the same name now work. Also, in ↵Jacob Kaplan-Moss
order to test the problem the test client now handles uploading multiple files at once. Patch from Mike Axiak. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7858 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-02Got rid of a bit of repetition by using `dict.update()`.Gary Wilson Jr
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7821 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-02Minor style fixes.Gary Wilson Jr
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7820 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-01Fixed #2070: refactored Django's file upload capabilities.Jacob Kaplan-Moss
A description of the new features can be found in the new [http://www.djangoproject.com/documentation/upload_handing/ upload handling documentation]; the executive summary is that Django will now happily handle uploads of large files without issues. This changes the representation of uploaded files from dictionaries to bona fide objects; see BackwardsIncompatibleChanges for details. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7814 bcc190cf-cafb-0310-a4f2-bffc1f526a37