test_cache.py 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. # Copyright 2023 Cloudbase Solutions Srl
  2. # All Rights Reserved.
  3. from unittest import mock
  4. from coriolis import cache
  5. from coriolis import exception
  6. from coriolis.tests import test_base
  7. class CacheTestCase(test_base.CoriolisBaseTestCase):
  8. """Collection of tests for the Coriolis cache package."""
  9. @mock.patch.object(cache.cache, 'get_memoization_decorator')
  10. def test_get_cache_decorator(self, mock_get_memoization_decorator):
  11. provider = 'ValidProviderName'
  12. result = cache.get_cache_decorator(provider)
  13. self.assertEqual(result, mock_get_memoization_decorator.return_value)
  14. mock_get_memoization_decorator.assert_called_once_with(
  15. cache.CONF,
  16. cache.cache_region,
  17. provider
  18. )
  19. def test_get_cache_decorator_invalid_provider_name(self):
  20. invalid_providers = [123, '', None]
  21. for provider in invalid_providers:
  22. self.assertRaises(exception.CoriolisException,
  23. cache.get_cache_decorator,
  24. provider)