"""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