|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import unittest |
|
|
from unittest.mock import patch |
|
|
import importlib |
|
|
import os |
|
|
|
|
|
import cache_store |
|
|
|
|
|
class TestCacheStore(unittest.TestCase): |
|
|
|
|
|
@patch('diskcache.Cache') |
|
|
@patch('os.getenv') |
|
|
def test_cache_directory_env_var_set(self, mock_os_getenv, mock_DiskCache_class): |
|
|
expected_dir = '/custom/cache/path' |
|
|
|
|
|
|
|
|
def getenv_side_effect_set(key, default=None): |
|
|
if key == 'CACHE_DIR': |
|
|
return expected_dir |
|
|
return os.environ.get(key, default) |
|
|
mock_os_getenv.side_effect = getenv_side_effect_set |
|
|
|
|
|
|
|
|
importlib.reload(cache_store) |
|
|
|
|
|
|
|
|
mock_os_getenv.assert_any_call('CACHE_DIR', '/app/cache_dir') |
|
|
|
|
|
mock_DiskCache_class.assert_called_once_with(expected_dir) |
|
|
|
|
|
@patch('diskcache.Cache') |
|
|
@patch('os.getenv') |
|
|
def test_cache_directory_env_var_not_set(self, mock_os_getenv, mock_DiskCache_class): |
|
|
|
|
|
def getenv_side_effect_not_set(key, default=None): |
|
|
if key == 'CACHE_DIR': |
|
|
|
|
|
return default |
|
|
return os.environ.get(key, default) |
|
|
mock_os_getenv.side_effect = getenv_side_effect_not_set |
|
|
|
|
|
|
|
|
importlib.reload(cache_store) |
|
|
|
|
|
|
|
|
mock_os_getenv.assert_any_call('CACHE_DIR', '/app/cache_dir') |
|
|
|
|
|
mock_DiskCache_class.assert_called_once_with('/app/cache_dir') |
|
|
|
|
|
if __name__ == '__main__': |
|
|
unittest.main() |
|
|
|