tests: Reorganize extract_odf_links tests for new feature.
This commit is contained in:
parent
977b16e365
commit
cf2d825a08
1 changed files with 15 additions and 6 deletions
|
@ -18,18 +18,26 @@ import io
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
from . import testutil
|
from . import testutil
|
||||||
|
|
||||||
from conservancy_beancount.tools import extract_odf_links
|
from conservancy_beancount.tools import extract_odf_links
|
||||||
|
|
||||||
SRC_PATH = testutil.test_path('repository/LinksReport.ods')
|
SRC_PATH = testutil.test_path('repository/LinksReport.ods')
|
||||||
|
|
||||||
EXPECTED_FILE_LINKS = {
|
INCLUDED_FILE_LINKS = {
|
||||||
'/repository/Projects/project-data.yml',
|
Path('/repository/Projects/project-data.yml'),
|
||||||
str(testutil.test_path('repository/Projects/project-data.yml')),
|
Path('Projects/project-data.yml'),
|
||||||
str(testutil.test_path('repository/Projects/Bad Link.txt')),
|
Path('Projects/Bad Link.txt'),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def expected_links(rel_path):
|
||||||
|
return frozenset(
|
||||||
|
str(path if path.is_absolute() else rel_path / path)
|
||||||
|
for path in INCLUDED_FILE_LINKS
|
||||||
|
)
|
||||||
|
|
||||||
@pytest.mark.parametrize('arglist,sep', [
|
@pytest.mark.parametrize('arglist,sep', [
|
||||||
(['-0'], '\0'),
|
(['-0'], '\0'),
|
||||||
(['-d', '\\v'], '\v'),
|
(['-d', '\\v'], '\v'),
|
||||||
|
@ -45,8 +53,9 @@ def test_extract_file_links(arglist, sep, caplog):
|
||||||
actual = stdout.getvalue().split(sep)
|
actual = stdout.getvalue().split(sep)
|
||||||
if actual and not actual[-1]:
|
if actual and not actual[-1]:
|
||||||
actual.pop()
|
actual.pop()
|
||||||
assert len(actual) == len(EXPECTED_FILE_LINKS)
|
expected = expected_links(SRC_PATH.parent)
|
||||||
assert set(actual) == EXPECTED_FILE_LINKS
|
assert len(actual) == len(expected)
|
||||||
|
assert set(actual) == expected
|
||||||
assert caplog.records
|
assert caplog.records
|
||||||
assert any(
|
assert any(
|
||||||
log.levelname == 'WARNING'
|
log.levelname == 'WARNING'
|
||||||
|
|
Loading…
Reference in a new issue