Files
@ 8e5cb0642fe1
Branch filter:
Location: NPO-Accounting/oxrlib/tests/test_FileCache.py - annotation
8e5cb0642fe1
1.5 KiB
text/x-python
CacheWriter: Update tests for previous open file change.
d1ba2dbc6a33 d1ba2dbc6a33 d1ba2dbc6a33 d1ba2dbc6a33 d1ba2dbc6a33 eba27c16ae78 4cbd89099230 d1ba2dbc6a33 d1ba2dbc6a33 d1ba2dbc6a33 eba27c16ae78 d1ba2dbc6a33 d1ba2dbc6a33 d1ba2dbc6a33 eba27c16ae78 eba27c16ae78 eba27c16ae78 d1ba2dbc6a33 d1ba2dbc6a33 d1ba2dbc6a33 d1ba2dbc6a33 d1ba2dbc6a33 d1ba2dbc6a33 eba27c16ae78 d1ba2dbc6a33 d1ba2dbc6a33 d1ba2dbc6a33 eba27c16ae78 eba27c16ae78 eba27c16ae78 eba27c16ae78 d1ba2dbc6a33 eba27c16ae78 eba27c16ae78 eba27c16ae78 eba27c16ae78 eba27c16ae78 eba27c16ae78 eba27c16ae78 eba27c16ae78 eba27c16ae78 d1ba2dbc6a33 eba27c16ae78 eba27c16ae78 d1ba2dbc6a33 d1ba2dbc6a33 eba27c16ae78 | import datetime
import pathlib
import pytest
from . import any_date, relpath
import oxrlib.errors
import oxrlib.loaders
CACHE_PATH = relpath('filecache')
HISTORICAL_PATTERN = '{date}_{base}_cache.json'
@pytest.fixture
def dummycache():
cache = oxrlib.loaders.FileCache(CACHE_PATH)
cache.setup(historical=HISTORICAL_PATTERN)
return cache
@pytest.mark.parametrize('date,base', [
(datetime.date(1999, 2, 1), 'USD'),
(datetime.date(1999, 3, 1), 'EUR'),
])
def test_cache_success(dummycache, date, base):
expect_name = CACHE_PATH / HISTORICAL_PATTERN.format(date=date.isoformat(), base=base)
with dummycache.historical(date, base) as cache_file:
assert pathlib.Path(cache_file.name) == expect_name
@pytest.mark.parametrize('date,base,exc_type', [
(datetime.date(1999, 2, 1), 'EUR', oxrlib.errors.LoaderNoDataError),
(datetime.date(1999, 3, 1), 'USD', oxrlib.errors.LoaderNoDataError),
(datetime.date(1200, 12, 31), 'USD', oxrlib.errors.LoaderSourceError),
])
def test_cache_read_error(dummycache, date, base, exc_type):
try:
with dummycache.historical(date, base):
assert False, "{e.__name__} not raised".format(e=exc_type)
except exc_type:
pass
def test_cache_unconfigured(any_date):
cache = oxrlib.loaders.FileCache(CACHE_PATH)
try:
cache.historical(any_date, 'USD')
except oxrlib.errors.CacheLoaderConfigurationError:
pass
else:
assert False, "CacheLoaderConfigurationError not raised"
|