summaryrefslogtreecommitdiff
path: root/tests/cache
AgeCommit message (Collapse)Author
2020-12-17Fixed #29867 -- Added support for storing None value in caches.Nick Pope
Many of the cache operations make use of the default argument to the .get() operation to determine whether the key was found in the cache. The default value of the default argument is None, so this results in these operations assuming that None is not stored in the cache when it actually is. Adding a sentinel object solves this issue. Unfortunately the unmaintained python-memcached library does not support a default argument to .get(), so the previous behavior is preserved for the deprecated MemcachedCache backend.
2020-12-09Fixed #32193 -- Deprecated MemcachedCache.Mariusz Felisiak
2020-12-08Fixed #32233 -- Cleaned-up duplicate connection functionality.Florian Apolloner
2020-12-08Refs #32233 -- Added tests for nonexistent cache backend.Mariusz Felisiak
2020-12-08Refs #32233 -- Added tests for nonexistent cache and databases aliases.Mariusz Felisiak
2020-10-28Made small readability improvements.Martin Thoma
2020-10-19Reverted "Reduced time.sleep() in cache touch() tests."Mariusz Felisiak
This reverts commit 177a49e79c882603da64d45995f5fd60dce8c852 which caused more frequent failures of test_touch().
2020-10-16Reduced time.sleep() in cache touch() tests.Nick Pope
There are 8 cache backends to test and each test of touch() takes ~7s → ~56s. This seems excessive and it feels like we should be able to reduce this significantly. time.sleep() accepts floating point values and is guaranteed to sleep for at least the number of seconds specified as of Python 3.5. We do run the risk that there may be spurious test failures from this, but that already seemed to be the case anyway.
2020-09-16Fixed #29887 -- Added a cache backend for pymemcache.Nick Pope
2020-09-16Refs #29887, Refs #24212 -- Added more client servers tests for PyLibMCCache.Nick Pope
2020-09-14Fixed #31789 -- Added a new headers interface to HttpResponse.Tom Carrick
2020-09-02Refs #29887, Refs #24212 -- Added servers configuration hook for memcached ↵Nick Pope
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-01Refs #29887 -- Simplified memcached client instantiation.Nick Pope
2020-09-01Fixed CVE-2020-24584 -- Fixed permission escalation in intermediate-level ↵Mariusz Felisiak
directories of the file system cache on Python 3.7+.
2020-08-28Added tests for cache middlewares constructors.Kevin Michel
2020-08-24Fixed #31907 -- Fixed missing validate_key() calls in cache backends.Nick Pope
2020-08-24Refs #31907 -- Added cache key validation tests for cache operations.Nick Pope
2020-06-22Refs #5691 -- Made cache keys independent of USE_L10N.Claude Paroz
This mostly reverts af1893c4ff8fdbf227a43a559d90bb1c1238b01a.
2020-06-22Fixed #31728 -- Fixed cache culling when no key is found for deletion.Guillermo Bonvehí
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-05Fixed #31654 -- Fixed cache key validation messages.Mariusz Felisiak
2020-06-03Preferred usage of among/while to amongst/whilst.David Smith
2020-06-03Refs CVE-2020-13254 -- Fixed cache.tests when KEY_PREFIX is defined.Mariusz Felisiak
Follow up to 2c82414914ae6476be5a166be9ff49c24d0d9069.
2020-06-03Fixed CVE-2020-13254 -- Enforced cache key validation in memcached backends.Dan Palmer
2020-03-19Made BaseCacheTests skip culling tests if culling is not supported.Jon Dufresne
2020-02-18Refs #26601 -- Deprecated passing None as get_response arg to middleware ↵Claude Paroz
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-13Removed unused cache.tests.CacheUtils._set_cache().Claude Paroz
Unused since its introduction in 71a03e01aa19cbde08e915d156abf39b67d904ef.
2020-01-30Replaced assertWarns() with SimpleTestCase.assertWarnsMessage() in tests.Hasan Ramezani
2020-01-16Fixed #30765 -- Made cache_page decorator take precedence over max-age ↵Flavio Curella
Cache-Control directive.
2019-12-31Improved tests assertions in cache tests.Jon Dufresne
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-11Fixed typo in tests/cache/tests.py docstring.Jon Dufresne
2019-11-14Fixed #30759 -- Made cache.delete() return whether it succeeded.daniel a rios
Thanks Simon Charette for the review.
2019-11-06Refs #29983 -- Added tests for FileBasedCache pathlib support.Jon Dufresne
2019-10-29Used more specific unittest assertions in tests.Nick Pope
* 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-10Fixed #23755 -- Added support for multiple field names in the no-cache ↵Flavio Curella
Cache-Control directive to patch_cache_control(). https://tools.ietf.org/html/rfc7234#section-5.2.2.2
2019-10-10Refs #23755 -- Added tests for patch_cache_control() with no-cache ↵Flavio Curella
Cache-Control directive.
2019-09-18Fixed #30772 -- Optimized make_template_fragment_key().Daniel Fairhead
Removed usage of urllib.quote(), unnecessary since cbbe60c7fc39fa8ff75554bd90104eaad6924bb1. Used hasher's .update() on key fragments.
2019-08-16Fixed #30701 -- Updated patch_vary_headers() to handle an asterisk according ↵Adnan Umer
to RFC 7231.
2019-02-14Fixed #30181 -- Made cache.get() with default work correctly on PyLibMCCache ↵Jakub Szafrański
if None is cached.
2019-01-28Fixed #30137 -- Replaced OSError aliases with the canonical OSError.Jon Dufresne
Used more specific errors (e.g. FileExistsError) as appropriate.
2019-01-26Added missing assert in ↵Jon Dufresne
FileBasedCacheTests.test_creates_cache_dir_if_nonexistent().
2019-01-10Refs #28478 -- Deprecated TestCase's allow_database_queries and multi_db in ↵Simon Charette
favor of databases.
2018-11-27Made reused RequestFactory instances class attributes.Simon Charette
2018-11-27Switched TestCase to SimpleTestCase where possible in Django's tests.Tim Graham
2018-08-17Fixed #29626, #29584 -- Added optimized versions of get_many() and ↵oliver
delete_many() for the db cache backend.
2018-08-16Optimized some cache tests with set_many().oliver
2018-07-09Fixed #20584 -- Fixed memcached's get_many() with single-use iterators.Christian Barcenas
Thanks Guyon Morée for the report.
2018-05-09Fixed #29363 -- Added SimpleTestCase.assertWarnsMessage().Morgan Aubert
2018-04-27Fixed #27480 -- Added cache.touch().Nicolas Noé
2018-03-03Refs #17476 -- Removed obsolete simplification of timezone names in cache ↵Sergey Fedoseev
key generation.
2018-02-06Fixed #28833 -- Prevented CacheMiddleware from caching responses with ↵shanghui
"Cache-Control: private".