yadm/test/test_unit_issue_legacy_path...

40 lines
1.0 KiB
Python

"""Unit tests: issue_legacy_path_warning"""
import pytest
@pytest.mark.parametrize(
'legacy_path', [
None,
'repo.git',
'config',
'encrypt',
'files.gpg',
'bootstrap',
'hooks/pre_command',
'hooks/post_command',
],
)
@pytest.mark.parametrize(
'upgrade', [True, False], ids=['upgrade', 'no-upgrade'])
def test_legacy_warning(tmpdir, runner, yadm, upgrade, legacy_path):
"""Use issue_legacy_path_warning"""
home = tmpdir.mkdir('home')
if legacy_path:
home.mkdir(f'.yadm').ensure(legacy_path)
main_args = 'MAIN_ARGS=("upgrade")' if upgrade else ''
script = f"""
HOME={home}
YADM_TEST=1 source {yadm}
{main_args}
issue_legacy_path_warning
"""
run = runner(command=['bash'], inp=script)
assert run.success
assert run.err == ''
if legacy_path and not upgrade:
assert 'Legacy configuration paths have been detected' in run.out
else:
assert run.out.rstrip() == ''