Commit graph

9933 commits

Author SHA1 Message Date
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
Hasan Ramezani
6b7f1c2530 Increased test coverage of django.utils.http. 2018-11-03 11:13:28 -04:00
Tom Forbes
d207ac1568 Fixed #29883 -- Added selenium hub support to runtests.py. 2018-11-03 09:56:14 -04:00
Jayantha Gumballi
dfcdc8992f Fixed #29886 -- Fixed unaccent lookup when PostgreSQL's standard_conforming_strings option is off.
Thanks Tom McClure for the patch.
2018-11-01 11:14:34 -04:00
Tim Graham
98ef3829e9 Fixed #29890 -- Fixed FileSystemStorage crash if concurrent saves try to create the same directory.
Regression in 632c4ffd9c.
2018-10-31 19:28:11 -04:00
Javier Matos Odut
3d4d0a25b2 Fixed #29901 -- Allowed overriding an autocomplete/raw_id_fields/radio_fields widget with ModelAdmin.get_formset(). 2018-10-31 10:16:17 -04:00
Junyoung
df448bfd02 Fixed #29783 -- Added app label validation to showmigrations command. 2018-10-30 19:29:00 -04:00
Artur Juraszek
817c6cdf0e Capitalized SecurityMiddleware headers for consistency with other headers.
(No behavior change since HTTP headers are case insensitive.)
2018-10-30 18:30:51 -04:00
Hasan Ramezani
c1c68d1ac0 Increased test coverage of django/views/generic/dates.py. 2018-10-30 14:27:48 -04:00
Jayden Kneller
916aecd29d Fixed #29866 -- Made DiscoverRunner do tests tear down if running checks or tests raises an exception. 2018-10-30 12:01:48 -04:00
Simon Charette
630f3d8b46
Refs #29868 -- Prevented name collisions between test constraints on Oracle. 2018-10-30 09:26:03 -04:00
Mads Jensen
a906c98982 Fixed #29547 -- Added support for partial indexes.
Thanks to Ian Foote, Mariusz Felisiak, Simon Charettes, and
Markus Holtermann for comments and feedback.
2018-10-29 19:34:54 -04:00
Hasan Ramezani
4f8f1b2f24 Fixed #29903 -- Added error message for invalid WeekArchiveView week_format. 2018-10-29 14:22:42 -04:00
Simon Charette
d8e03fdeb9 Fixed #29897 -- Fixed autodetector's swappable MTI dependency resolution.
Thanks Steven Ganz for the detailed report.
2018-10-29 11:24:30 -04:00
Simon Charette
95bda03f2d Fixed #29868 -- Retained database constraints on SQLite table rebuilds.
Refs #11964.

Thanks Scott Stevens for testing this upcoming feature and the report.
2018-10-29 10:33:41 +01:00
Tim Graham
f77fc56c96
Fixed #29896 -- Fixed incorrect Model.save() cache relation clearing for foreign keys that use to_field.
Regression in ee49306176.
2018-10-28 22:54:02 -04:00
Hasan Ramezani
4c13b90702 Added test coverage for views.generic.dates.MonthMixin.get_month() KeyError branch. 2018-10-27 18:37:44 -04:00
Tim Graham
f892781b95 Fixed #28606 -- Deprecated CachedStaticFilesStorage. 2018-10-27 11:58:29 -04:00
Hasan Ramezani
55b0b766fb Completed test coverage of views.defaults.bad_request(). 2018-10-25 20:03:58 -04:00
Mariusz Felisiak
c6525bea9e Fixed #29534 -- Made dbshell use rlwrap on Oracle if available. 2018-10-25 19:39:42 -04:00
Sergey Fedoseev
9a88c6dd6a Fixed #29827 -- Fixed reuse of test databases with --keepdb on MySQL.
Regression in e1253bc26f.
2018-10-25 19:37:41 -04:00
Sanyam Khurana
83c7096f2a Fixed #29869 -- Made UUIDField.to_python() convert integers. 2018-10-24 20:26:57 -04:00
Sanyam Khurana
c86a3d80a2 Fixed #29721 -- Ensured migrations are applied and recorded atomically. 2018-10-24 19:29:11 -04:00
Simon Charette
32da3cfdf9 Refs #11964 -- Removed raw SQL from and cleaned up constraint operation tests. 2018-10-24 19:18:41 -04:00
Tom Forbes
8f90593e6f Removed obsolete and flaky GeoIP tests. 2018-10-23 20:46:49 -04:00
Hasan Ramezani
6a8b57df6a Completed test coverage of views.static.directory_name(). 2018-10-23 20:44:27 -04:00
Prabakaran Kumaresshan
10d82c85aa Fixed #29831 -- Added validation for makemigrations --name. 2018-10-23 10:05:24 -04:00
jannschu
efc0f77f02 Fixed #29830 -- Fixed loss of custom utf-8 body encoding in mails. 2018-10-22 15:21:33 -04:00
buzzi
24cae0bedc Fixed #29860 -- Allowed BaseValidator to accept a callable limit_value. 2018-10-22 10:26:54 -04:00
Simon Charette
5e3463f6bc Fixed #27595 -- Made ForeignKey.get_col() follow target chains.
Previously, foreign relationships were followed only one level deep which
prevents foreign keys to foreign keys from being resolved appropriately.
This was causing issues such as improper database value conversion for
UUIDField on SQLite because the resolved expression's output field's
internal type wasn't correct. Added tests to make sure unlikely foreign
reference cycles don't cause recursion errors.

Refs #24343.

Thanks oyooyo for the report and Wayne Merry for the investigation.
2018-10-22 09:49:34 -04:00
Florian Apolloner
c53af56613 Fixed #29847 -- Ensured proper ordering in queries.
Even though good databases tend to keep the result sorted by the/one
window expression and the planners are smart enough to not resort if not
required, it is not valid to rely on this.

MariaDB specifically did return whatever order it wanted, which is
completely okay. Now we sort towards the expected data for all databases.
2018-10-21 22:05:06 +02:00
Florian Apolloner
e127ef62de Fixed a failing test when the source directory is on a readonly fs. 2018-10-21 19:37:58 +02:00
Mariusz Felisiak
328f5627dd
Fixed #29870 -- Added DurationField introspection for Oracle and PostgreSQL.
Thanks Tim Graham for the review.
2018-10-21 09:08:05 +02:00
aspalding
dc5e75d419 Fixed #29838 -- Fixed crash when combining Q objects with __in lookups and lists.
Regression in fc6528b25a.
2018-10-17 11:34:49 -04:00
aspalding
217f82d713 Refs #29838 -- Fixed make_hashable() for values that have lists or dicts nested in tuples.
And for non-hashable values that are iterable, e.g. sets.
2018-10-17 11:17:50 -04:00
aspalding
834c4ec8e4 Moved make_hashable() to django.utils and added tests. 2018-10-17 11:17:23 -04:00