mirror of
https://github.com/TheLocehiliosan/yadm
synced 2026-03-02 03:49:29 +00:00
Add source to templates (#163)
A new variable is exposed to templates, which holds the filename of the
template source. The primary use case is to be able to include a warning
message within the template. For example:
# Do not edit. This file auto-generated from {{ yadm.source }}.
This commit is contained in:
@@ -106,3 +106,20 @@ def test_template_builtin(runner, yadm, tmpdir):
|
||||
assert run.success
|
||||
assert run.err == ''
|
||||
assert output_file.read() == EXPECTED
|
||||
|
||||
|
||||
def test_source(runner, yadm, tmpdir):
|
||||
"""Test yadm.source"""
|
||||
|
||||
input_file = tmpdir.join('input')
|
||||
input_file.write('{{yadm.source}}', ensure=True)
|
||||
output_file = tmpdir.join('output')
|
||||
|
||||
script = f"""
|
||||
YADM_TEST=1 source {yadm}
|
||||
template_builtin "{input_file}" "{output_file}"
|
||||
"""
|
||||
run = runner(command=['bash'], inp=script)
|
||||
assert run.success
|
||||
assert run.err == ''
|
||||
assert output_file.read().strip() == str(input_file)
|
||||
|
||||
@@ -97,3 +97,21 @@ def test_template_j2(runner, yadm, tmpdir, processor):
|
||||
assert run.success
|
||||
assert run.err == ''
|
||||
assert output_file.read() == EXPECTED
|
||||
|
||||
|
||||
@pytest.mark.parametrize('processor', ('j2cli', 'envtpl'))
|
||||
def test_source(runner, yadm, tmpdir, processor):
|
||||
"""Test YADM_SOURCE"""
|
||||
|
||||
input_file = tmpdir.join('input')
|
||||
input_file.write('{{YADM_SOURCE}}', ensure=True)
|
||||
output_file = tmpdir.join('output')
|
||||
|
||||
script = f"""
|
||||
YADM_TEST=1 source {yadm}
|
||||
template_{processor} "{input_file}" "{output_file}"
|
||||
"""
|
||||
run = runner(command=['bash'], inp=script)
|
||||
assert run.success
|
||||
assert run.err == ''
|
||||
assert output_file.read().strip() == str(input_file)
|
||||
|
||||
Reference in New Issue
Block a user