1
0
Fork 0
mirror of synced 2024-11-04 09:08:56 -05:00
yadm/test/test_alt_copy.py

47 lines
1.1 KiB
Python
Raw Normal View History

"""Test yadm.alt-copy"""
import os
2023-07-10 10:14:33 -04:00
import pytest
@pytest.mark.parametrize(
'setting, expect_link, pre_existing', [
(None, True, None),
(True, False, None),
(False, True, None),
(True, False, 'link'),
(True, False, 'file'),
],
ids=[
'unset',
'true',
'false',
'pre-existing symlink',
'pre-existing file',
])
@pytest.mark.usefixtures('ds1_copy')
def test_alt_copy(
runner, yadm_cmd, paths, tst_sys,
2020-12-26 13:29:49 -05:00
setting, expect_link, pre_existing):
"""Test yadm.alt-copy"""
if setting is not None:
2020-12-26 13:29:49 -05:00
os.system(' '.join(yadm_cmd('config', 'yadm.alt-copy', str(setting))))
2019-12-04 09:17:03 -05:00
expected_content = f'test_alt_copy##os.{tst_sys}'
alt_path = paths.work.join('test_alt_copy')
if pre_existing == 'symlink':
alt_path.mklinkto(expected_content)
elif pre_existing == 'file':
alt_path.write('wrong content')
run = runner(yadm_cmd('alt'))
assert run.success
assert run.err == ''
assert 'Linking' in run.out
assert alt_path.read() == expected_content
assert alt_path.islink() == expect_link