Files
@ 5a73d3d8f8d4
Branch filter:
Location: NPO-Accounting/oxrlib/tests/test_FileCache.py - annotation
5a73d3d8f8d4
1.5 KiB
text/x-python
historical: Move normalize_rate and _pretty_rate to base Formatter.
This reduces the number of method overrides to help readability,
and gets rid of the annoying format_rate/pretty_rate distinction.
This reduces the number of method overrides to help readability,
and gets rid of the annoying format_rate/pretty_rate distinction.
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"
|