Commit Graph

9968 Commits

Author SHA1 Message Date
Nick Pope a35d2a4510 Refs #23748 -- Added AutoField introspection for SQLite. 2019-01-09 09:59:15 -05:00
Tom Hacohen 1ecc0a395b Fixed #30070, CVE-2019-3498 -- Fixed content spoofing possiblity in the default 404 page.
Co-Authored-By: Tim Graham <timograham@gmail.com>
2019-01-03 21:21:55 -05:00
Mariusz Felisiak e49ab72637
Refs #29851 -- Fixed test_subquery_row_range_rank() crash on MariaDB 10.2+.
Thanks Tom Forbes for the report.
2019-01-03 20:18:45 +01:00
Tim Graham b5fe97a34e Added __init__.py for db_utils tests. 2019-01-02 18:19:45 -05:00
Tim Graham 0004daa536
Used 4 space hanging indent for dictionaries.
Thanks Mariusz Felisiak for auditing.
2019-01-02 18:18:19 -05:00
Tim Graham e4a714b259 Pinned Pillow != 5.4.0 in test requirements.
There's a bug that causes a test failure in forms_tests:
https://github.com/python-pillow/Pillow/pull/3501/files#r244651761.
2019-01-02 17:15:39 -05:00
Patrik Sletmo 14e2b1b065 Fixed #29981 -- Fixed inline formsets with a OnetoOneField primary key that uses to_field. 2019-01-01 10:40:22 -05:00
Tim Graham 02c07be95c Fixed #30050 -- Fixed InlineModelAdmin.has_change_permission() called with non-None obj during add.
Thanks andreage for the report and suggested fix.
2019-01-01 09:42:14 -05:00
Paveł Tyślacki 0123b67f6b Fixed #30060 -- Moved SQL generation for indexes and constraints to SchemaEditor. 2019-01-01 09:39:58 -05:00
Tim Graham 043bd70942 Updated test URL patterns to use path() and re_path(). 2018-12-31 10:47:32 -05:00
Tim Graham 1136d57f01
Updated a test to reflect the fact that "import *" isn't used in URLconfs anymore (refs #14675). 2018-12-31 10:24:28 -05:00
Matt Wiens e817ae74da Followed style guide for model attribute ordering. 2018-12-27 19:34:14 -05:00
Mariusz Felisiak dd8ed64113
Fixed #29851 -- Fixed crash of annotations with window expressions in Subquery. 2018-12-27 20:21:57 +01:00
Jon Dufresne 6fe9c45b72 Fixed #30024 -- Made urlencode() and Client raise TypeError when None is passed as data. 2018-12-27 11:19:55 -05:00
CHI Cheng b7dbd5ff68 Fixed broken links to PyYAML page. 2018-12-27 10:48:37 +01:00
Denis Stebunov 277de22984 Fixed #30058 -- Made SMTP EmailBackend.send_messages() return 0 for empty/error cases. 2018-12-26 13:33:08 -05:00
Tim Graham 0b54ab0675 Refs #30033 -- Fixed schema's test_m2m_rename_field_in_target_model test failure on SQLite < 3.20.
Mixing local test models with non-local models resulted in a referential
integrity error during tear down since the models are removed in separate
schema editor instances which each check constraints.

Failure appeared after 7289874adc.
2018-12-26 11:26:51 -05:00
Tim Graham b74b6736d0
Refs #29547 -- Skipped an unsupported partial index test on older versions of SQLite.
Follow up to e5b8626c0e.
2018-12-26 11:20:11 -05:00
Simon Charette 64f9776bc4 Refs #29004 -- Prevented inspectdb tests from flushing all tables data.
This is a costly operation on most database backends.
2018-12-24 15:32:39 -05:00
Simon Charette f6d8b0c47e Refs #26840 -- Corrected SQLite connection mocking in a setup_databases() test.
The test was expecting connections used by DiscoverRunner.setup_databases()
to be the ones defined in django.test.runner but this doesn't hold true
since this method was made a proxy of django.test.utils.setup_databases.

This broke the TransactionTestCase.serialized_rollback feature in the test
suite because calls to create_db_test() cleared the test data persisted on
connections objects.

Added an assertions to prevent this from happening again.
2018-12-24 15:32:27 -05:00
Nick Pope 83677faf86 Fixed #30056 -- Added SQLite support for StdDev and Variance functions. 2018-12-24 11:14:58 -05:00
Sanyam Khurana 5d25804eaf Fixed #20098 -- Added a check for model Meta.db_table collisions. 2018-12-24 10:40:11 -05:00
Nick Pope e626a3f993 Renamed Sqlite and Sqlite3 references to SQLite. 2018-12-22 18:52:54 -05:00
Nick Pope 7534e43497 Refs #14204 -- Removed obsolete referential integrity comment for SQLite. 2018-12-22 18:44:21 -05:00
Sergey Fedoseev a68ea23101 Fixed #29970, #30041 -- Made ModelBase.__new__() pass attrs without contribute_to_class() to type.__new__(). 2018-12-22 18:11:24 -05:00
Simon Charette 25a0781a16 Refs #29182 -- Corrected SQLite's supports_atomic_references_rename feature flag. 2018-12-22 14:58:08 -05:00
Simon Charette e5b8626c0e Refs #29547 -- Corrected SQLite's supports_partial_indexes feature flag. 2018-12-22 14:51:59 -05:00
Simon Charette 20f6f9eaa1 Renamed SQLite3 references to to SQLite.
The version suffix isn't part of the product name.
2018-12-22 14:20:43 -05:00
François Freitag e671337e8b Fixed #29750 -- Added View.setup() hook for class-based views. 2018-12-21 19:01:11 -05:00
jtiai 5a77190e66 Fixed #29792 -- Made GeometryField.deconstruct() handle 'extent' and 'tolerance' args. 2018-12-21 17:44:45 -05:00
jtiai 7b9f8e38bb Added tests for GeometryField.deconstruct(). 2018-12-21 17:41:39 -05:00
Tim Graham 194a4b526c Added tests for ContentType/Group/Permission.__str__(). 2018-12-21 12:45:02 -05:00
Dakota Hawkins 8d3147e130 Fixed #30031 -- Added --no-header option to makemigrations/squashmigrations. 2018-12-19 12:41:31 +01:00
Konstantin Alekseev b514dc14f4 Fixed #30015 -- Ensured request body is properly consumed for keep-alive connections. 2018-12-19 11:27:08 +01:00
Simon Charette 894cb13779 Refs #29182 -- Stopped relying on legacy alter table semantic on SQLite 3.26+.
SQLite 3.26 changed the behavior of table and column renaming operations to
repoint foreign key references even if foreign key checks are disabled.

This makes the workarounds in place to simulate this behavior unnecessary on
SQLite 3.26+. Refs #30033.
2018-12-17 10:44:05 +01:00
Simon Charette 315357ad25 Fixed #30023 -- Prevented SQLite schema alterations while foreign key checks are enabled.
Prior to this change foreign key constraint references could be left pointing
at tables dropped during operations simulating unsupported table alterations
because of an unexpected failure to disable foreign key constraint checks.

SQLite3 does not allow disabling such checks while in a transaction so they
must be disabled beforehand.

Thanks ezaquarii for the report and Carlton and Tim for the review.
2018-12-15 18:51:59 -05:00
Manan 3a4558b84f Moved choices inside of test models per coding style. 2018-12-10 09:28:49 -05:00
Benjamin Wohlwend 79c196cfb2 Fixed #28766 -- Added ResolverMatch.route.
Co-Authored-By: Xavier Fernandez <xavier.fernandez@polyconseil.fr>
2018-12-06 18:05:40 -05:00
Mariusz Felisiak f9a33e3c3f Fixed #29932 -- Fixed combining compound queries with sub-compound queries on SQLite and Oracle. 2018-12-06 15:31:33 -05:00
Patrick Arminio ae180fa4b7 Fixed #29986 -- Added .format() support to ngettext_lazy strings. 2018-12-06 15:12:34 -05:00
Simon Charette 53269bcaaf Fixed #30011 -- Fixed queries that reuse filtered aggregates.
Thanks Taqi Abbas and Raphael Kimmig for the report.
2018-12-06 14:55:35 -05:00
Tim Graham 88619e6129
Bumped mysqlclient requirement to >= 1.3.13.
There are test failures with older versions.
2018-12-06 14:49:27 -05:00
Tim Graham 4c7c608a1d Reverted "Fixed #25251 -- Made data migrations available in TransactionTestCase when using --keepdb."
This reverts commits b3b1d3d45f and
9fa0d3786f due to reverse build failures
for which a solution isn't forthcoming.
2018-12-05 15:30:23 -05:00
Tim Graham 734ce71824 Refs #30013 -- Fixed SchemaEditor.quote_value() test for mysqlclient 1.3.14+. 2018-12-05 14:46:31 -05:00
François Freitag fbc7e41389 Tested exception messages in generic_views tests. 2018-12-04 22:52:19 -05:00
Carlton Gibson 8245c99ee6
Fixed #29930 -- Allowed editing in admin with view-only inlines.
Co-authored-by: Tim Graham <timograham@gmail.com>
2018-12-03 07:44:18 -08:00
Xavier Fernandez 4d9f51f2b5 Added test for ResolverMatch.__repr__(). 2018-11-30 17:43:55 -05:00
Xavier Fernandez 9d334e0a7a Removed urlpatterns_reverse dependency in urlpatterns tests. 2018-11-30 17:39:34 -05:00
Tim Fiedler b07273a0f7 Fixed #29987 -- Detected unmanaged model deletions. 2018-11-30 09:57:43 -05:00
Jaap Roes 8a1a919468 Fixed #29997 -- Allowed combining SearchQuerys with different configs.
Seems to be a needless restriction in
978a00e39f.
2018-11-30 09:42:50 -05:00
Tim Graham 41db8cb252
Used assertCountEqual() in contrib.postgres.search tests. 2018-11-29 14:43:53 -05:00
romgar 9fa0d3786f Refs #25251 -- Filtered out skipped tests when processing the test suite to set _next_serialized_rollback. 2018-11-29 11:20:27 -05:00
Basil Dubyk 7d1123e5ad Fixed #29929 -- Fixed admin view-only change form crash when using ModelAdmin.prepopulated_fields. 2018-11-28 15:40:14 -05:00
dmytryi.striletskyi dcd1025f4c Fixed #28385 -- Fixed deserializing natural keys when primary key has a default value.
Co-Authored-By: Hasan Ramezani <hasan.r67@gmail.com>
2018-11-27 18:35:19 -05:00
Tim Graham 7056a4dd8e Switched TestCase to SimpleTestCase in GIS tests. 2018-11-27 10:22:13 -05:00
Simon Charette 0f212db29d Made reused RequestFactory instances class attributes. 2018-11-27 09:49:02 -05:00
Simon Charette 7f63b894c0 Adjusted code style of a few test data setup methods.
Thanks Mariusz for suggesting it.
2018-11-27 09:48:22 -05:00
Simon Charette 84e7a9f4a7 Switched setUp() to setUpTestData() where possible in Django's tests. 2018-11-27 09:35:17 -05:00
Tim Graham 193c109327 Switched TestCase to SimpleTestCase where possible in Django's tests. 2018-11-27 08:58:44 -05:00
Mariusz Felisiak f091ea3515
Refs #29722 -- Added introspection of materialized views for Oracle.
Thanks Tim Graham for the review.
2018-11-26 19:45:05 +01:00
Simon Charette 26c2a6ff88 Removed empty setUp() in admindocs tests. 2018-11-26 10:24:01 -05:00
Simon Charette b8763fc0a4 Used SimpleTestCase for template library tests. 2018-11-26 10:23:35 -05:00
Hasan Ramezani 11a9017179 Fixed #29966 -- Added tests for BaseHandler's "The view didn't return an HttpResponse object" error. 2018-11-23 19:19:02 -05:00
Nick Pope c512912463 Refs #23801 -- Made integer field max_length warning show correct field type. 2018-11-23 14:40:46 -05:00
Claude Paroz d7e18a509e Fixed #29978 -- Catched GDALException in GeometryField.to_python 2018-11-23 09:39:02 +01:00
Tom Forbes 31408446b3 Fixed #29974 -- Fixed non-truthy primary key values for QuerySet.bulk_update(). 2018-11-21 22:58:43 -05:00
Tim Graham 5a71bd7f9d Removed unused views in middleware_exceptions tests.
Unused since d334f46b7a.
2018-11-21 17:48:09 -05:00
Mariusz Felisiak d5f4ce9849
Fixed #29949 -- Refactored db introspection identifier converters.
Removed DatabaseIntrospection.table_name_converter()/column_name_converter()
and use instead DatabaseIntrospection.identifier_converter().

Removed DatabaseFeatures.uppercases_column_names.

Thanks Tim Graham for the initial patch and review and Simon Charette
for the review.
2018-11-21 09:06:50 +01:00
redodo 2e4776196d Fixed #29953 -- Added CSS class to column headers in tabular inlines.
The class name is the same as one given to the fields in the change list.
2018-11-20 18:17:53 -05:00
Sanyam Khurana a7d6cab771 Fixed #29282 -- Prevented some admin checks from crashing with TypeError.
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
2018-11-20 17:19:13 -05:00
Tim Graham ced0bdd923 Tested a middleware's process_template_response() returning None. 2018-11-20 11:35:01 -05:00
redodo 89a2216486 Fixed #29961 -- Made RelatedFieldWidgetWrapper hide related item links if wrapping a hidden widget. 2018-11-19 15:12:52 -05:00
Nick Pope ebd270627c Refs #29722 -- Added introspection of partitions for PostgreSQL. 2018-11-19 14:06:01 -05:00
Thomas Grainger 0607699902 Fixed #29478 -- Added support for mangled names to cached_property.
Co-Authored-By: Sergey Fedoseev <fedoseev.sergey@gmail.com>
2018-11-19 13:40:49 -05:00
Sergey Fedoseev 80ba7a881f Fixed cached_properties that share a common property.
The aliases aren't cached and thus the old usage will be an error after
refs #29478.
2018-11-19 08:59:46 -05:00
Tim Graham 9cac10eee4 Added BaseDatabaseSchemaEditor._effective_default() to allow testing without a connection. 2018-11-17 19:27:53 -05:00
Tim Graham e62f6e0968 Fixed #29505 -- Removed SchemaEditor's calling of callable defaults.
Thanks Eugene Pakhomov for the suggested fix.
2018-11-17 19:27:53 -05:00
Hasan Ramezani ec16588c27 Added test for Model._check_column_name_clashes(). 2018-11-17 15:24:48 -05:00
Tim Graham 405ec5b9c6 Fixed typo in tests/admin_views/tests.py. 2018-11-16 15:09:22 -05:00
Mathew Payne 26bb2611a5 Fixed #29952 -- Lowercased all passwords in contrib.auth's auth/common-passwords.txt.gz. 2018-11-15 14:11:03 -05:00
Hasan Ramezani cf915cb513 Added a test for a lookup in Model.refresh_from_db(fields=[...]). 2018-11-15 11:38:47 -05:00
Ian Foote e1fc07c047 Fixed #17930 -- Allowed ORing (|) with sliced QuerySets. 2018-11-15 09:43:58 -05:00
Sarah Guermond cd40306854 Fixed #25884 -- Fixed migrate --run-syncdb when specifying an app label. 2018-11-14 18:22:59 -05:00
Hasan Ramezani 6d4e5feb79 Fixed #29835 -- Made RelatedFieldListFilter respect ModelAdmin.ordering. 2018-11-14 14:29:39 -05:00
Basil Dubyk 35a08b8541 Fixed #17210 -- Made NullBooleanSelect use unknown/true/false as query data. 2018-11-14 13:43:34 -05:00
Mariusz Felisiak ff8020ed49 Fixed #29788 -- Added support for Oracle Managed File (OMF) tablespaces. 2018-11-13 18:22:41 -05:00
Simon Charette db13bca60a Fixed #29641 -- Added support for unique constraints in Meta.constraints.
This constraint is similar to Meta.unique_together but also allows
specifying a name.

Co-authored-by: Ian Foote <python@ian.feete.org>
2018-11-13 17:57:27 -05:00
oliver d0af5de122 Moved duplicate author declarations to setUpTestData() in DeleteViewTests. 2018-11-13 17:27:24 -05:00
Simon Charette dba4a634ba Refs #29641 -- Refactored database schema constraint creation.
Added a test for constraint names in the database.

Updated SQLite introspection to use sqlparse to allow reading the
constraint name for table check and unique constraints.

Co-authored-by: Ian Foote <python@ian.feete.org>
2018-11-13 15:25:44 -05:00
Simon Charette 2f120ac517 Fixed #29945 -- Moved contrib.postgres uninstallation logic to the app config. 2018-11-12 11:15:48 -05:00
Hasan Ramezani c7cc7526d5 Completed test coverage of contrib.humanize.templatetags.humanize. 2018-11-10 19:09:37 -05:00
Florian Apolloner 934acf1126 Fixed keep-alive support in manage.py runserver.
Ticket #25619 changed the default protocol to HTTP/1.1 but did not
properly implement keep-alive. As a "fix" keep-alive was disabled in
ticket #28440 to prevent clients from hanging (they expect the server to
send more data if the connection is not closed and there is no content
length set).

The combination of those two fixes resulted in yet another problem:
HTTP/1.1 by default allows a client to assume that keep-alive is
supported unless the server disables it via 'Connection: close' -- see
RFC2616 8.1.2.1 for details on persistent connection negotiation. Now if
the client receives a response from Django without 'Connection: close'
and immediately sends a new request (on the same tcp connection) before
our server closes the tcp connection, it will error out at some point
because the connection does get closed a few milli seconds later.

This patch fixes the mentioned issues by always sending 'Connection:
close' if we cannot determine a content length. The code is inefficient
in the sense that it does not allow for persistent connections when
chunked responses are used, but that should not really cause any
problems (Django does not generate those) and it only affects the
development server anyways.

Refs #25619, #28440.
2018-11-10 13:54:45 +01:00
Tim Graham f82be9ebc7
Fixed #29934 -- Added sqlparse as a require dependency. 2018-11-09 19:09:36 -05:00
Matthias Kestenholz f9ff1df1da Fixed #29917 -- Stopped collecting ModelAdmin.actions from base ModelAdmins. 2018-11-09 18:52:30 -05:00
Srinivas Thatiparthy (శ్రీనివాస్ తాటిపర్తి) a7ef4a56e0 Fixed #29920 -- Added a test for smart_urlquote()'s UnicodeError branch. 2018-11-09 12:39:08 -05:00
oliver 9b110f0a84 Moved duplicate author declarations to setUpTestData() in UpdateViewTests. 2018-11-09 15:26:52 +01:00
Simon Charette 75dfa92a05 Fixed #29908 -- Fixed setting of foreign key after related set access if ForeignKey uses to_field.
Adjusted known related objects handling of target fields which relies on
from and to_fields and has the side effect of fixing a bug bug causing
N+1 queries when using reverse foreign objects.

Thanks Carsten Fuchs for the report.
2018-11-08 19:51:15 -05:00
oliver 0ce2ad9ca4 Used QuerySet.bulk_create() in a couple tests. 2018-11-06 19:32:40 -05:00
romgar b3b1d3d45f Fixed #25251 -- Made data migrations available in TransactionTestCase when using --keepdb.
Data loaded in migrations were restored at the beginning of each
TransactionTestCase and all the tables are truncated at the end of
these test cases. If there was a TransactionTestCase at the end of
the test suite, the migrated data weren't restored in the database
(especially unexpected when using --keepdb). Now data is restored
at the end of each TransactionTestCase.
2018-11-06 16:57:50 -05:00
Tom Forbes ecac6d7a2a Improved performance of runtests.py with os.scandir(). 2018-11-04 18:56:46 -05:00