django/tests
Carlton Gibson dbcd7b064e Fixed #30902 -- Added __str__() for model choice enums.
Allows expected behavior when cast to str, also matching behaviour of
created instances with those fetched from the DB.

Thanks to Simon Charette, Nick Pope, and Shai Berger for reviews.
2019-10-25 09:19:56 +02:00
..
absolute_url_overrides Fixed #26125 -- Fixed E731 flake warnings. 2016-01-25 14:23:43 -05:00
admin_autodiscover
admin_changelist Fixed #30064 -- Added form to validate admin search fields query input. 2019-08-22 14:09:49 +02:00
admin_checks Fixed #30312 -- Relaxed admin check from django.contrib.sessions to SessionMiddleware subclasses. 2019-04-26 11:31:06 +02: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
admin_docs Added tests for middlewares' checks. 2019-10-23 08:18:02 +02:00
admin_filters Fixed #29919 -- Fixed RelatedOnlyFieldListFilter crash with reverse relationships. 2019-10-23 10:50:31 +02:00
admin_inlines Fixed #30520 -- Fixed crash of admin model inlines on custom fields without labels. 2019-06-04 10:27:12 +02:00
admin_ordering
admin_registration Fixed #27360 -- Added app or ModelAdmin details for AreadyRegistered exceptions. 2019-03-25 17:34:53 -04:00
admin_scripts Fixed typo in tests/admin_scripts/tests.py. 2019-10-18 07:50:59 +02:00
admin_utils Fixed #30400 -- Improved typography of user facing strings. 2019-06-28 16:46:18 +02:00
admin_views Fixed #29376 -- Allowed hiding "Save and Add Another" button in admin. 2019-09-16 11:37:09 +02:00
admin_widgets Fixed #30722 -- Added default rate-limiting requests to admin's Select2 widget. 2019-08-27 13:47:36 +02:00
aggregation Fixed #30665 -- Added support for distinct argument to Avg() and Sum(). 2019-07-31 11:22:50 +02:00
aggregation_regress Refs #14357 -- Made Meta.ordering not affect GROUP BY queries. 2019-09-10 12:01:00 +02:00
annotations Fixed #28289 -- Fixed crash of RawSQL annotations on inherited model fields. 2019-07-11 08:27:15 +02:00
app_loading
apps Fixed #27685 -- Added watchman support to the autoreloader. 2019-01-13 20:33:47 -05:00
asgi Fixed #30900 -- Skipped async-related tests on Windows using Python 3.8.0. 2019-10-24 10:43:05 +02:00
async Fixed #30900 -- Skipped async-related tests on Windows using Python 3.8.0. 2019-10-24 10:43:05 +02:00
auth_tests Added tests for middlewares' checks. 2019-10-23 08:18:02 +02:00
backends Refs #29444 -- Allowed returning multiple fields from INSERT statements on PostgreSQL. 2019-09-09 10:51:14 +02:00
base
bash_completion
basic Fixed #30651 -- Made __eq__() methods return NotImplemented for not implemented comparisons. 2019-10-01 17:58:19 +02:00
builtin_server Fixed typos in test names and a comment. 2019-08-23 10:46:43 +02:00
bulk_create Fixed #30827 -- Made batch_size arg of QuerySet.bulk_create() respect DatabaseOperations.bulk_batch_size(). 2019-10-21 11:46:44 +02:00
cache Fixed #23755 -- Added support for multiple field names in the no-cache Cache-Control directive to patch_cache_control(). 2019-10-10 19:30:51 +02:00
check_framework Fixed #29406 -- Added support for Referrer-Policy header. 2019-09-09 13:35:41 +02:00
conditional_processing Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
constraints Fixed #30651 -- Made __eq__() methods return NotImplemented for not implemented comparisons. 2019-10-01 17:58:19 +02:00
contenttypes_tests Fixed #29706 -- Made RenameContentType._rename() save to the correct database. 2019-06-06 12:09:01 +02: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 Dropped obsolete mimetype kwarg in csrf test view 2019-09-21 20:46:39 +02:00
custom_columns Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
custom_lookups Removed unnecessary type() calls for class methods. 2019-02-06 22:00:32 -05:00
custom_managers
custom_methods
custom_migration_operations
custom_pk
datatypes
dates Refs #26022 -- Used context manager version of assertRaisesMessage in tests. 2019-04-29 08:05:07 +02:00
datetimes
db_functions Fixed #30821 -- Added ExtractIsoWeekYear database function and iso_week_day lookup. 2019-10-02 10:41:34 +02:00
db_typecasts
db_utils Fixed #30071 -- Fixed error message when a 'default' database isn't provided. 2019-01-09 10:58:37 -05:00
dbshell Fixed broken OracleDbshellTests tests after 9386586f31. 2019-08-23 21:25:21 +02:00
decorators Fixed #30594 -- Added 'private' Cache-Control directive to never_cache() decorator. 2019-06-26 09:25:24 +02:00
defer Fixed typos in comments and a test name. 2019-07-19 18:24:06 +02:00
defer_regress
delete Fixed #23576 -- Implemented multi-alias fast-path deletion in MySQL backend. 2019-10-24 12:24:53 +02:00
delete_regress Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
deprecation
dispatch
distinct_on_fields
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 some typos in comments and docs. 2019-10-02 15:50:46 +02:00
expressions_case Fixed #25367 -- Allowed boolean expressions in QuerySet.filter() and exclude(). 2019-08-29 09:45:29 +02:00
expressions_window Fixed #30668 -- Made QuerySet.filter() raise NotSupportedError if any of source expressions is not filterable. 2019-08-02 15:06:00 +02:00
extra_regress Fixed #30159 -- Removed unneeded use of OrderedDict. 2019-02-06 13:48:39 -05:00
field_deconstruction
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 Fixed #25598 -- Added SCRIPT_NAME prefix to STATIC_URL and MEDIA_URL set to relative paths. 2019-09-25 19:47:03 +02:00
file_uploads Cleaned up exception message checking in some tests. 2019-03-15 19:27:57 -04:00
files Fixed #30137 -- Replaced OSError aliases with the canonical OSError. 2019-01-28 11:15:06 -05:00
filtered_relation Fixed #30854 -- Fixed QuerySet.select_related() with multiple FilteredRelations. 2019-10-11 08:10:48 +02:00
fixtures Renamed camelCaseTestMethods to snake_case_test_methods 2019-04-14 16:14:14 +02:00
fixtures_model_package Renamed camelCaseTestMethods to snake_case_test_methods 2019-04-14 16:14:14 +02:00
fixtures_regress Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
flatpages_tests Fixed #30400 -- Improved typography of user facing strings. 2019-06-28 16:46:18 +02:00
force_insert_update
foreign_object
forms_tests Fixed #30839 -- Fixed Field.__deepcopy__() so forms don't share error messages. 2019-10-08 10:07:05 +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 #30493 -- Fixed prefetch_related() for GenericRelation with different content types. 2019-05-31 18:11:55 +02:00
generic_relations_regress
generic_views Fixed typo in tests/generic_views/test_base.py. 2019-06-04 20:09:07 -04: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
get_or_create
gis_tests Fixed #30890 -- Added MariaDB support for the relate lookup. 2019-10-18 07:46:31 +02:00
handlers Fixed #30070, CVE-2019-3498 -- Fixed content spoofing possiblity in the default 404 page. 2019-01-03 21:21:55 -05:00
httpwrappers Fixed #30294 -- Allowed HttpResponse to accept memoryview content. 2019-03-29 09:43:49 -04:00
humanize_tests Refs #27804 -- Used subTest() in filesizeformat tests and HumanizeTests. 2019-06-10 08:46:11 +02:00
i18n Replaced subprocess commands by run() wherever possible. 2019-08-23 10:53:36 +02:00
import_error_package
indexes Fixed #30903 -- Fixed migrations crash on PostgreSQL when adding Index with opclasses and ordering. 2019-10-24 09:33:14 +02:00
inline_formsets
inspectdb Used re.Pattern.findall() instead of re.findall() in inspectdb.tests. 2019-05-24 09:04:27 +02:00
introspection Refs #30591 -- Fixed introspection of check and unique column constraints on MariaDB. 2019-08-26 09:15:37 +02:00
invalid_models_tests Fixed #30798 -- Fixed Meta.ordering validation for pk of related fields. 2019-09-27 14:22:31 +02:00
known_related_objects
logging_tests Fixed #29714 -- Allowed using ExceptionReporter subclass with AdminEmailHandler. 2019-09-04 08:40:46 +02:00
lookup Fixed #30841 -- Deprecated using non-boolean values for isnull lookup. 2019-10-21 08:44:20 +02: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 Refs #27462 -- Added tests of pk_set in m2m_changed signal receivers for repeated add/remove calls. 2019-09-19 11:34:59 +02:00
m2m_through Fixed #30421 -- Allowed symmetrical intermediate table for self-referential ManyToManyField. 2019-06-21 15:03:17 +02: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
mail Fixed #30608 -- Fixed non-unicode EmailMessage crash when domain name for localhost is non-ASCII. 2019-07-03 10:49:03 +02:00
managers_regress
many_to_many Refs #26678 -- Added tests for using the field the relation points to with RelatedManager.add()/remove()/set(). 2019-05-07 09:02:06 +02:00
many_to_one Fixed #30661 -- Added models.SmallAutoField. 2019-08-02 11:39:01 +02:00
many_to_one_null
max_lengths Fixed #30295 -- Fixed max_lengths.tests.MaxLengthORMTests when run in isolation. 2019-03-28 10:18:30 +01:00
messages_tests Added tests for middlewares' checks. 2019-10-23 08:18:02 +02:00
middleware Fixed #30812 -- Made ConditionalGetMiddleware set ETag only for responses with non-empty content. 2019-10-10 09:51:05 +02:00
middleware_exceptions Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
migrate_signals
migration_test_data_persistence
migrations Fixed #30870 -- Fixed showing that RunPython operations are irreversible by migrate --plan. 2019-10-14 11:13:27 +02:00
migrations2
model_enums Fixed #30902 -- Added __str__() for model choice enums. 2019-10-25 09:19:56 +02:00
model_fields Fixed #29919 -- Fixed RelatedOnlyFieldListFilter crash with reverse relationships. 2019-10-23 10:50:31 +02:00
model_forms Fixed #30014 -- Fixed ModelChoiceField validation when initial value is a model instance. 2019-10-11 13:28:09 +02: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 Fixed #30651 -- Made __eq__() methods return NotImplemented for not implemented comparisons. 2019-10-01 17:58:19 +02:00
model_inheritance Fixed #30116 -- Dropped support for Python 3.5. 2019-01-30 10:19:48 -05:00
model_inheritance_regress
model_meta Refs #29444 -- Allowed returning multiple fields from INSERT statements on PostgreSQL. 2019-09-09 10:51:14 +02:00
model_options
model_package
model_regress Moved choices inside of a test model per coding style. 2019-03-20 11:05:26 -04:00
modeladmin Fixed #30543 -- Fixed checks of ModelAdmin.list_display for fields accessible only via instance. 2019-07-10 10:37:34 +02:00
multiple_database Fixed #16027 -- Added app_label to ContentType.__str__(). 2019-02-07 19:56:47 -05:00
mutually_referential
nested_foreign_keys
no_models
null_fk
null_fk_ordering Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
null_queries
one_to_one Refs #28147 -- Fixed setting of OneToOne and Foreign Key fields to None when using attnames. 2019-07-27 12:04:56 +02:00
or_lookups
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 Refs #14357 -- Made Meta.ordering not affect GROUP BY queries. 2019-09-10 12:01:00 +02:00
pagination Fixed #14218 -- Added Paginator.__iter__(). 2019-10-02 09:49:31 +02:00
postgres_tests Refs #12990 -- Moved CheckFieldDefaultMixin to the django.db.models.fields.mixins. 2019-10-17 12:30:29 +02:00
prefetch_related Fixed #20577 -- Deferred filtering of prefetched related querysets. 2019-10-21 13:21:54 +02:00
project_template Fixed #30426 -- Changed X_FRAME_OPTIONS setting default to DENY. 2019-09-09 08:15:26 +02:00
properties
proxy_model_inheritance
proxy_models Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
queries Refs #30897 -- Added support for ANALYZE option to Queryset.explain() on MariaDB and MySQL 8.0.18+. 2019-10-24 15:13:26 +02:00
queryset_pickle Fixed #20577 -- Deferred filtering of prefetched related querysets. 2019-10-21 13:21:54 +02:00
raw_query
redirects_tests Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
requests Fixed typos in test names and a comment. 2019-08-23 10:46:43 +02:00
requirements Refs #29926 -- Bumped minimum tblib version to 1.5.0 in test requirements. 2019-10-23 15:26:04 +02:00
reserved_names
resolve_url Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
responses Fixed #30565 -- Closed HttpResponse when wsgi.file_wrapper closes file-like object. 2019-06-20 11:48:49 +02:00
reverse_lookup
save_delete_hooks
schema Refs #28816 -- Prevented silencing data loss when decreasing CharField.max_length for ArrayField.base_field on PostgreSQL. 2019-10-17 12:50:53 +02:00
select_for_update Fixed Python PendingDeprecationWarning in select_for_update.tests. 2019-04-29 08:47:33 +02:00
select_related
select_related_onetoone
select_related_regress
serializers Corrected several typos in string literals and test names. 2019-08-07 11:23:14 +02:00
servers Fixed #30619 -- Made runserver --nothreading use single threaded WSGIServer. 2019-07-10 13:22:17 +02:00
sessions_tests Fixed #28763 -- Allowed overriding the session cookie age with SessionStore.get_session_cookie_age(). 2019-05-21 08:50:09 +02: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
shortcuts Refs #25978 -- Removed shortcuts.render_to_response() per deprecation timeline. 2019-01-17 10:50:25 -05:00
signals
signed_cookies_tests
signing
sitemaps_tests Fixed #30159 -- Removed unneeded use of OrderedDict. 2019-02-06 13:48:39 -05:00
sites_framework
sites_tests Refs #28478 -- Deprecated TestCase's allow_database_queries and multi_db in favor of databases. 2019-01-10 19:11:21 -05:00
staticfiles_tests Fixed #30802 -- Prevented manifest creation when running collectstatic in dry run mode. 2019-09-27 23:01:41 +02: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
template_loader
template_tests Fixed #30651 -- Made __eq__() methods return NotImplemented for not implemented comparisons. 2019-10-01 17:58:19 +02:00
templates
test_client Fixed #30677 -- Improved error message for urlencode() and Client when None is passed as data. 2019-08-11 20:15:23 +02:00
test_client_regress Fixed #28337 -- Preserved extra headers of requests made with django.test.Client in assertRedirects(). 2019-10-18 08:42:51 +02:00
test_exceptions
test_runner Refs #29926 -- Bumped minimum tblib version to 1.5.0 in test requirements. 2019-10-23 15:26:04 +02:00
test_runner_apps Fixed #30245 -- Added -k option to DiscoverRunner. 2019-04-30 16:20:51 +02:00
test_utils Fixed #27391 -- Implemented SimpleTestCase.debug(). 2019-10-18 12:22:51 +02:00
timezones Fixed #30821 -- Added ExtractIsoWeekYear database function and iso_week_day lookup. 2019-10-02 10:41:34 +02:00
transaction_hooks
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
urlpatterns Fixed #29667 -- Prohibited whitespaces in path() URLs. 2019-08-20 11:53:10 +02:00
urlpatterns_reverse Added tests for terminated path with optional arguments in django.urls.reverse(). 2019-06-24 11:30:26 +02:00
user_commands Fixed #30763 -- Fixed management commands when using required mutually exclusive groups. 2019-09-06 10:55:24 +02:00
utils_tests Fixed #30876 -- Moved classproperty() decorator to the django.utils.functional. 2019-10-21 09:57:39 +02: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 #30651 -- Made __eq__() methods return NotImplemented for not implemented comparisons. 2019-10-01 17:58:19 +02:00
version
view_tests Fixed #29008 -- Fixed crash of 404 debug page when URL path converter raises Http404. 2019-08-09 22:48:08 +02: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 Advanced deprecation warnings for Django 3.1. 2019-09-10 12:01:00 +02: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/.