1
0
Fork 0
mirror of synced 2024-06-01 23:01:10 -04:00
yadm/test/test_unit_set_local_alt_values.py

93 lines
2.5 KiB
Python
Raw Permalink Normal View History

"""Unit tests: set_local_alt_values"""
import pytest
import utils
@pytest.mark.parametrize(
2023-07-10 15:43:17 -04:00
"override",
[
False,
2023-07-10 15:43:17 -04:00
"class",
"arch",
"os",
"hostname",
"user",
],
ids=[
2023-07-10 15:43:17 -04:00
"no-override",
"override-class",
"override-arch",
"override-os",
"override-hostname",
"override-user",
],
)
@pytest.mark.usefixtures("ds1_copy")
def test_set_local_alt_values(runner, yadm, paths, tst_arch, tst_sys, tst_host, tst_user, override):
"""Use issue_legacy_path_warning"""
script = f"""
YADM_TEST=1 source {yadm} &&
set_operating_system &&
YADM_DIR={paths.yadm} YADM_DATA={paths.data} configure_paths &&
set_local_alt_values
echo "class='$local_class'"
echo "arch='$local_arch'"
echo "os='$local_system'"
echo "host='$local_host'"
echo "user='$local_user'"
"""
2023-07-10 15:43:17 -04:00
if override == "class":
utils.set_local(paths, override, "first")
utils.set_local(paths, override, "override", add=True)
elif override:
2023-07-10 15:43:17 -04:00
utils.set_local(paths, override, "override")
2023-07-10 15:43:17 -04:00
run = runner(command=["bash"], inp=script)
assert run.success
2023-07-10 15:43:17 -04:00
assert run.err == ""
2023-07-10 15:43:17 -04:00
if override == "class":
assert "class='override'" in run.out
else:
assert "class=''" in run.out
2023-07-10 15:43:17 -04:00
if override == "arch":
assert "arch='override'" in run.out
else:
assert f"arch='{tst_arch}'" in run.out
2023-07-10 15:43:17 -04:00
if override == "os":
assert "os='override'" in run.out
else:
assert f"os='{tst_sys}'" in run.out
2023-07-10 15:43:17 -04:00
if override == "hostname":
2020-12-21 16:38:31 -05:00
assert "host='override'" in run.out
else:
assert f"host='{tst_host}'" in run.out
2023-07-10 15:43:17 -04:00
if override == "user":
2020-12-21 16:38:31 -05:00
assert "user='override'" in run.out
else:
assert f"user='{tst_user}'" in run.out
2019-10-01 09:12:18 -04:00
def test_distro_and_family(runner, yadm):
"""Assert that local_distro/local_distro_family are set"""
2019-10-01 09:12:18 -04:00
script = f"""
YADM_TEST=1 source {yadm}
function config() {{ echo "$1"; }}
2019-10-01 09:12:18 -04:00
function query_distro() {{ echo "testdistro"; }}
function query_distro_family() {{ echo "testfamily"; }}
2019-10-01 09:12:18 -04:00
set_local_alt_values
echo "distro='$local_distro'"
echo "distro_family='$local_distro_family'"
2019-10-01 09:12:18 -04:00
"""
2023-07-10 15:43:17 -04:00
run = runner(command=["bash"], inp=script)
2019-10-01 09:12:18 -04:00
assert run.success
2023-07-10 15:43:17 -04:00
assert run.err == ""
assert "distro='testdistro'" in run.out
assert "distro_family='testfamily'" in run.out