Files
@ 55f5833aa071
Branch filter:
Location: NPO-Accounting/oxrlib/tests/test_FileCache.py - annotation
55f5833aa071
1.5 KiB
text/x-python
historical: Add a setting to denominate Ledger conversions.
This makes conversion output easier to add to ledgers directly.
This makes conversion output easier to add to ledgers directly.
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"
|