1
0
mirror of https://github.com/django/django.git synced 2024-12-22 17:16:24 +00:00
django/tests
Simon Charette 92d6cff6a2 Fixed #35028 -- Disabled server-side bindings for named cursors on psycopg >= 3.
While we provide a `cursor_factory` based on the value of the
`server_side_bindings` option to `psycopg.Connection` it is ignored by
the `cursor` method when `name` is specified for `QuerySet.iterator()`
usage and it causes the usage of `psycopg.ServerCursor` which performs
server-side bindings.

Since the ORM doesn't generates SQL that is suitable for server-side
bindings when dealing with parametrized expressions a specialized cursor
must be used to allow server-side cursors to be used with client-side
bindings.

Thanks Richard Ebeling for the report.

Thanks Florian Apolloner and Daniele Varrazzo for reviews.
2024-01-12 21:40:18 +01:00
..
absolute_url_overrides
admin_autodiscover
admin_changelist Fixed #28404 -- Made displaying values in admin respect Field's empty_values. 2024-01-10 08:34:25 +01:00
admin_checks Fixed #9602 -- Added AdminSite.get_model_admin(). 2023-07-07 08:06:01 +02:00
admin_custom_urls
admin_default_site
admin_docs Fixed #34919 -- Added scope attribute to admindocs model templates. 2023-11-14 05:34:56 +01:00
admin_filters Fixed #1873 -- Handled multi-valued query parameters in admin changelist filters. 2023-03-16 08:38:44 +01:00
admin_inlines Fixed #32819 -- Established relationship between form fields and their help text. 2023-07-06 08:03:19 +02:00
admin_ordering Fixed #9602 -- Added AdminSite.get_model_admin(). 2023-07-07 08:06:01 +02:00
admin_registration Refs #9602 -- Moved AlreadyRegistered/NotRegistered exceptions to django.contrib.admin.exceptions. 2023-07-07 13:22:06 +02:00
admin_scripts Fixed #34778 -- Avoided importing modules in startapp/startproject. 2023-09-01 13:24:05 +02:00
admin_utils Refs #28404 -- Made displaying property values in admin respect non-None empty values. 2024-01-11 12:47:06 +01:00
admin_views Fixed #34909 -- Associated links in admin navigation sidebar with row descriptions. 2023-12-15 21:01:00 +01:00
admin_widgets Fixed #28404 -- Made displaying values in admin respect Field's empty_values. 2024-01-10 08:34:25 +01:00
aggregation Fixed #35042 -- Fixed a count() crash on combined queries. 2023-12-16 20:19:24 +01:00
aggregation_regress Fixed #34176 -- Fixed grouping by ambiguous aliases. 2023-01-09 10:52:51 +01:00
annotations Fixed #34437 -- Made values() resolving error mention selected annotations. 2023-03-25 20:22:45 +01:00
app_loading Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
apps Fixed #34849 -- Avoided raising RuntimeWarning about import-time queries when apps are reinitialized with test tools. 2023-09-25 08:17:03 +02:00
asgi Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
async Fixed #34331 -- Added QuerySet.aiterator() support for prefetch_related(). 2023-07-31 21:17:36 +02:00
auth_tests Added test ensuring that validate_password is used in AdminPasswordChangeForm. 2024-01-12 17:27:55 -03:00
backends Fixed #35028 -- Disabled server-side bindings for named cursors on psycopg >= 3. 2024-01-12 21:40:18 +01:00
base
bash_completion
basic Fixed #35060 -- Deprecated passing positional arguments to Model.save()/asave(). 2024-01-02 08:42:33 +01: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 Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
check_framework Fixed #34691 -- Added system check for unmatched angle brackets in path(). 2023-07-11 11:59:27 +02:00
conditional_processing Updated documentation and comments for RFC updates. 2022-11-10 13:52:17 +01:00
constraints Refs #34840 -- Fixed test_validate_nullable_textfield_with_isnull_true() on databases that don's support table check constraints. 2023-10-12 20:01:44 +02:00
contenttypes_tests Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
context_processors
csrf_tests Corrected logger in CsrfViewMiddlewareTestMixin.test_ensures_csrf_cookie_no_logging(). 2023-09-13 13:49:01 +02:00
custom_columns
custom_lookups Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
custom_managers
custom_methods
custom_migration_operations
custom_pk Removed unnecessary trailing commas in tests. 2023-08-22 12:42:57 +02:00
datatypes
dates
datetimes Refs #32365 -- Removed support for pytz timezones per deprecation timeline. 2023-01-17 11:49:15 +01:00
db_functions Fixed #34013 -- Added QuerySet.order_by() support for annotation transforms. 2023-12-12 05:51:33 +01:00
db_typecasts
db_utils Fixed #33308 -- Added support for psycopg version 3. 2022-12-15 06:17:57 +01:00
dbshell Fixed #33817 -- Added support for python-oracledb and deprecated cx_Oracle. 2023-08-10 10:11:53 +02:00
decorators Refs #31949 -- Made make_middleware_decorator to work with async functions. 2023-09-13 11:41:01 +02:00
defer Fixed #34458 -- Fixed QuerySet.defer() crash on attribute names. 2023-04-05 05:38:10 +02:00
defer_regress Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
delete Fixed random delete.tests.DeletionTests.test_deletion_order failures. 2022-12-30 12:22:30 +01:00
delete_regress Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
deprecation Refs #26029 -- Removed DEFAULT_FILE_STORAGE and STATICFILES_STORAGE settings. 2023-09-18 22:12:40 +02:00
dispatch Refs #34986 -- Moved garbage_collect() helper to django.test.utils. 2023-12-06 09:26:11 +01:00
distinct_on_fields
empty
empty_models
expressions Fixed #29049 -- Added slicing notation to F expressions. 2023-12-30 08:24:30 +01:00
expressions_case
expressions_window Fixed #35064 -- Fixed Window(order_by) crash with DecimalFields on SQLite. 2023-12-29 09:07:31 +01: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 #34936 -- Fixed migration crash for DecimalField with db_default on SQLite. 2023-11-02 17:57:39 +01:00
field_subclassing
file_storage Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
file_uploads Fixed #34968 -- Made multipart parsing of headers raise an error on too long headers. 2023-11-24 12:06:54 +01:00
files Fixed #34642 -- Added File.open() support for *args and **kwargs. 2023-09-11 06:07:47 +02:00
filtered_relation Fixed #35050 -- Fixed prefixing field names in FilteredRelation(). 2023-12-23 17:35:13 +01:00
fixtures Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
fixtures_model_package
fixtures_regress Fixed some typos in comments, docstrings, and tests. 2023-03-20 08:07:23 +01:00
flatpages_tests
force_insert_update Fixed #30382 -- Allowed specifying parent classes in force_insert of Model.save(). 2023-06-29 21:52:52 +02:00
foreign_object Refs #16055 -- Deprecated get_joining_columns()/get_reverse_joining_columns() methods. 2023-04-18 12:46:27 +02:00
forms_tests Used enterClassContext() where appropriate. 2024-01-04 05:55:29 +01:00
from_db_value
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 Fixed #34816 -- Fixed GenericForeignKey crash when checking cache for primary keys with different types. 2023-09-08 08:47:11 +02:00
generic_views Removed unnecessary list() calls on sorted(). 2023-12-28 10:58:37 +01:00
get_earliest_or_latest
get_object_or_404
get_or_create Fixed #34280 -- Allowed specifying different field values for create operation in QuerySet.update_or_create(). 2023-02-14 11:50:35 +01:00
gis_tests Fixed #35100 -- Reworked GeoIP2 database initialization. 2024-01-11 12:01:35 +01:00
handlers Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
httpwrappers Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
humanize_tests Fixed #33879 -- Improved timesince handling of long intervals. 2023-01-04 11:14:06 +01:00
i18n Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
import_error_package
indexes Refs #27236 -- Removed Meta.index_together per deprecation timeline. 2023-09-18 22:12:40 +02:00
inline_formsets
inspectdb Fixed #33143 -- Raised RuntimeWarning when performing import-time queries. 2023-08-21 13:44:25 +02:00
introspection Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
invalid_models_tests Refs #34944 -- Propagated system checks for GeneratedField.output_field. 2023-11-14 20:22:07 +01:00
known_related_objects Fixed #34227 -- Fixed QuerySet.select_related() with multi-level FilteredRelation. 2023-01-24 10:20:27 +01:00
logging_tests Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
lookup Fixed #35018 -- Fixed migrations crash on GeneratedField with BooleanField as output_field on Oracle < 23c. 2023-12-12 05:39:11 +01:00
m2m_and_m2o
m2m_intermediary
m2m_multiple
m2m_recursive
m2m_regress
m2m_signals
m2m_through
m2m_through_regress
m2o_recursive
mail Used enterClassContext() where appropriate. 2024-01-04 05:55:29 +01:00
managers_regress
many_to_many Fixed #33651 -- Added support for prefetching GenericForeignKey. 2023-09-18 13:23:21 +02:00
many_to_one Fixed #34633 -- Made create() method of reverse many-to-one managers clear prefetch_related() cache. 2023-11-28 05:46:04 +01:00
many_to_one_null
max_lengths
messages_tests Used enterClassContext() where appropriate. 2024-01-04 05:55:29 +01:00
middleware Fixed #34742 -- Made CommonMiddleware raise APPEND_SLASH RuntimeError on DELETE requests. 2023-12-08 05:56:36 +01:00
middleware_exceptions Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
migrate_signals Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
migration_test_data_persistence Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
migrations Fixed #35022 -- Fixed RenameIndex() crash on unnamed indexes if exists unique constraint on the same fields. 2023-12-22 12:47:17 +01:00
migrations2 Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
model_enums Refs #34986 -- Removed redundant CustomChoicesTests.test_timezone_unsupported(). 2023-11-29 21:12:53 +01:00
model_fields Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
model_forms Fixed #35060 -- Deprecated passing positional arguments to Model.save()/asave(). 2024-01-02 08:42:33 +01:00
model_formsets Fixed #34532 -- Made formset_factory() respect Form's default_renderer. 2023-07-24 09:09:53 +02:00
model_formsets_regress
model_indexes
model_inheritance Refs #34634 -- Fixed creating diamond-shaped MTI objects with ancestors inherited from different paths. 2023-06-20 08:40:35 +02:00
model_inheritance_regress
model_meta Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
model_options
model_package
model_regress
model_utils
modeladmin Fixed #35087 -- Reallowed filtering against foreign keys not listed in ModelAdmin.list_filters. 2024-01-08 09:21:54 +01:00
multiple_database Fixed #33985 -- Used app_config.verbose_name in ContentType.__str__(). 2023-03-09 10:27:08 +01:00
mutually_referential
nested_foreign_keys
no_models
null_fk
null_fk_ordering
null_queries
one_to_one Fixed #33651 -- Added support for prefetching GenericForeignKey. 2023-09-18 13:23:21 +02:00
or_lookups
order_with_respect_to
ordering Fixed #34372 -- Fixed queryset crash on order by aggregation using OrderBy. 2023-02-27 07:10:19 +01:00
pagination Improved style of n-tuple wording in docs and comments. 2023-06-23 09:29:35 +02:00
postgres_tests Fixed #35075 -- Added deduplicate_items parameter to BTreeIndex. 2024-01-02 12:55:12 +01:00
prefetch_related Fixed #34889 -- Fixed get_prefetch_queryset() fallback in prefetch_one_level(). 2023-10-06 20:18:41 +02:00
project_template
properties
proxy_model_inheritance
proxy_models
queries Refs #34013 -- Registered instance lookups as documented in tests. 2023-12-16 20:05:36 +01:00
queryset_pickle
raw_query
redirects_tests
requests_tests Refs #21442 -- Increased test coverage of requests. 2023-11-28 09:33:59 +01:00
requirements Refs #34986 -- Used non-binary build of psycopg for PyPy. 2023-12-07 09:21:37 +01:00
reserved_names
resolve_url
responses Added tests for HttpResponseBase.charset/reason_phrase setters. 2023-06-10 20:43:05 +02:00
reverse_lookup
save_delete_hooks
schema Refs #32503 -- Added assertion for effective default value when altering TextField to non-nullable with default. 2023-12-14 10:53:37 +01:00
select_for_update Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
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 Removed unnecessary trailing commas in tests. 2023-08-22 12:42:57 +02:00
servers Fixed #35051 -- Prevented runserver from removing non-zero Content-Length for HEAD requests. 2023-12-31 08:32:37 +01:00
sessions_tests Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
settings_tests Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
shell
shortcuts
signals Refs #32172 -- Used asgiref coroutine shim in async signals tests. 2023-03-08 09:53:25 +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 Fixed #34688 -- Removed contrib.sitemaps.ping_google() and ping_google management command. 2023-07-10 05:59:35 +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
staticfiles_tests Used enterClassContext() where appropriate. 2024-01-04 05:55:29 +01:00
str
string_lookup
swappable_models Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
syndication_tests
template_backends Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
template_loader
template_tests Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
templates
test_client Fixed #14611 -- Added query_params argument to RequestFactory and Client classes. 2023-11-23 10:39:29 +01:00
test_client_regress Fixed #14611 -- Added query_params argument to RequestFactory and Client classes. 2023-11-23 10:39:29 +01:00
test_exceptions
test_runner Fixed #34825 -- Avoided setting unused connections when initializing parallel workers. 2023-09-25 10:14:55 +02:00
test_runner_apps
test_utils Avoided nested transactions in SkippingClassTestCase. 2024-01-12 09:57:52 +01:00
timezones Fixed #34921 -- Fixed crash of warning for unbound naive datetimes. 2023-10-22 14:26:38 +02:00
transaction_hooks
transactions Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01:00
unmanaged_models Refs #33476 -- Applied Black's 2023 stable style. 2023-02-01 11:04:38 +01:00
update Fixed #34421 -- Fixed QuerySet.update() on querysets in descending order by annotations. 2023-03-18 13:19:40 +01:00
update_only_fields
urlpatterns
urlpatterns_reverse
user_commands Simplified call_command() calls. 2023-07-27 15:48:47 +02:00
utils_tests Fixed #35097 -- Tested parse_datetime() with bare date. 2024-01-09 14:08:03 -03:00
validation Fixed #34818 -- Prevented GenericIPAddressField from mutating error messages. 2023-11-24 05:46:17 +01:00
validators Fixed #34943 -- Made EmailValidator.__eq__() ignore domain_allowlist ordering. 2023-10-28 14:35:25 +02:00
version
view_tests Used addCleanup() in tests where appropriate. 2023-12-31 10:01:31 +01: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 Fixed #34810 -- Measured test coverage on django-admin commands. 2023-09-07 15:47:26 -03:00
README.rst
runtests.py Refs #34986 -- Added django.utils.version.PYPY. 2023-11-27 10:37:29 +01:00
sitecustomize.py Fixed #34810 -- Measured test coverage on django-admin commands. 2023-09-07 15:47:26 -03:00
test_sqlite.py
urls.py

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