test.py 624 B

123456789101112131415161718192021
  1. from .versions import get_cache_versions_from_db
  2. class assert_invalidates_cache:
  3. def __init__(self, cache):
  4. self.cache = cache
  5. self.versions = None
  6. def __enter__(self):
  7. self.versions = get_cache_versions_from_db()
  8. return self
  9. def __exit__(self, exc_type, *_):
  10. if exc_type:
  11. return False
  12. new_versions = get_cache_versions_from_db()
  13. for cache, version in new_versions.items():
  14. if cache == self.cache:
  15. message = "cache %s was not invalidated" % cache
  16. assert self.versions[cache] != version, message