5e9c5cf66c
To make it possible to ignore the warning e.g. when running yadm introspect repo in the bash completion.
41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
"""Unit tests: issue_legacy_path_warning"""
|
|
import pytest
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
'legacy_path', [
|
|
None,
|
|
'repo.git',
|
|
'files.gpg',
|
|
],
|
|
)
|
|
@pytest.mark.parametrize(
|
|
'override', [True, False], ids=['override', 'no-override'])
|
|
@pytest.mark.parametrize(
|
|
'upgrade', [True, False], ids=['upgrade', 'no-upgrade'])
|
|
def test_legacy_warning(tmpdir, runner, yadm, upgrade, override, legacy_path):
|
|
"""Use issue_legacy_path_warning"""
|
|
home = tmpdir.mkdir('home')
|
|
|
|
if legacy_path:
|
|
home.ensure(f'.config/yadm/{str(legacy_path)}')
|
|
|
|
override = 'YADM_OVERRIDE_REPO=override' if override else ''
|
|
main_args = 'MAIN_ARGS=("upgrade")' if upgrade else ''
|
|
script = f"""
|
|
XDG_CONFIG_HOME=
|
|
XDG_DATA_HOME=
|
|
HOME={home}
|
|
YADM_TEST=1 source {yadm}
|
|
{main_args}
|
|
{override}
|
|
set_yadm_dirs
|
|
issue_legacy_path_warning
|
|
"""
|
|
run = runner(command=['bash'], inp=script)
|
|
assert run.success
|
|
assert run.out == ''
|
|
if legacy_path and (not upgrade) and (not override):
|
|
assert 'Legacy paths have been detected' in run.err
|
|
else:
|
|
assert 'Legacy paths have been detected' not in run.err
|