django/tests
Matthijs Kooijman 4f216e4f8e Fixed #31051 -- Allowed dumpdata to handle circular references in natural keys.
Since #26291 forward references in natural keys are properly handled by
loaddata, so sorting depenencies in dumpdata doesn't need to break on
cycles. This patch allows circular references in natural keys by
breaking sort_depenencies() on loops.
2020-04-07 20:41:59 +02:00
..
absolute_url_overrides
admin_autodiscover Used assertRaisesMessage() in various tests. 2020-02-07 12:46:23 +01:00
admin_changelist Fixed #31349 -- Used :nth-child() CSS pseudo-class to style alternative rows in admin. 2020-03-09 12:34:32 +01:00
admin_checks Fixed #31086 -- Improved error message for admin model inlines with more than one foreign key to the same parent. 2019-12-17 09:15:01 +01:00
admin_custom_urls Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
admin_default_site Fixed #8500 -- Allowed overriding the default admin site instance. 2018-02-03 18:51:10 -05:00
admin_docs Fixed #30255 -- Fixed admindocs errors when rendering docstrings without leading newlines. 2019-11-29 12:47:42 +01:00
admin_filters Fixed #28991 -- Added EmptyFieldListFilter class in admin.filters. 2020-01-03 07:58:04 +01:00
admin_inlines Fixed #31349 -- Used :nth-child() CSS pseudo-class to style alternative rows in admin. 2020-03-09 12:34:32 +01:00
admin_ordering Made reused RequestFactory instances class attributes. 2018-11-27 09:49:02 -05:00
admin_registration Fixed #27360 -- Added app or ModelAdmin details for AreadyRegistered exceptions. 2019-03-25 17:34:53 -04:00
admin_scripts Refs #23433 -- Fixed test_django_admin_py.DeprecationTest tests failures on Windows and Python < 3.8. 2019-12-10 11:17:50 +01:00
admin_utils Fixed #30400 -- Improved typography of user facing strings. 2019-06-28 16:46:18 +02:00
admin_views Fixed #29724 -- Fixed timezone handling in ModelAdmin.date_hierarchy queries. 2020-03-25 21:03:41 +01:00
admin_widgets Refs #29892 -- Made Selenium tests wait for popups to be ready. 2019-12-02 15:06:36 +01:00
aggregation Fixed #31377 -- Disabled grouping by aliases on QuerySet.values()/values_list() when they collide with field names. 2020-03-25 09:13:46 +01:00
aggregation_regress Simplified imports from django.db and django.contrib.gis.db. 2020-02-04 13:20:06 +01:00
annotations Relaxed some query ordering assertions in tests. 2019-11-18 12:32:37 +01:00
app_loading
apps Fixed #27685 -- Added watchman support to the autoreloader. 2019-01-13 20:33:47 -05:00
asgi Fixed #31224 -- Added support for asynchronous views and middleware. 2020-03-18 19:59:12 +01:00
async Refs #31224 -- Added autoconversion of test async methods. 2020-03-05 14:29:21 +01:00
auth_tests Fixed #31375 -- Made contrib.auth.hashers.make_password() accept only bytes or strings. 2020-03-31 10:52:56 +02:00
backends Refs #31051 -- Fixed reloading the database with circular related objects and natural keys for tests. 2020-04-02 11:35:33 +02:00
base
bash_completion Removed parser.add_arguments() arguments that match the defaults. 2018-07-02 17:54:57 -04:00
basic Fixed #29129 -- Skipped UPDATE when adding a model instance with inherited primary key that has a default. 2020-03-05 12:08:38 +01:00
builtin_server Fixed #31240 -- Properly closed FileResponse when wsgi.file_wrapper is used. 2020-02-11 20:39:12 +01:00
bulk_create Fixed #31301 -- Fixed crash of QuerySet.bulk_create() with mixed empty and set ForeignKeys to AutoFields on Oracle. 2020-02-28 12:56:03 +01:00
cache Made BaseCacheTests skip culling tests if culling is not supported. 2020-03-19 15:34:16 +01:00
check_framework Fixed #31380 -- Added deployment system check for DJANGO_ALLOW_ASYNC_UNSAFE environment variable. 2020-04-01 12:51:11 +02:00
conditional_processing Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
constraints Fixed #30484 -- Added conditional expressions support to CheckConstraint. 2019-11-21 11:56:35 +01:00
contenttypes_tests Fixed #31123 -- Added --include-stale-apps option to the remove_stale_contenttypes management command. 2020-03-19 11:48:10 +01:00
context_processors Refs #28478 -- Deprecated TestCase's allow_database_queries and multi_db in favor of databases. 2019-01-10 19:11:21 -05:00
csrf_tests Fixed #31291 -- Renamed salt to mask for CSRF tokens. 2020-02-25 14:16:19 +01:00
custom_columns Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
custom_lookups Refs #25705 -- Fixed invalid SQL generated by SQLFuncMixin.as_sql() in custom_lookups tests. 2019-12-02 13:58:41 +01:00
custom_managers Fixed #28838 -- Fixed Model.save() crash if the base manager annotates with a related field. 2018-01-25 10:12:04 -05:00
custom_methods
custom_migration_operations
custom_pk Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
datatypes Fixed #29227 -- Allowed BooleanField to be null=True. 2018-03-20 12:10:10 -04:00
dates Fixed field default in dates tests. 2020-01-18 20:07:25 +01:00
datetimes Refs #29724 -- Added is_dst parameter to QuerySet.datetimes(). 2020-03-20 12:55:33 +01:00
db_functions Simplified imports from django.db and django.contrib.gis.db. 2020-02-04 13:20:06 +01:00
db_typecasts
db_utils Simplified imports from django.db and django.contrib.gis.db. 2020-02-04 13:20:06 +01:00
dbshell Fixed #31076 -- Fixed dbshell crash on Windows with Python < 3.8. 2019-12-16 11:20:41 +01:00
decorators Refs #26601 -- Deprecated passing None as get_response arg to middleware classes. 2020-02-18 20:03:44 +01:00
defer Fixed #30988 -- Deprecated the InvalidQuery exception. 2019-11-18 14:06:51 +01:00
defer_regress
delete Simplified imports from django.db and django.contrib.gis.db. 2020-02-04 13:20:06 +01:00
delete_regress Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
deprecation Refs #26601 -- Deprecated passing None as get_response arg to middleware classes. 2020-02-18 20:03:44 +01:00
dispatch Fixed #31327 -- Deprecated providing_args argument for Signal. 2020-03-05 09:38:52 +01:00
distinct_on_fields Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
empty
empty_models Fixed #30595 -- Added error message when no objects found to sql* management commands. 2019-07-01 13:47:54 +02:00
expressions Fixed #31420 -- Fixed crash when filtering subquery annotation against a SimpleLazyObject. 2020-04-06 07:11:29 +02:00
expressions_case Simplified imports from django.db and django.contrib.gis.db. 2020-02-04 13:20:06 +01:00
expressions_window Simplified imports from django.db and django.contrib.gis.db. 2020-02-04 13:20:06 +01:00
extra_regress Fixed #30159 -- Removed unneeded use of OrderedDict. 2019-02-06 13:48:39 -05:00
field_deconstruction Fixed #23916 -- Allowed makemigrations to handle related model name case changes. 2020-03-25 10:39:34 +01:00
field_defaults
field_subclassing Fixed #30657 -- Allowed customizing Field's descriptors with a descriptor_class attribute. 2019-07-25 08:15:20 +02:00
file_storage Harmonized Windows checks in tests to a single style. 2019-11-06 15:14:30 +01:00
file_uploads Fixed #31293 -- Allowed MultiPartParser to handle double-quoted encoded headers. 2020-02-28 14:43:16 +01:00
files Refs #29983 -- Added test for FILE_UPLOAD_TEMP_DIR pathlib support. 2019-11-06 08:20:23 +01:00
filtered_relation Fixed #30854 -- Fixed QuerySet.select_related() with multiple FilteredRelations. 2019-10-11 08:10:48 +02:00
fixtures Fixed #31051 -- Allowed dumpdata to handle circular references in natural keys. 2020-04-07 20:41:59 +02:00
fixtures_model_package Renamed camelCaseTestMethods to snake_case_test_methods 2019-04-14 16:14:14 +02:00
fixtures_regress Enforced uniqueness of natural keys used in tests. 2020-04-07 10:54:19 +02:00
flatpages_tests Fixed #22261 -- Fixed resolving namespaced URLs for flatpages. 2020-01-28 13:14:23 +01:00
force_insert_update Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
foreign_object Fixed typos in docs and a test comment. 2020-02-19 07:08:23 +01:00
forms_tests Completed test coverage for forms.DurationField.to_python(). 2020-04-07 06:20:43 +02:00
from_db_value Refs #28370 -- Removed support for the context arg of Field.from_db_value() and Expression.convert_value(). 2019-01-17 10:52:19 -05:00
generic_inline_admin Fixed #27755 -- Added ModelAdmin.get_inlines() hook. 2019-04-17 07:16:04 +02:00
generic_relations Fixed #31190 -- Fixed prefetch_related() crash for GenericForeignKey with custom ContentType foreign key. 2020-01-22 07:54:16 +01:00
generic_relations_regress Simplified imports from django.db and django.contrib.gis.db. 2020-02-04 13:20:06 +01:00
generic_views Fixed #19878 -- Deprecated TemplateView passing URL kwargs into context. 2020-03-23 08:11:14 +01:00
get_earliest_or_latest Refs #11557 -- Removed the field_name keyword argument to QuerySet.earliest() and latest(). 2019-01-17 10:52:19 -05:00
get_object_or_404 Fixed #29135 -- Prevented get_object/list_or_404() from hiding AttributeError raised by QuerySet filtering. 2018-02-19 10:51:15 -05:00
get_or_create Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
gis_tests Fixed #26513 -- Added tests for <Backend>GeometryColumns.geom_col_name(). 2020-03-10 12:22:35 +01:00
handlers Fixed #31407 -- Adjusted test to avoid coroutine never awaited warning. 2020-04-07 20:32:54 +02:00
httpwrappers Replaced encode() usage with bytes literals. 2019-11-18 15:31:42 +01:00
humanize_tests Fixed #31363 -- Added support for negative integers to intword template filter. 2020-03-16 08:44:43 +01:00
i18n Fixed #30439 -- Added support for different plural forms for a language. 2020-03-10 15:56:32 +01:00
import_error_package
indexes Fixed #31233 -- Closed database connections and cursors after use. 2020-02-06 15:35:23 +01:00
inline_formsets
inspectdb Fixed #30987 -- Added models.PositiveBigIntegerField. 2019-11-19 09:34:11 +01:00
introspection Simplified imports from django.db and django.contrib.gis.db. 2020-02-04 13:20:06 +01:00
invalid_models_tests Fixed #31144 -- Relaxed system check for max_length of CharFields on MySQL/MariaDB by turning into a warning. 2020-03-20 12:28:10 +01:00
known_related_objects
logging_tests Used more specific unittest assertions in tests. 2019-10-29 12:37:30 +01:00
lookup Simplified imports from django.db and django.contrib.gis.db. 2020-02-04 13:20:06 +01:00
m2m_and_m2o Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
m2m_intermediary Corrected several typos in string literals and test names. 2019-08-07 11:23:14 +02:00
m2m_multiple
m2m_recursive Fixed #30421 -- Allowed symmetrical intermediate table for self-referential ManyToManyField. 2019-06-21 15:03:17 +02:00
m2m_regress Refs #26022 -- Used context manager version of assertRaisesMessage in tests. 2019-04-29 08:05:07 +02:00
m2m_signals Removed hardcoded pk in test_pk_set_on_repeated_add_remove. 2019-11-18 08:46:39 +01:00
m2m_through Fixed #31046 -- Allowed RelatedManager.add()/create()/set() to accept callable values in through_defaults. 2019-12-03 19:47:38 +01:00
m2m_through_regress Fixed #9475 -- Allowed RelatedManager.add(), create(), etc. for m2m with a through model. 2019-01-15 11:12:17 -05:00
m2o_recursive Adjusted code style of a few test data setup methods. 2018-11-27 09:48:22 -05:00
mail Adjusted expected exception message for Windows. 2019-11-06 14:34:44 +01:00
managers_regress Switched TestCase to SimpleTestCase where possible in Django's tests. 2018-11-27 08:58:44 -05:00
many_to_many Fixed #31095 -- Made RelatedManager.set() preserve existing m2m relations with an invalid type. 2019-12-19 13:33:05 +01:00
many_to_one Refs #31282 -- Clarified M2O add/remove/set with PK behaviour. 2020-02-18 19:54:29 +01:00
many_to_one_null Fixed #29447 -- Made RelatedManager.set() pass bulk argument to clear(). 2018-06-25 13:04:46 -04:00
max_lengths Fixed #30295 -- Fixed max_lengths.tests.MaxLengthORMTests when run in isolation. 2019-03-28 10:18:30 +01:00
messages_tests Refs #26601 -- Deprecated passing None as get_response arg to middleware classes. 2020-02-18 20:03:44 +01:00
middleware Refs #26601 -- Deprecated passing None as get_response arg to middleware classes. 2020-02-18 20:03:44 +01:00
middleware_exceptions Refs #31040 -- Used 402 HTTP status in middleware_exceptions tests. 2020-03-31 12:09:17 +02:00
migrate_signals
migration_test_data_persistence
migrations Refs #27666 -- Ensured relationship consistency on delayed reloads. 2020-04-07 09:20:46 +02:00
migrations2
model_enums Fixed #31154 -- Added support for using enumeration types in templates. 2020-01-10 07:52:06 +01:00
model_fields Simplified imports from django.db and django.contrib.gis.db. 2020-02-04 13:20:06 +01:00
model_forms Fixed #26813 -- Prevented empty choice in ModelChoiceField with RadioSelect for fields with blank=False. 2020-02-05 10:27:01 +01:00
model_formsets Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
model_formsets_regress Used 4 space hanging indent for dictionaries. 2019-01-02 18:18:19 -05:00
model_indexes Simplified imports from django.db and django.contrib.gis.db. 2020-02-04 13:20:06 +01:00
model_inheritance Fixed #31285 -- Fixed inherited Meta.ordering of "-pk". 2020-03-19 12:57:07 +01:00
model_inheritance_regress Fixed #29871 -- Allowed setting pk=None on a child model to create a copy. 2020-01-15 08:28:30 +01:00
model_meta Simplified imports from django.db and django.contrib.gis.db. 2020-02-04 13:20:06 +01:00
model_options Fixed #30023 -- Prevented SQLite schema alterations while foreign key checks are enabled. 2018-12-15 18:51:59 -05:00
model_package
model_regress Refs #23919 -- Replaced super(...) with super() in metaclasses. 2019-11-28 15:34:29 +01:00
modeladmin Fixed #30980 -- Improved error message when checking uniqueness of admin actions' __name__. 2020-01-10 14:00:28 +01:00
multiple_database Enforced uniqueness of natural keys used in tests. 2020-04-07 10:54:19 +02:00
mutually_referential
nested_foreign_keys Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
no_models
null_fk
null_fk_ordering Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
null_queries Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
one_to_one Used more specific unittest assertions in tests. 2019-10-29 12:37:30 +01:00
or_lookups Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
order_with_respect_to Fixed #13296 -- Fixed ordering by Options.order_with_respect_to after deleting objects. 2019-09-23 11:20:37 +02:00
ordering Simplified imports from django.db and django.contrib.gis.db. 2020-02-04 13:20:06 +01:00
pagination Fixed #14218 -- Added Paginator.__iter__(). 2019-10-02 09:49:31 +02:00
postgres_tests Fixed #28194 -- Added support for normalization and cover density to SearchRank. 2020-03-23 11:00:55 +01:00
prefetch_related Simplified imports from django.db and django.contrib.gis.db. 2020-02-04 13:20:06 +01:00
project_template Fixed #31232 -- Changed default SECURE_REFERRER_POLICY to 'same-origin'. 2020-02-05 14:39:01 +01:00
properties Adjusted code style of a few test data setup methods. 2018-11-27 09:48:22 -05:00
proxy_model_inheritance Removed obsolete TODO in proxy_model_inheritance test. 2018-08-16 09:20:31 -04:00
proxy_models Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
queries Fixed #31426 -- Added proper field validation to QuerySet.order_by(). 2020-04-06 10:19:49 +02:00
queryset_pickle Refs #25361 -- Added test for pickling queryset of abstract-inherited models with Meta.ordering. 2019-12-12 09:01:47 +01:00
raw_query Fixed #30988 -- Deprecated the InvalidQuery exception. 2019-11-18 14:06:51 +01:00
redirects_tests Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
requests Fixed #30997 -- Deprecated HttpRequest.is_ajax(). 2020-01-27 08:54:32 +01:00
requirements Reverted "Pinned asgiref == 3.2.5 in test requirements." 2020-03-24 20:52:05 +01:00
reserved_names
resolve_url Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
responses Reverted "Fixed #30565 -- Closed HttpResponse when wsgi.file_wrapper closes file-like object." 2020-02-11 20:39:12 +01:00
reverse_lookup Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
save_delete_hooks
schema Added missing Meta.apps to a schema model. 2020-03-23 06:09:10 +01:00
select_for_update Fixed #31246 -- Fixed locking models in QuerySet.select_for_update(of=()) for related fields and parent link fields with multi-table inheritance. 2020-02-11 20:43:57 +01:00
select_related Added a test for QuerySet.select_related() reverse caching. 2017-09-21 14:25:42 -04:00
select_related_onetoone Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
select_related_regress
serializers Enforced uniqueness of natural keys used in tests. 2020-04-07 10:54:19 +02:00
servers Replaced unnecessary str()/bytes() calls with literals. 2019-11-18 15:30:10 +01:00
sessions_tests Fixed #31274 -- Used signing infrastructure in SessionBase.encode()/decode(). 2020-03-02 12:16:48 +01:00
settings_tests Fixed #25598 -- Added SCRIPT_NAME prefix to STATIC_URL and MEDIA_URL set to relative paths. 2019-09-25 19:47:03 +02:00
shell Replaced django.test.utils.patch_logger() with assertLogs(). 2018-05-07 09:34:00 -04:00
shortcuts Refs #25978 -- Removed shortcuts.render_to_response() per deprecation timeline. 2019-01-17 10:50:25 -05:00
signals Fixed #31327 -- Deprecated providing_args argument for Signal. 2020-03-05 09:38:52 +01:00
signed_cookies_tests
signing Added tests for signing non-string values and updated docs. 2020-01-30 11:58:39 +01:00
sitemaps_tests Fixed #30159 -- Removed unneeded use of OrderedDict. 2019-02-06 13:48:39 -05:00
sites_framework Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
sites_tests Removed redundant MiddlewareTest.test_old_style_request() test. 2020-02-14 10:35:58 +01:00
staticfiles_tests Fixed #31080 -- Removed redundant type="text/javascript" attribute from <script> tags. 2019-12-11 09:49:54 +01:00
str
string_lookup
swappable_models
syndication_tests Fixed #29352 -- Allowed specifying a Feed language. 2019-05-06 15:10:54 +02:00
template_backends Fixed #31291 -- Renamed salt to mask for CSRF tokens. 2020-02-25 14:16:19 +01:00
template_loader
template_tests Refs #26601 -- Deprecated passing None as get_response arg to middleware classes. 2020-02-18 20:03:44 +01:00
templates Fixed #31080 -- Removed redundant type="text/javascript" attribute from <script> tags. 2019-12-11 09:49:54 +01:00
test_client Fixed #31224 -- Added support for asynchronous views and middleware. 2020-03-18 19:59:12 +01:00
test_client_regress Used assertRaisesMessage() in various tests. 2020-02-07 12:46:23 +01:00
test_exceptions
test_runner Refs #31117 -- Made various tests properly handle unexpected databases aliases. 2020-01-20 14:39:02 +01:00
test_runner_apps Fixed #27430 -- Added -b/--buffer option to DiscoverRunner. 2019-12-09 13:47:12 +01:00
test_utils Removed unused and incorrect PossessedCar.__str__() method in test_utils. 2020-02-14 13:16:17 +01:00
timezones Fixed timezones tests for PyYAML 5.3+. 2020-01-07 09:54:22 +01:00
transaction_hooks Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()." 2017-09-07 08:16:21 -04:00
transactions Fixed #30116 -- Dropped support for Python 3.5. 2019-01-30 10:19:48 -05:00
unmanaged_models
update Fixed #28408 -- Added error message when updating with annotated expressions on joined fields. 2019-06-28 07:55:32 +02:00
update_only_fields Moved choices inside of test models per coding style. 2018-12-10 09:28:49 -05:00
urlpatterns Fixed #30995 -- Allowed converter.to_url() to raise ValueError to indicate no match. 2020-01-09 14:41:41 +01:00
urlpatterns_reverse Fixed #31114 -- Fixed HttpRequest.build_absolute_uri() crash with reverse_lazy() locations. 2019-12-27 09:19:56 +01:00
user_commands Fixed #31428 -- Allowed empty message in management command self.stdout/err proxies. 2020-04-07 08:45:11 +02:00
utils_tests Fixed #31359 -- Deprecated get_random_string() calls without an explicit length. 2020-03-11 13:16:44 +01:00
validation Fixed #29979, Refs #17337 -- Extracted AutoField field logic into a mixin and refactored AutoFields. 2019-08-20 09:22:25 +02:00
validators Fixed #31267 -- Added tests cases with empty username or password for URLValidator. 2020-02-13 08:32:20 +01:00
version
view_tests Captured logging in DebugViewTests with assertLogs(). 2020-02-20 09:07:15 +01:00
wsgi Fixed #30567 -- Made WSGIHandler pass FileResponse.block_size to wsgi.file_wrapper. 2019-07-26 07:31:51 +02:00
.coveragerc
README.rst Fixed #30367 -- Changed "pip install" to "python -m pip install" in docs, comments and hints. 2019-04-18 14:41:15 +02:00
runtests.py Refs #31233 -- Added "error" filter for RuntimeWarning during tests. 2020-02-06 09:46:59 +01:00
test_sqlite.py
urls.py

README.rst

To run the test suite, first, create and activate a virtual environment. Then
install some requirements and run the tests::

    $ cd tests
    $ python -m pip install -e ..
    $ python -m pip install -r requirements/py3.txt
    $ ./runtests.py

For more information about the test suite, see
https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/.