django/tests
Jacob Rief 40bfd7b09a Fixed #35011, Refs #28900 -- Added tests for QuerySet.union() with multiple models and DateTimeField annotations.
Ticket was resolved by 65ad4ade74 as part of #28900.
2024-11-08 13:16:44 +01:00
..
absolute_url_overrides Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
admin_autodiscover Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
admin_changelist Refs #26001 -- Handled relationship exact lookups in ModelAdmin.search_fields. 2024-11-05 09:06:14 +01:00
admin_checks Fixed #10743 -- Allowed lookups for related fields in ModelAdmin.list_display. 2024-02-05 21:42:04 -03:00
admin_custom_urls Fixed #33028 -- Used ModelAdmin's opts attribute instead of model._meta. 2022-06-22 07:50:24 +02:00
admin_default_site
admin_docs Fixed #27409 -- Made admindocs support custom link text in docstrings. 2024-11-06 14:39:18 +01:00
admin_filters Fixed #35198 -- Fixed facet filters crash on querysets with no primary key. 2024-02-29 10:01:18 +01:00
admin_inlines Fixed #35876 -- Displayed non-ASCII fieldset names when rendering ModelAdmin.fieldsets. 2024-10-31 06:38:07 +01:00
admin_ordering Fixed #9602 -- Added AdminSite.get_model_admin(). 2023-07-07 08:06:01 +02:00
admin_registration
admin_scripts Refs #35844 -- Expanded compatibility for expected error messages in command tests on Python 3.12 and 3.13. 2024-10-29 22:06:28 +01:00
admin_utils Fixed #35666 -- Documented stacklevel usage and testing, and adjusted test suite accordingly. 2024-08-28 11:44:05 -03:00
admin_views Fixed #35876 -- Displayed non-ASCII fieldset names when rendering ModelAdmin.fieldsets. 2024-10-31 06:38:07 +01:00
admin_widgets Fixed CVE-2024-41991 -- Prevented potential ReDoS in django.utils.html.urlize() and AdminURLFieldWidget. 2024-08-06 08:50:08 +02:00
aggregation Added supports_select_union skips in queries and aggregation tests. 2024-08-26 12:53:08 -03:00
aggregation_regress Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
annotations Fixed #35586 -- Added support for set-returning database functions. 2024-08-12 15:35:19 +02:00
app_loading Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
apps
asgi Refs #35059 -- Used asyncio.Event in ASGITest.test_asyncio_cancel_error to enforce specific interleaving. 2024-05-28 14:36:34 -03:00
async Fixed #35303 -- Implemented async auth backends and utils. 2024-10-07 14:19:41 +02:00
auth_tests Refs #35844 -- Used asgiref.sync.iscoroutinefunction() instead of deprecated asyncio.iscoroutinefunction(). 2024-10-17 10:15:10 -03:00
backends Fixed #35688 -- Restored timezone and role setters to be PostgreSQL DatabaseWrapper methods. 2024-08-28 19:25:07 -03:00
base Sorted imports per isort 4.2.9. 2017-06-01 13:23:48 -04:00
bash_completion Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
basic Refs #373 -- Added Model._is_pk_set() abstraction to check if a Model's PK is set. 2024-09-09 17:46:50 -03:00
builtin_server Fixed #33865 -- Optimized LimitedStream wrapper. 2023-01-05 19:26:56 +01:00
bulk_create Fixed #34698 -- Made QuerySet.bulk_create() retrieve primary keys when updating conflicts. 2023-07-10 13:17:28 +02:00
cache Fixed #32831 -– Allowed cache tests to be retried via a new "retry" decorator. 2024-09-05 18:25:05 -03:00
check_framework Fixed #35656 -- Added an autodetector attribute to the makemigrations and migrate commands. 2024-10-15 16:39:12 +02:00
conditional_processing
constraints Fixed #35103 -- Used provided error code and message when fields is set without a condition on UniqueConstraint. 2024-10-10 09:20:37 +02:00
contenttypes_tests Fixed #35666 -- Documented stacklevel usage and testing, and adjusted test suite accordingly. 2024-08-28 11:44:05 -03:00
context_processors Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
csrf_tests Refs #35727 -- Updated response.content.decode calls to use the HttpResponse.text property. 2024-10-16 11:52:22 +02:00
custom_columns
custom_lookups Fixed #35413 -- Made unsupported lookup error message more specific. 2024-07-09 09:15:38 +02:00
custom_managers Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual(). 2022-10-08 08:07:38 +02:00
custom_methods
custom_migration_operations Fixed #35175 -- Made migraton writer preserve keyword-only arguments. 2024-02-09 09:37:13 +01:00
custom_pk Removed unnecessary trailing commas in tests. 2023-08-22 12:42:57 +02:00
datatypes Refs #32365 -- Removed internal uses of utils.timezone.utc alias. 2022-03-24 06:29:50 +01:00
dates Replaced assertQuerysetEqual() to assertSequenceEqual()/assertCountEqual() where appropriate. 2022-10-07 13:05:35 +02:00
datetimes
db_functions Fixed #33037 -- Fixed Trunc() with offset timezones on MySQL, SQLite, Oracle. 2024-02-15 10:02:57 +01:00
db_typecasts Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
db_utils Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
dbshell Simplified using DATABASES["OPTIONS"]. 2024-02-23 07:49:43 +01:00
decorators Fixed #35083 -- Updated method_decorator to handle async methods. 2024-08-30 08:54:49 -03:00
defer Fixed #35044 -- Avoided clearing reverse relations and private fields when accessing deferred fields. 2024-03-08 11:09:54 +01:00
defer_regress Fixed #35356 -- Deferred self-referential foreign key fields adequately. 2024-04-23 13:17:17 -03:00
delete
delete_regress Fixed #35073 -- Avoided unnecessary calling of callables used by SET/SET_DEFAULT in Collector.collect(). 2024-02-08 18:41:32 +01:00
deprecation Fixed #35303 -- Implemented async auth backends and utils. 2024-10-07 14:19:41 +02:00
dispatch Refs #34986 -- Moved garbage_collect() helper to django.test.utils. 2023-12-06 09:26:11 +01:00
distinct_on_fields Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
empty Fixed #23620 -- Used more specific assertions in the Django test suite. 2014-11-03 11:56:37 -05:00
empty_models Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
expressions Refs #373, Refs #24121 -- Added ColPairs.__repr__(). 2024-09-17 14:25:58 +02:00
expressions_case Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual(). 2022-10-08 08:07:38 +02:00
expressions_window Fixed #35665 -- Fixed a crash when passing an empty order_by to Window. 2024-08-13 11:26:17 +02:00
extra_regress Fixed #30382 -- Allowed specifying parent classes in force_insert of Model.save(). 2023-06-29 21:52:52 +02:00
field_deconstruction Fixed #31262 -- Added support for mappings on model fields and ChoiceField's choices. 2023-08-30 22:57:40 -03:00
field_defaults Fixed #35223 -- Made Model.full_clean() ignore fields with db_default when validating empty values. 2024-03-08 05:55:25 +01:00
field_subclassing
file_storage Refs #35326 -- Adjusted deprecation warning stacklevel in FileSystemStorage.OS_OPEN_FLAGS. 2024-08-28 11:44:05 -03:00
file_uploads Fixed CVE-2024-39330 -- Added extra file name validation in Storage's save method. 2024-07-09 09:21:19 -03:00
files Fixed #35323 -- Prevented file_move_safe() from trying to overwrite existing file when allow_overwrite is False. 2024-03-24 16:05:36 +01:00
filtered_relation Fixed #35135 -- Made FilteredRelation raise ValueError on querysets as rhs. 2024-01-29 20:29:49 +01:00
fixtures Fixed #35159 -- Fixed dumpdata crash when base querysets use prefetch_related(). 2024-01-31 16:10:05 +01:00
fixtures_model_package Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual(). 2022-10-08 08:07:38 +02:00
fixtures_regress Refs #29522 -- Fixed serializers/fixtures test crash if PyYAML isn't installed. 2024-09-19 08:51:30 +02:00
flatpages_tests
force_insert_update Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
foreign_object Refs #373 -- Added TupleIn subqueries. 2024-11-04 09:20:54 +01:00
forms_tests Fixed #35666 -- Documented stacklevel usage and testing, and adjusted test suite accordingly. 2024-08-28 11:44:05 -03:00
from_db_value Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
generic_inline_admin Removed unnecessary trailing commas in tests. 2023-08-22 12:42:57 +02:00
generic_relations Fixed #33651 -- Added support for prefetching GenericForeignKey. 2023-09-18 13:23:21 +02:00
generic_relations_regress
generic_views Corrected cache_page()'s timeout value in tests.generic_views.urls. 2024-02-05 13:27:51 +01:00
get_earliest_or_latest Fixed #33772 -- Added QuerySet.first()/last() error message on unordered queryset with aggregation. 2022-06-14 12:24:43 +02:00
get_object_or_404 Refs #33476 -- Refactored code to strictly match 88 characters line length. 2022-02-07 20:37:05 +01:00
get_or_create Removed obsolete test_get_or_create_raises_IntegrityError_plus_traceback() test. 2024-02-21 11:50:22 +01:00
gis_tests Fixed #35883 -- Confirmed support for GDAL 3.9. 2024-11-04 09:24:17 +01:00
handlers Refs #33735 -- Adjusted warning stacklevel in StreamingHttpResponse.__iter__()/__aiter__(). 2024-08-28 11:44:05 -03:00
httpwrappers Refs #35727 -- Updated response.content.decode calls to use the HttpResponse.text property. 2024-10-16 11:52:22 +02:00
humanize_tests Fixed #35443 -- Changed ordinal to return negative numbers unchanged. 2024-05-27 10:54:25 +02:00
i18n Fixed #34221 -- Honored translation precedence with mixed plural forms. 2024-09-16 11:04:09 +02:00
import_error_package
indexes Fixed #35469 -- Removed deferred SQL to create index removed by AlterField operation. 2024-05-28 12:44:07 +02:00
inline_formsets
inspectdb Fixed #33143 -- Raised RuntimeWarning when performing import-time queries. 2023-08-21 13:44:25 +02:00
introspection Refs #35234 -- Deprecated CheckConstraint.check in favor of .condition. 2024-03-01 07:15:32 +01:00
invalid_models_tests Fixed #35580 -- Allowed related fields referencing auto-created through models. 2024-07-09 13:50:12 +02:00
known_related_objects Fixed #34227 -- Fixed QuerySet.select_related() with multi-level FilteredRelation. 2023-01-24 10:20:27 +01:00
logging_tests Fixed #35537 -- Changed EmailMessage.attachments and EmailMultiAlternatives.alternatives to use namedtuples. 2024-06-20 09:43:40 +02:00
lookup Fixed #35752 -- Fixed crash when using In() lookup in filters. 2024-09-11 12:42:17 +02:00
m2m_and_m2o Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
m2m_intermediary Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
m2m_multiple Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual(). 2022-10-08 08:07:38 +02:00
m2m_recursive Relaxed some query ordering assertions in various tests. 2022-04-14 12:12:13 +02:00
m2m_regress
m2m_signals Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
m2m_through Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual(). 2022-10-08 08:07:38 +02:00
m2m_through_regress Refs #33476 -- Refactored code to strictly match 88 characters line length. 2022-02-07 20:37:05 +01:00
m2o_recursive Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
mail Refs #35581 -- Reduced boilerplate in mail tests. 2024-10-29 11:13:27 +01:00
managers_regress Refs #33476 -- Refactored code to strictly match 88 characters line length. 2022-02-07 20:37:05 +01:00
many_to_many Fixed #35666 -- Documented stacklevel usage and testing, and adjusted test suite accordingly. 2024-08-28 11:44:05 -03:00
many_to_one Fixed #35666 -- Documented stacklevel usage and testing, and adjusted test suite accordingly. 2024-08-28 11:44:05 -03:00
many_to_one_null
max_lengths Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
messages_tests Fixed #35622 -- Made unittest ignore Django assertions in traceback frames. 2024-08-08 21:34:01 -03:00
middleware Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
middleware_exceptions Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
migrate_signals
migration_test_data_persistence Fixed #35660 -- Made serialized_rollback and fixture data available in TransactionTestCase.setUpClass(). 2024-09-17 09:53:46 +02:00
migrations Fixed #35656 -- Added an autodetector attribute to the makemigrations and migrate commands. 2024-10-15 16:39:12 +02:00
migrations2 Fixed #35122 -- Made migrate --prune option respect --app_label. 2024-02-13 14:47:49 +01:00
model_enums Fixed #35666 -- Documented stacklevel usage and testing, and adjusted test suite accordingly. 2024-08-28 11:44:05 -03:00
model_fields Fixed #35766 -- Handled slices in BaseChoiceIterator. 2024-09-18 16:45:53 +02:00
model_forms Cleaned up temporary test directories in tests. 2024-07-22 08:51:01 +02:00
model_formsets Fixed #35488 -- Fixed BaseModelFormSet.validate_unique() crash due to unhashable type. 2024-06-13 16:21:53 +02:00
model_formsets_regress Refs #33990 -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual(). 2022-10-08 08:07:38 +02:00
model_indexes Fixed #33773 -- Made Index with multiple fields respect DEFAULT_INDEX_TABLESPACE. 2022-06-13 07:21:46 +02:00
model_inheritance Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
model_inheritance_regress Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
model_meta Fixed #35407 -- Cached model's Options.swapped. 2024-05-07 14:25:51 +02:00
model_options Refs #27236 -- Reverted AlterIndexTogether deprecation. 2022-07-26 11:41:19 +02:00
model_package
model_regress
model_utils
modeladmin Fixed #35666 -- Documented stacklevel usage and testing, and adjusted test suite accordingly. 2024-08-28 11:44:05 -03:00
multiple_database Fixed #16281 -- Fixed ContentType.get_object_for_this_type() in a multiple database setup. 2024-02-05 08:25:23 +01:00
mutually_referential
nested_foreign_keys
no_models Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
null_fk
null_fk_ordering Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
null_queries Fixed #19580 -- Unified behavior of reverse foreign key and many-to-many relations for unsaved instances. 2022-02-22 09:16:40 +01:00
one_to_one Fixed #35666 -- Documented stacklevel usage and testing, and adjusted test suite accordingly. 2024-08-28 11:44:05 -03:00
or_lookups
order_with_respect_to Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
ordering
pagination Improved style of n-tuple wording in docs and comments. 2023-06-23 09:29:35 +02:00
postgres_tests Fixed #35717 -- Reduced Create/RemoveCollation operations when optimizing migrations. 2024-10-10 13:18:46 +02:00
prefetch_related Fixed #35666 -- Documented stacklevel usage and testing, and adjusted test suite accordingly. 2024-08-28 11:44:05 -03:00
project_template Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
properties
proxy_model_inheritance Removed redundant QuerySet.all() calls in docs and tests. 2022-02-22 10:29:38 +01:00
proxy_models Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
queries Fixed #35011, Refs #28900 -- Added tests for QuerySet.union() with multiple models and DateTimeField annotations. 2024-11-08 13:16:44 +01:00
queryset_pickle
raw_query Fixed typos in docstrings and docs. 2024-03-07 06:01:01 +01:00
redirects_tests Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
requests_tests Fixed #35631 -- Added HttpRequest.get_preferred_type(). 2024-09-09 12:02:18 +02:00
requirements Refs #35844 -- Added Python 3.14 to daily builds. 2024-10-16 22:19:17 -03:00
reserved_names
resolve_url Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
responses Added tests for HttpResponseBase.charset/reason_phrase setters. 2023-06-10 20:43:05 +02:00
reverse_lookup
save_delete_hooks Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
schema Fixed #35180 -- Recreated PostgreSQL _like indexes when changing between TextField and CharField field types. 2024-10-31 06:37:14 +01:00
select_for_update
select_related
select_related_onetoone Fixed #34612 -- Fixed QuerySet.only() crash on reverse relationships. 2023-06-01 19:50:47 +01:00
select_related_regress
serializers Refs #35727 -- Updated response.content.decode calls to use the HttpResponse.text property. 2024-10-16 11:52:22 +02:00
servers Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
sessions_tests Fixed #34901 -- Added async-compatible interface to session engines. 2024-03-13 17:55:15 +01:00
settings_tests Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
shell Fixed #35517, Refs #35515 -- Improved test coverage of shell command. 2024-06-27 16:42:55 +02:00
shortcuts Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
signals Fixed #35174 -- Fixed Signal.asend()/asend_robust() crash when all receivers are asynchronous. 2024-02-08 11:36:28 +01:00
signed_cookies_tests
signing Refs #33199 -- Removed support for passing positional arguments to Signer/TimestampSigner. 2023-09-18 22:12:40 +02:00
sitemaps_tests Refs #35727 -- Updated response.content.decode calls to use the HttpResponse.text property. 2024-10-16 11:52:22 +02:00
sites_framework Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
sites_tests Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
sphinx Fixed #29942 -- Restored source file linking in docs by using the Sphinx linkcode ext. 2024-05-14 22:08:29 -03:00
staticfiles_tests Fixed #35669 -- Improved max post-process passes exceeded error message in HashedFilesMixin. 2024-08-30 10:00:51 +02:00
str
string_lookup Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
swappable_models Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
syndication_tests Fixed #12978 -- Added support for RSS feed stylesheets. 2024-06-18 17:25:43 +02:00
template_backends Fixed #35837 -- Added missing alters_data=True to QuerySet and UserManager methods. 2024-11-01 11:43:49 +01:00
template_loader
template_tests Fixed #35789 -- Improved the error message raised when the tag must be first in the template. 2024-10-10 12:21:02 +02:00
templates
test_client Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
test_client_regress Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
test_exceptions
test_runner Fixed #35849 -- Made ParallelTestSuite report correct error location. 2024-11-06 17:14:41 +01:00
test_runner_apps Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
test_utils Fixed #35660 -- Made serialized_rollback and fixture data available in TransactionTestCase.setUpClass(). 2024-09-17 09:53:46 +02:00
timezones Fixed #34921 -- Fixed crash of warning for unbound naive datetimes. 2023-10-22 14:26:38 +02:00
transaction_hooks Fixed #33616 -- Allowed registering callbacks that can fail in transaction.on_commit(). 2022-09-06 12:21:36 +02:00
transactions Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00
unmanaged_models
update Fixed #34421 -- Fixed QuerySet.update() on querysets in descending order by annotations. 2023-03-18 13:19:40 +01:00
update_only_fields Refs #35060 -- Adjusted deprecation warning stacklevel in Model.save()/asave(). 2024-08-28 11:44:05 -03:00
urlpatterns Fixed #35666 -- Documented stacklevel usage and testing, and adjusted test suite accordingly. 2024-08-28 11:44:05 -03:00
urlpatterns_reverse Fixed #28999 -- Documented how to reverse a class-based view by instance. 2024-10-23 15:37:54 +02:00
user_commands Refs #35844 -- Expanded compatibility for expected error messages in command tests on Python 3.12 and 3.13. 2024-10-29 22:06:28 +01:00
utils_tests Fixed CVE-2024-45230 -- Mitigated potential DoS in urlize and urlizetrunc template filters. 2024-09-03 09:22:32 -03:00
validation Fixed #35638 -- Updated validate_constraints to consider db_default. 2024-08-05 17:33:12 +02:00
validators Fixed #35845 -- Updated DomainNameValidator to require entire string to be a valid domain name. 2024-10-17 16:45:44 +02:00
version Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
view_tests Refs #35727 -- Updated response.content.decode calls to use the HttpResponse.text property. 2024-10-16 11:52:22 +02:00
wsgi Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
xor_lookups Fixed #34604 -- Corrected fallback SQL for n-ary logical XOR. 2023-06-08 20:41:18 +02:00
.coveragerc
README.rst
runtests.py Fixed #35797 -- Removed debug context processor from default project template. 2024-09-30 16:52:28 -03:00
sitecustomize.py
test_sqlite.py Refs #33476 -- Reformatted code with Black. 2022-02-07 20:37:05 +01:00
urls.py Applied Black's 2024 stable style. 2024-01-26 12:45:07 +01:00

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/.