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
Tim Graham
6b4f018b2b
Replaced type-specific assertions with assertEqual().
...
Python docs say, "it's usually not necessary to invoke these methods directly."
2017-03-17 07:51:48 -04:00
Tim Graham
500532c95d
Refs #23919 -- Removed default 'utf-8' argument for str.encode()/decode().
2017-02-09 09:03:47 -05:00
Tim Graham
29f607927f
Fixed spelling of "nonexistent".
2017-02-03 08:01:45 -05:00
Tim Graham
1c466994d9
Refs #23919 -- Removed misc Python 2/3 references.
2017-01-25 13:59:25 -05:00
chillaranand
d6eaf7c018
Refs #23919 -- Replaced super(ClassName, self) with super().
2017-01-25 12:23:46 -05:00
Tim Graham
632c4ffd9c
Refs #23919 -- Replaced errno checking with PEP 3151 exceptions.
2017-01-25 10:13:08 -05:00
Claude Paroz
2366100872
Removed unneeded force_text calls in the test suite
2017-01-24 18:45:54 +01:00
Tim Graham
d170c63351
Refs #23919 -- Removed misc references to Python 2.
2017-01-21 20:02:00 -05:00
Tim Graham
7aba69145d
Refs #23919 -- Removed django.test.mock Python 2 compatibility shim.
2017-01-20 08:17:20 -05:00
Simon Charette
cecc079168
Refs #23919 -- Stopped inheriting from object to define new style classes.
2017-01-19 08:39:46 +01:00
Aymeric Augustin
a556396339
Refs #23919 -- Replaced io.open() with open().
...
io.open() is an alias for open() on Python 3.
2017-01-18 21:45:12 -05:00
Claude Paroz
2b281cc35e
Refs #23919 -- Removed most of remaining six usage
...
Thanks Tim Graham for the review.
2017-01-18 21:33:28 +01:00
Claude Paroz
c716fe8782
Refs #23919 -- Removed six.PY2/PY3 usage
...
Thanks Tim Graham for the review.
2017-01-18 16:21:28 +01:00
Claude Paroz
d7b9aaa366
Refs #23919 -- Removed encoding preambles and future imports
2017-01-18 09:55:19 +01:00
za
321e94fa41
Refs #27392 -- Removed "Tests that", "Ensures that", etc. from test docstrings.
2016-11-10 21:30:21 -05:00
Tim Graham
414ad25b09
Fixed #27327 -- Simplified time zone handling by requiring pytz.
2016-10-27 08:53:20 -04:00
Denis Cornehl
a840710e1e
Fixed #26447 -- Deprecated settings.USE_ETAGS in favor of ConditionalGetMiddleware.
2016-10-10 14:55:59 -04:00
Tim Graham
82f8996785
Refs #5133 -- Isolated test_close() cache test.
2016-09-15 08:59:39 -04:00
Rinat Khabibiev
f9702977b7
Fixed #27211 -- Made UpdateCacheMiddleware include caching headers for "304 Not Modified" responses.
2016-09-14 19:37:18 -04:00
Tim Graham
ef021412d5
Normalized spelling of ETag.
2016-09-09 11:00:21 -04:00
Ed Morley
f02dbbe1ae
Fixed #11331 -- Stopped closing pylibmc connections after each request.
...
libmemcached manages its own connections, so isn't affected by refs #5133 .
2016-09-02 14:44:27 -04:00
Ed Morley
3e935aec6d
Refs #5133 -- Tested memcached connection closing after each request.
2016-09-02 14:36:36 -04:00
Ed Morley
d8ef5b0e65
Fixed #27152 -- Supported comma delimiter in memcached LOCATION string.
2016-08-31 17:23:41 -04:00
Ed Morley
c8058dc241
Added a test for multiple memcached servers in LOCATION.
2016-08-31 17:16:11 -04:00
Ed Morley
65ec8fa8ca
Fixed #20892 -- Allowed configuring memcached client using OPTIONS.
...
Previously, the MemcachedCache backend ignored `OPTIONS` and
PyLibMCCache used them to set pylibmc behaviors. Both backends now
pass `OPTIONS` as keyword arguments to the client constructors.
2016-08-31 12:50:14 -04:00
Ed Morley
cf45bb02d7
Removed unused variable in test_memcached_uses_highest_pickle_version
2016-08-31 12:15:42 -04:00
Ed Morley
674e3fe13e
Fixed #19914 -- Fixed test failures with pylibmc.
2016-08-29 11:03:59 -04:00
Ed Morley
047c1d48a6
Fixed #27132 -- Allowed testing MemcachedCache and PyLibMCCache during the same test run.
2016-08-29 10:57:52 -04:00
Ed Morley
cfd1f93d55
Refs #19914 -- Split the test_invalid_keys cache test into two.
...
The first half of the test fails when using pylibmc (so will need
to be skipped).
2016-08-29 10:21:20 -04:00
Ed Morley
606a303856
Fixed #27124 -- Excluded cull-related cache configs from memcached tests.
...
Since the `cull` and `zero_cull` test cache configs set `MAX_ENTRIES`
and `CULL_FREQUENCY` in `OPTIONS`, which are only intended for use with
the locmem, filesystem, and database backends. This prevents test
failures once refs #20892 is fixed.
2016-08-26 14:29:22 -04:00
Dmitry Dygalo
ca32979cdc
Made miscellaneous code cleanups
2016-07-21 10:08:19 -04:00
Dmitry S..ky / skype: dvska-at-skype
82be474efa
Fixed #26792 -- Allowed None for the value of cache.get_or_set().
2016-07-11 20:49:27 -04:00
Tobias McNulty
17e661641d
Refs #26666 -- Added ALLOWED_HOSTS validation when running tests.
...
Also used ALLOWED_HOSTS to check for external hosts in assertRedirects().
2016-06-20 11:07:46 -04:00
Jon Dufresne
4f336f6652
Fixed #26747 -- Used more specific assertions in the Django test suite.
2016-06-16 14:19:18 -04:00
Jon Dufresne
779829662d
Fixed #26694 -- Made FileBasedCache.get() reraise non-ENOENT IOErrors.
2016-06-01 15:29:24 -04:00
Tim Graham
92053acbb9
Fixed E128 flake8 warnings in tests/.
2016-04-08 10:12:33 -04:00
Przemysław Suliga
90ce5d46bf
Fixed #26462 -- Fixed Python 2 UnicodeEncodeError when warning about long cache keys.
2016-04-05 11:16:04 -04:00
Przemysław Suliga
d356bb653f
Fixed #26460 -- Issued a single warning for invalid cache key
2016-04-04 15:20:55 -04:00
Przemysław Suliga
96ec67a7cf
Fixed #26332 -- Fixed a race condition in BaseCache.get_or_set().
2016-03-08 11:44:37 -05:00
George Marshall
75614f6d4c
Fixed #26331 -- Fixed test function names with typos
2016-03-07 11:58:21 +01:00
Hasan
3d0dcd7f5a
Refs #26022 -- Used context manager version of assertRaises in tests.
2016-01-29 12:32:18 -05:00
Emre Yilmaz
8e838d9c86
Fixed #25840 -- Fixed BaseCache.get_or_set() on the DummyCache backend.
...
This also fixes a possible data eviction race condition between
setting and getting a key. Another thread could remove the key
before get_and_set() accesses it again. In this case, now the
default value will be returned instead of None.
2015-12-04 12:22:17 -05:00
Dwight Gunning
1f29164ced
Fixed #6727 -- Made patch_cache_control() patch an empty Cache-Control header.
2015-11-09 14:26:29 -05:00
Tim Graham
bab9c09342
Fixed spelling of "unpicklable" in cache tests.
2015-10-21 11:56:30 -04:00
Andrew Artajos
48888a1a67
Fixed #25501 -- Made the file-based cache backend use the highest pickling protocol.
2015-10-20 13:05:33 -04:00
Dražen Odobašić
b1e33ceced
Fixed #23395 -- Limited line lengths to 119 characters.
2015-09-12 11:40:50 -04:00
Maxime Lorant
5153a3bfdc
Fixed #25331 -- Removed trailing blank lines in docstrings.
2015-08-31 17:37:21 -04:00
Adam Chainz
05239180c0
Removed unnecessary DBCacheTests.test_clear_commits_transaction test.
...
Was added in 44164c5c30
but the
transaction.commit_unless_managed() line was removed in
ba5138b1c0253fcf390b7509ad7b954117b3be88; thus the test does nothing
but check that clear() runs.
2015-08-31 09:14:06 -04:00
Simon Charette
be67400b47
Refs #24652 -- Used SimpleTestCase where appropriate.
2015-05-20 13:46:13 -04:00
Adam Chainz
5564d0f2ee
Fixed #24560 -- Added a --dry-run mode to the createcachetable command.
2015-04-09 12:15:50 -04:00
Berker Peksag
34fb909180
Fixed #12982 -- Added a get_or_set() method to the BaseCache backend.
2015-03-14 20:07:16 +02:00
Loic Bistuer
bed504d70b
Fixed #24351 , #24346 -- Changed the signature of allow_migrate().
...
The new signature enables better support for routing RunPython and
RunSQL operations, especially w.r.t. reusable and third-party apps.
This commit also takes advantage of the deprecation cycle for the old
signature to remove the backward incompatibility introduced in #22583 ;
RunPython and RunSQL won't call allow_migrate() when when the router
has the old signature.
Thanks Aymeric Augustin and Tim Graham for helping shape up the patch.
Refs 22583.
2015-02-20 21:34:09 +07:00
Tim Graham
0ed7d15563
Sorted imports with isort; refs #23860 .
2015-02-06 08:16:28 -05:00
darkryder
9ec8aa5e5d
Fixed #24149 -- Normalized tuple settings to lists.
2015-02-03 14:59:45 -05:00
Tim Graham
d038c547b5
Removed django.core.cache.get_cache() per deprecation timeline; refs #21012 .
2015-01-17 09:55:18 -05:00
Aymeric Augustin
79deb6a071
Accounted for multiple template engines in template responses.
2015-01-12 21:01:34 +01:00
Tim Graham
5c43fd4825
Isolated some cache tests; refs #23947 .
...
This reverts a change made in 40c60efecc
which was incorrect and caused CacheKeyWarnings.
2015-01-08 13:14:45 -05:00