django/tests
François Freitag e03eb8db93 Fixed #31428 -- Allowed empty message in management command self.stdout/err proxies. 2020-04-07 08:45:11 +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 Used assertRaisesMessage() in various tests. 2020-02-07 12:46:23 +01:00
fixtures_model_package Renamed camelCaseTestMethods to snake_case_test_methods 2019-04-14 16:14:14 +02:00
fixtures_regress Refs #29983 -- Added test for FIXTURES_DIRS pathlib support. 2019-11-06 08:06:55 +01: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 #31224 -- Added support for asynchronous views and middleware. 2020-03-18 19:59:12 +01: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 Fixed #31402 -- Added migrate --check option. 2020-03-26 20:12:39 +01: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 Refs #31117 -- Made various tests properly handle unexpected databases aliases. 2020-01-20 14:39:02 +01: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 Used assertRaisesMessage() in various tests. 2020-02-07 12:46:23 +01: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/.