File: test_unit_issue_legacy_path_warning.py

package info (click to toggle)
yadm 3.5.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 840 kB
  • sloc: python: 4,208; sh: 2,025; makefile: 206
file content (41 lines) | stat: -rw-r--r-- 1,205 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
"""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