1
0
mirror of https://github.com/django/django.git synced 2024-12-23 09:36:06 +00:00
Commit Graph

189 Commits

Author SHA1 Message Date
Nick Pope
a629139425 Refs #29887, Refs #24212 -- Added servers configuration hook for memcached backends.
The servers property can be overridden to allow memcached backends to
alter the server configuration prior to it being passed to instantiate
the client. This allows avoidance of documentation for per-backend
differences, e.g. stripping the 'unix:' prefix for pylibmc.
2020-09-02 08:51:17 +02:00
Nick Pope
cc1f2c6a19 Refs #29887 -- Simplified memcached client instantiation. 2020-09-01 10:51:00 +02:00
Mariusz Felisiak
1853724aca Fixed CVE-2020-24584 -- Fixed permission escalation in intermediate-level directories of the file system cache on Python 3.7+. 2020-09-01 09:17:23 +02:00
Kevin Michel
abbdd3a622 Added tests for cache middlewares constructors. 2020-08-28 10:00:39 +02:00
Nick Pope
b5acb9db75 Fixed #31907 -- Fixed missing validate_key() calls in cache backends. 2020-08-24 09:41:21 +02:00
Nick Pope
9e04b242ee Refs #31907 -- Added cache key validation tests for cache operations. 2020-08-24 09:33:55 +02:00
Claude Paroz
258c88a913 Refs #5691 -- Made cache keys independent of USE_L10N.
This mostly reverts af1893c4ff.
2020-06-22 10:55:12 +02:00
Guillermo Bonvehí
f386454d13 Fixed #31728 -- Fixed cache culling when no key is found for deletion.
DatabaseCache._cull implementation could fail if no key was found to
perform a deletion in the table. This prevented the new cache key/value
from being correctly added.
2020-06-22 06:29:35 +02:00
Mariusz Felisiak
926148ef01
Fixed #31654 -- Fixed cache key validation messages. 2020-06-05 07:21:52 +02:00
David Smith
dbdc192ca3 Preferred usage of among/while to amongst/whilst. 2020-06-03 21:02:48 +02:00
Mariusz Felisiak
229c9c6653 Refs CVE-2020-13254 -- Fixed cache.tests when KEY_PREFIX is defined.
Follow up to 2c82414914.
2020-06-03 13:00:37 +02:00
Dan Palmer
2c82414914 Fixed CVE-2020-13254 -- Enforced cache key validation in memcached backends. 2020-06-03 09:24:26 +02:00
Jon Dufresne
c1c361677d Made BaseCacheTests skip culling tests if culling is not supported. 2020-03-19 15:34:16 +01:00
Claude Paroz
4d973f5939 Refs #26601 -- Deprecated passing None as get_response arg to middleware classes.
This is the new contract since middleware refactoring in Django 1.10.

Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-02-18 20:03:44 +01:00
Claude Paroz
6fba85b766 Removed unused cache.tests.CacheUtils._set_cache().
Unused since its introduction in 71a03e01aa.
2020-02-13 13:53:12 +01:00
Hasan Ramezani
579f33eb79 Replaced assertWarns() with SimpleTestCase.assertWarnsMessage() in tests. 2020-01-30 11:19:50 +01:00
Flavio Curella
d08d4f464a Fixed #30765 -- Made cache_page decorator take precedence over max-age Cache-Control directive. 2020-01-16 13:39:16 +01:00
Jon Dufresne
9762617a03 Improved tests assertions in cache tests.
Added assertions to compare results of .add(), .delete(), .touch(),
.incr(), .decr(), and .get_or_set() methods.

Made tests use assertIs() rather than assertTrue/False().
2019-12-31 12:49:36 +01:00
Jon Dufresne
8ea3ff155e Fixed typo in tests/cache/tests.py docstring. 2019-12-11 17:39:21 +01:00
daniel a rios
efc3e32d6d Fixed #30759 -- Made cache.delete() return whether it succeeded.
Thanks Simon Charette for the review.
2019-11-14 11:14:11 +01:00
Jon Dufresne
74f2a58b3a Refs #29983 -- Added tests for FileBasedCache pathlib support. 2019-11-06 10:01:01 +01:00
Nick Pope
7552de7866 Used more specific unittest assertions in tests.
* assertIsNone()/assertIsNotNone() instead of comparing to None.
* assertLess() for < comparisons.
* assertIs() for 'is' expressions.
* assertIsInstance() for isinstance() expressions.
* rounding of assertAlmostEqual() for round() expressions.
* assertIs(..., True/False) instead of comparing to True/False.
* assertIs()/assertIsNot() for ==/!= comparisons.
* assertNotEqual() for == comparisons.
* assertTrue()/assertFalse() instead of comparing to True/False.
2019-10-29 12:37:30 +01:00
Flavio Curella
ed112fadc1 Fixed #23755 -- Added support for multiple field names in the no-cache Cache-Control directive to patch_cache_control().
https://tools.ietf.org/html/rfc7234#section-5.2.2.2
2019-10-10 19:30:51 +02:00
Flavio Curella
9facc90020 Refs #23755 -- Added tests for patch_cache_control() with no-cache Cache-Control directive. 2019-10-10 12:24:52 +02:00
Daniel Fairhead
5cb3ed187b Fixed #30772 -- Optimized make_template_fragment_key().
Removed usage of urllib.quote(), unnecessary since cbbe60c7fc.
Used hasher's .update() on key fragments.
2019-09-18 14:53:05 +02:00
Adnan Umer
6805c0f99f Fixed #30701 -- Updated patch_vary_headers() to handle an asterisk according to RFC 7231. 2019-08-16 15:25:42 +02:00
Jakub Szafrański
0104b5a417 Fixed #30181 -- Made cache.get() with default work correctly on PyLibMCCache if None is cached. 2019-02-14 19:57:38 -05:00
Jon Dufresne
7785e03ba8 Fixed #30137 -- Replaced OSError aliases with the canonical OSError.
Used more specific errors (e.g. FileExistsError) as appropriate.
2019-01-28 11:15:06 -05:00
Jon Dufresne
00b2e4b67c Added missing assert in FileBasedCacheTests.test_creates_cache_dir_if_nonexistent(). 2019-01-26 16:38:46 -05:00
Simon Charette
8c775391b7 Refs #28478 -- Deprecated TestCase's allow_database_queries and multi_db in favor of databases. 2019-01-10 19:11:21 -05:00
Simon Charette
0f212db29d Made reused RequestFactory instances class attributes. 2018-11-27 09:49:02 -05:00
Tim Graham
193c109327 Switched TestCase to SimpleTestCase where possible in Django's tests. 2018-11-27 08:58:44 -05:00
oliver
abd0ad7681 Fixed #29626, #29584 -- Added optimized versions of get_many() and delete_many() for the db cache backend. 2018-08-17 15:13:09 -04:00
oliver
3ca24fd1c0 Optimized some cache tests with set_many(). 2018-08-16 09:02:21 -04:00
Christian Barcenas
c9c6c16650 Fixed #20584 -- Fixed memcached's get_many() with single-use iterators.
Thanks Guyon Morée for the report.
2018-07-09 10:24:41 -04:00
Morgan Aubert
704443acac Fixed #29363 -- Added SimpleTestCase.assertWarnsMessage(). 2018-05-09 11:40:28 -04:00
Nicolas Noé
3246ad1065 Fixed #27480 -- Added cache.touch(). 2018-04-27 17:48:35 -04:00
Sergey Fedoseev
4ff29a53e6 Refs #17476 -- Removed obsolete simplification of timezone names in cache key generation. 2018-03-03 14:56:39 -05:00
shanghui
d968788b57 Fixed #28833 -- Prevented CacheMiddleware from caching responses with "Cache-Control: private". 2018-02-06 09:42:05 -05:00
Grant Jenks
d38a3169a4 Fixed #28977 -- Changed local-memory cache to use LRU culling.
LRU culling turns every read into a kind of write to the cache: cache keys
are moved to the first position in the OrderedDict when they are retrieved.
The RWLock which permitted multiple readers while prioritizing a single
writer is obsolete since all accesses are now writes.
2018-01-24 12:26:19 -05:00
Adam Johnson
acc989f037 Fixed #28760 -- Removed DummyCache's unnecessary get/set/delete_many(). 2017-10-31 12:16:09 -04:00
Adam Johnson
abacd09f07 Refs #27318 -- Made DummyCache.set_many() return a list for consistency with other backends. 2017-10-30 12:13:17 -04:00
Daniel Tao
4d60261b2a Fixed #28601 -- Prevented cache.get_or_set() from caching None if default is a callable that returns None. 2017-10-10 09:20:34 -04:00
Tim Graham
48d57788ee Refs #26447 -- Removed the USE_ETAGS setting per deprecation timeline. 2017-09-22 12:51:18 -04:00
Tim Graham
e47b56d791 Refs #20892 -- Removed support for passing pylibmc behavior settings as top-level attributes of CACHES['OPTIONS'].
Per deprecation timeline.
2017-09-22 12:51:17 -04:00
Olivier Tabone
a027447f56 Fixed #27318 -- Made cache.set_many() return the list of failed keys. 2017-09-06 14:38:44 -04:00
caleb logan
68f0e8d8b1 Fixed #28500 -- Fixed crash in FileBasedCache._is_expired() if the cache file is empty. 2017-09-03 20:11:49 -04:00
Chandrakant Kumar
f6800a081a Refs #27787 -- Corrected or removed invalid call_command() options. 2017-06-16 11:06:01 -04:00
Jon Dufresne
21046e7773 Fixed #28249 -- Removed unnecessary dict.keys() calls.
iter(dict) is equivalent to iter(dict.keys()).
2017-05-27 19:08:46 -04:00
Bruno Alla
6092ea8fa6 Refs #27804 -- Used subTest() in several tests. 2017-05-24 08:36:34 -04:00