Commit Graph

196 Commits

Author SHA1 Message Date
Tommy Beadle d3fdaf907d Fixed #23727 -- Inhibited the post_migrate signal when using serialized_rollback.
When using a TransactionTestCase with serialized_rollback=True,
after creating the database and running its migrations (along with
emitting the post_migrate signal), the contents of the database
are serialized to _test_serialized_contents.

After the first test case, _fixture_teardown() would flush the
tables but then the post_migrate signal would be emitted and new
rows (with new PKs) would be created in the django_content_type
table. Then in any subsequent test cases in a suite,
_fixture_setup() attempts to deserialize the content of
 _test_serialized_contents, but these rows are identical to the
rows already in the database except for their PKs.  This causes an
IntegrityError due to the unique constraint in the
django_content_type table.

This change made it so that in the above scenario the post_migrate
signal is not emitted after flushing the tables, since it will be
repopulated during fixture_setup().
2015-08-24 08:59:20 -04:00
Markus Holtermann f33607ce0b Fixed style issues in testing docs 2015-08-19 12:18:10 +10:00
Anton Strogonoff 20787b5c29 Used consistent capitalization and hyphenation of "class-based views" in docs. 2015-08-18 19:07:10 -04:00
Claude Paroz 64982cc2fb Updated Wikipedia links to use https 2015-08-08 12:02:32 +02:00
Tim Graham 6bb4f07372 Clarified assertRaisesMessage() behavior with respect to the message. 2015-07-31 09:19:27 -04:00
Tim Graham d27e0f04a6 Fixed #25190 -- Deprecated callable_obj parameter to assertRaisesMessage().
Thanks Aymeric Augustin for review.
2015-07-30 10:12:41 -04:00
Tim Graham 87d55081ea Fixed #25159 -- Removed brackets from class/function/method signatures in docs.
Thanks hellbeast for the initial patch.
2015-07-27 10:32:47 -04:00
Jon Dufresne b44dee16e6 Fixed #20916 -- Added Client.force_login() to bypass authentication. 2015-07-01 13:01:08 -04:00
Tim Graham fbc618c13c Refs #24987 -- Documented that Client.login() rejects inactive users. 2015-06-16 12:46:23 -04:00
Moritz Sichert 296919e7a5 Fixed #24965 -- Made LiveServerTestCase.live_server_url accessible from class 2015-06-12 17:44:54 -04:00
Andy McKay 4525a0c466 Fixed #24773 -- Added a json() method on test client responses. 2015-05-25 10:42:30 -04:00
Simon Charette c15b0c2792 Fixed #24652 -- Disallowed query execution in SimpleTestCase subclasses.
Thanks to Tim and Anssi for the review.
2015-05-20 12:50:41 -04:00
Tim Graham a0175724b0 Added docs for assertRaisesMessage as context manager. 2015-05-18 10:04:18 -04:00
Ian Foote c21b832c12 Fixed typo in docs/topics/testing/tools.txt 2015-05-09 18:03:25 -04:00
Adam Zapletal 0cf7477ed8 Fixed a typo and formatting consistency in testing tools docs
I changed "appears" to "appear" and emphasized the word "not" to match
the rest of the document.
2015-04-25 12:22:53 +02:00
Claude Paroz a0c2eb46dd Fixed #23960 -- Removed http.fix_location_header
Thanks Carl Meyer for the report and Tim Graham for the review.
2015-03-18 18:22:50 +01:00
Sean Wang eba6dff581 Fixed #24358 -- Corrected code-block directives for console sessions. 2015-02-22 09:35:39 -05:00
Tim Graham 32b67b3fd1 Added an import to docs/topics/testing/advanced.txt example. 2015-02-17 13:53:20 -05:00
darkryder 9ec8aa5e5d Fixed #24149 -- Normalized tuple settings to lists. 2015-02-03 14:59:45 -05:00
Tim Graham c79faae761 Removed versionadded/changed notes for 1.7. 2015-02-01 21:02:40 -05:00
Tim Graham 7e8cf74dc7 Removed support for syncing apps without migrations per deprecation timeline.
Kept support for creating models without migrations when running tests
(especially for Django's test suite).
2015-01-18 15:58:06 -05:00
Tim Graham 4aa089a9a9 Removed support for custom SQL per deprecation timeline. 2015-01-17 10:16:06 -05:00
Tim Graham 67235fd4ef Removed support for initial_data fixtures per deprecation timeline. 2015-01-17 09:59:25 -05:00
Tim Graham b952c3fc60 Removed django.utils.unittest per deprecation timeline. 2015-01-17 07:32:22 -05:00
Rick Hutcheson 996292d649 Fixed a typo in the test responses docs. 2015-01-16 18:17:00 -05:00
Marc Tamlyn b5c1a85b50 Fixed #24118 -- Added --debug-sql option for tests.
Added a --debug-sql option for tests and runtests.py which outputs the
SQL logger for failing tests. When combined with --verbosity=2, it also
outputs the SQL for passing tests.

Thanks to Berker, Tim, Markus, Shai, Josh and Anssi for review and
discussion.
2015-01-12 08:16:08 +00:00
Andriy Sokolovskiy 8c99b7920e Fixed #12118 -- Added shared cache support to SQLite in-memory testing. 2014-12-30 10:14:33 -05:00
Aymeric Augustin cf0fd65ed4 Deprecated TEMPLATE_LOADERS. 2014-12-28 17:02:30 +01:00
Tim Graham 3d0c3a0482 Fixed #24056 -- Fixed syntax highlighting in topics/testing/tools.txt. 2014-12-27 19:49:16 -05:00
Thomas Tanner 018d110ef5 Fixed #23911 -- Added support for buffer file uploads in the test client 2014-12-04 07:42:03 -05:00
Thomas Chaumeny da9fe5c717 Fixed #20392 -- Added TestCase.setUpTestData()
Each TestCase is also now wrapped in a class-wide transaction.
2014-12-03 10:37:04 -05:00
wrwrwr e22c64dfc0 Fixed #23742 -- Added an option to reverse tests order.
This is useful for debugging side effects affecting tests that
are usually executed before a given test. Full suite and pair
tests sort cases more or less deterministically, thus some test
cross-dependencies are easier to reveal by reversing the order.

Thanks Preston Timmons for the review.
2014-11-24 19:24:11 -05:00
Thomas Chaumeny 3199ea8ed7 Updated testing documentation following 498ae3a360
- commit/rollback are no longer replaced by nop
- the warning about not using TestCase when testing transactional
  behavior belongs to TestCase section, not TransactionTestCase
2014-11-24 11:37:03 -05:00
Danilo Bargen cdee865976 Fixed #23543 -- Added docs on testing management command output. 2014-11-24 10:23:25 -05:00
Stanislas Guerra 06726965c3 Fixed #23778 -- Added a doc section on using the Django runner for reusable apps. 2014-11-21 12:53:36 -07:00
Tim Graham e645b79ef5 Added missing docs to DiscoverRunner for keepdb option; refs #20550. 2014-11-04 14:26:37 -05:00
Thomas Chaumeny d89f56dc4d Fixed #21281 -- Made override_settings act at class level when used as a TestCase decorator. 2014-11-03 14:14:39 -05:00
Tim Graham 6d0547c1ad Fixed #23744 -- Fixed typo in selenium testing example.
Thanks djbug for the report.
2014-11-01 12:36:28 -04:00
Tim Graham 3f651b3e88 Added a warning about direct settings manipulation in tests.
Thanks Thomas Chaumeny for the initial patch.
2014-10-31 13:34:41 -04:00
Rigel Di Scala 28634394f5 Fixed #23606 -- Implemented Client and RequestFactory trace() methods.
Thanks KevinEtienne for the suggestion.
2014-10-28 10:11:12 -04:00
Berker Peksag 1387c80643 Fixed versionchanged indentation in topics/testing/advanced.txt. 2014-10-24 15:41:18 -04:00
Tim Graham a39df37049 Fixed #20609 -- Added instructions for using AnonymousUser with RequestFactory. 2014-10-20 10:51:25 -04:00
Greg Chapple 9743aa5436 Clarified documentation relating to usage of serialized_rollback for certain classes 2014-10-14 17:13:37 +01:00
Thomas Chaumeny 6baa46cb8b Updated assertQuerysetEqual documentation following 311b3ad9db 2014-10-05 23:13:04 +02:00
Tim Graham a4f23eba2e Fixed #23421 -- Corrected TEST SERIALIZE setting.
Thanks gkoller for the report.
2014-09-24 14:46:10 -04:00
Thomas Grainger 21683011d5 Added SuspiciousOperation to list of caught exceptions in testing docs. 2014-09-24 13:04:11 -04:00
Claude Paroz 3a44e20005 Fixed #23374 -- Renamed StaticLiveServerCase to StaticLiveServerTestCase
Refs #20739. Thanks Raphaël Hertzog for the report and the initial
patch.
2014-08-28 08:44:26 +02:00
Claude Paroz 5675eb371f Allowed skipIf/UnlessDBFeature to accept several feature strings 2014-08-26 20:03:37 +02:00
areski 9d6551204e Removed unnecessary code-block directives. 2014-08-19 16:44:25 -04:00
Tim Graham 7ce4ef58c9 Fixed typo in docs/topics/testing/tools.txt. 2014-08-01 09:30:58 -04:00
Moayad Mardini 668d432d0a Fixed #22491 -- documented how select_for_update() should be tested.
Thanks Andreas Pelme for the report.
2014-07-28 10:57:12 -04:00
Tim Graham e3c7af18a3 Fixed #19489 -- Documented host parameter of assertRedirects().
Thanks mrknacky at gmail.com for the report and gajimenezmaggiora
for the draft patch.
2014-06-30 17:52:04 -04:00
Claude Paroz 4b4524291a Converted test management command to argparse
Keeping backwards compatibility with test_runner.option_list is
tricky and would imply transforming an optparse.Option to an
argparse.Action. I choose to introduce a backwards incompatible
change because it only affects testing, not runtime behavior.
2014-06-14 13:43:39 +02:00
Greg Chapple bf743a4d57 Fixed #16087 -- Added ResolverMatch instance to test client response.
Thanks mrmachine for the suggestion.
2014-06-13 08:50:43 -04:00
Tim Graham c17cd151d8 Doc edits for refs #22487. 2014-06-09 12:09:16 -04:00
Tim Graham 3a926c0778 Tweaked order of create_test_db arguments for backwards compatibility.
Since `serialize` was backported to 1.7, it should appear before `keepdb`.
2014-06-09 11:12:28 -04:00
Andrew Godwin 8c12d51ea2 Fixed #22487: Optional rollback emulation for migrated apps 2014-06-08 19:30:15 -07:00
Greg Chapple 72f055e535 Fixed #20550 -- Added keepdb argument to destroy_test_db 2014-06-05 23:17:27 +01:00
Greg Chapple b7aa7c4ab4 Fixed #20550 -- Added ability to preserve test db between runs 2014-05-28 16:22:46 +01:00
Tim Graham 83f4e86595 Fixed too short title underline in docs. 2014-05-25 19:26:12 -04:00
Flavio Curella beec05686c Fixed #22667 -- Replaced leader/follower terminology with primary/replica 2014-05-22 11:59:17 -04:00
Flavio Curella 73a57b06f9 replaced occurrences of master/slave terminology with leader/follower 2014-05-20 11:35:16 -05:00
Tim Graham aabceadd7d Revert "Fixed #15179 -- middlewares not applied for test client login()"
This reverts commit 4fdd51b732.

See the ticket for concerns with this implementation; it will be revisited.
2014-04-28 18:41:36 -04:00
Tim Graham 26b03f2526 Fixed #22254 -- Noted the requirement of calling django.setup() when running
Thanks Peter Landry for the report.
2014-04-28 12:43:33 -04:00
Claude Paroz 680a0f08b1 Updated doc links to point to Python 3 documentation 2014-04-26 16:02:53 +02:00
Marti Raudsepp 11d453bcad Various documentation typo/spelling fixes
Errors detected by Topy (https://github.com/intgr/topy), all changes
verified by hand.
2014-04-23 02:31:49 +03:00
Tim Graham 1b3a3fc1e4 Fixed #22417 -- Added additional documentation for refs #16969.
Thanks Jon Foster for the report.
2014-04-19 21:39:08 -04:00
Tim Graham dc7bc42cce Added missing versionadded annotation and tweaked release note; refs #22465. 2014-04-18 07:18:15 -04:00
amatellanes 8394e570ba Fixed #22465 -- New assertion assertJSONNotEqual 2014-04-18 15:11:08 +07:00
Tim Graham b5ce21accb Fixed spelling errors in documentation. 2014-04-16 09:39:00 -04:00
Jacob R. Rothenbuhler 17c1884456 Fixed #22369 -- Added count parameter to assertTemplateUsed 2014-04-14 15:55:10 -04:00
Claude Paroz 3417ba0309 Also allowed a non-overridden setting to be deleted
Refs #20032, #18824. Thanks ztorstri at gmail.com for the report.
2014-04-12 15:33:22 +02:00
Claude Paroz 3e3a7372f5 Fixed #22102 -- Made SimpleTestCase tests run before unittest.TestCase ones
Thanks aptiko for the reporti and Tim Graham for the review.
2014-04-12 11:42:06 +02:00
Anubhav Joshi cd914e31c9 Fixed #21977 -- Deprecated SimpleTestCase.urls 2014-04-06 17:33:43 -04:00
Tim Graham d2f4553d70 Fixed #22216 -- Added Form.non_field_errors to form API doc. 2014-04-05 18:16:01 -04:00
Tim Graham 51c8045145 Removed versionadded/changed annotations for 1.6. 2014-03-24 11:42:56 -04:00
Claude Paroz 3a97f992fb Fixed #22313 -- Removed 'u' prefixes from documentation 2014-03-22 21:32:20 +01:00
Shai Berger 0615eaf24a Corrected a few missed references to old test settings 2014-03-09 08:33:33 +02:00
Tim Graham 1f5f015c32 Fixed spelling mistakes in docs. 2014-02-28 21:03:46 -05:00
Tim Graham 7f2505ad9e Fixed doc typos. 2014-02-28 11:44:03 -05:00
Henk Vos e65c0ccac0 Fixed #22071 -- Added a warning regarding override_settings and aliasing.
Thanks EvilDMP for the suggestion.
2014-02-25 10:48:27 -05:00
Szczepan Cieślik e816198034 Fixed docs typos. 2014-02-25 10:28:32 -05:00
Zbigniew Siciarz 94b5bc361a Fixed #22002 -- Documented avoiding database interaction in AppConfig.ready().
Thanks Marc Tamlyn for the suggestion.
2014-02-15 13:50:31 -05:00
Chris Bailey c5395eef76 Allowed a message to be passed to assertQuerysetEqual to make it consistent with other assert methods. 2014-02-10 05:21:23 -05:00
Baptiste Mispelon 05d36dc06e Always use parentheses when documenting a method with no arguments. 2014-01-22 22:26:10 +01:00
Baptiste Mispelon 79e1d6ebd7 Don't show `self` in the list of arguments of a method.
This is consistent with Python's official documentation
and it's a sphinx recommendation too[1].

[1] http://sphinx-doc.org/markup/desc.html#dir-method

Refs #21855.
2014-01-22 22:17:32 +01:00
Claude Paroz 2a31d00933 Fixed #21740 -- Stopped using mutable default arguments in test client
Thanks Denver Coneybeare for the report and initial patch, and
Atala for another patch.
2014-01-16 17:44:20 +01:00
Unai Zalakain 9eb16031ca Fixed #12571 -- Attached originating WSGIRequest to test client responses.
Originating WSGIRequests are now attached to the ``wsgi_request`` attribute of
the ``HttpResponse`` returned by the testing client.

Thanks rvdrijst for the suggestion.
2014-01-09 18:50:03 -05:00
Tim Graham 9953e98e6a Fixed #21701 -- Improved testing doc titles and added testing/tools.txt.
Thanks cjerdonek for the suggestion.
2013-12-31 08:14:09 -05:00
Aymeric Augustin 5241763c81 Added modify_settings to alter settings containing lists of values. 2013-12-23 21:37:43 +01:00
Tianyi Wang b62031441b Fixed #21625 -- incorrect documentation for DiscoverRunner.build_suite 2013-12-18 14:12:04 +01:00
Claude Paroz 626bdf648a Updated a bunch of hyperlinks in documentation 2013-12-08 18:40:09 +01:00
Loic Bistuer 27f04e79b1 Fixed #21479 -- Favor 'migrate' over 'syncdb' in the docs. 2013-11-21 15:12:39 +01:00
Unai Zalakain 4fdd51b732 Fixed #15179 -- middlewares not applied for test client login()
Requests made with django.test.Client.login() and logout() respect
defaults defined in django.test.Client instantiation and are processed
through middleware.

Thanks to Loic for the reviews.
2013-11-19 09:04:20 +02:00
Unai Zalakain 9c5f6cd565 Fixed #13725 -- take url scheme into account in assertRedirects
Scheme is handled correctly when making comparisons between two URLs. If
there isn't any scheme specified in the location where we are redirected to,
the original request's scheme is used. If present, the scheme in
``expected_url`` is the one used to make the comparations to.
2013-11-07 19:06:32 +01:00
Unai Zalakain 99b681e227 Fixed #21341 -- Eased https requests with the test client
All request methods of ``django.test.client.Client`` receive a ``secure``
argument that defaults to ``False`` indicating whether or not to make the
request through https.
Thanks Aymeric Augustin for the review.
2013-11-02 19:03:13 +01:00
Tim Graham 9704c49d59 Fixed #21304 -- Typo in docs/topics/testing/advanced.txt
Thanks joao at silvaneves.org for the report.
2013-10-22 12:05:26 -04:00
Tim Graham dd839a2dfd Fixed #15582 -- Documented how TransactionTestCase.multi_db affects fixtures.
Thanks slinkp for the suggestion.
2013-10-11 20:11:49 -04:00
Juan Catalano 4840fd9cbc Fixed #20919 -- Extended assertRedirects to be able to avoid fetching redirect's response.
Thanks mjtamlyn for the suggestion.
2013-09-10 12:22:55 -04:00
Tim Graham 4ba373840a Fixed #16534 -- Improved ability to customize DiscoverRunner
Added DiscoverRunner.test_suite and .test_runner attributes.

Thanks tomchristie for the suggestion and jcd for the patch.
2013-09-10 09:49:39 -04:00