test_getting_cache_versions.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from misago.cache.versions import (
  2. CACHE_NAME, get_cache_versions, get_cache_versions_from_cache,
  3. get_cache_versions_from_db
  4. )
  5. def test_db_getter_returns_cache_versions_from_db(db, django_assert_num_queries):
  6. with django_assert_num_queries(1):
  7. assert get_cache_versions_from_db()
  8. def test_cache_getter_returns_cache_versions_from_cache(mocker):
  9. cache_get = mocker.patch('django.core.cache.cache.get', return_value=True)
  10. assert get_cache_versions_from_cache() is True
  11. cache_get.assert_called_once_with(CACHE_NAME)
  12. def test_getter_reads_from_cache(mocker, django_assert_num_queries):
  13. cache_get = mocker.patch('django.core.cache.cache.get', return_value=True)
  14. with django_assert_num_queries(0):
  15. assert get_cache_versions() is True
  16. cache_get.assert_called_once_with(CACHE_NAME)
  17. def test_getter_reads_from_db_if_no_cache_is_set(
  18. db, mocker, django_assert_num_queries
  19. ):
  20. mocker.patch('django.core.cache.cache.set')
  21. cache_get = mocker.patch('django.core.cache.cache.get', return_value=None)
  22. db_caches = get_cache_versions_from_db()
  23. with django_assert_num_queries(1):
  24. assert get_cache_versions() == db_caches
  25. cache_get.assert_called_once_with(CACHE_NAME)
  26. def test_getter_sets_new_cache_if_no_cache_is_set(db, mocker):
  27. cache_set = mocker.patch('django.core.cache.cache.set')
  28. mocker.patch('django.core.cache.cache.get', return_value=None)
  29. get_cache_versions()
  30. db_caches = get_cache_versions_from_db()
  31. cache_set.assert_called_once_with(CACHE_NAME, db_caches)
  32. def test_getter_is_not_setting_new_cache_if_cache_is_set(mocker):
  33. cache_set = mocker.patch('django.core.cache.cache.set')
  34. mocker.patch('django.core.cache.cache.get', return_value=True)
  35. get_cache_versions()
  36. cache_set.assert_not_called()