59 lines
1.6 KiB
Python
59 lines
1.6 KiB
Python
"""Test git"""
|
|
|
|
import re
|
|
|
|
import pytest
|
|
|
|
|
|
@pytest.mark.usefixtures('ds1_copy')
|
|
def test_git(runner, yadm_cmd, paths):
|
|
"""Test series of passthrough git commands
|
|
|
|
Passthru unknown commands to Git
|
|
Git command 'add' - badfile
|
|
Git command 'add'
|
|
Git command 'status'
|
|
Git command 'commit'
|
|
Git command 'log'
|
|
"""
|
|
|
|
# passthru unknown commands to Git
|
|
run = runner(command=yadm_cmd('bogus'))
|
|
assert run.failure
|
|
assert "git: 'bogus' is not a git command." in run.err
|
|
assert "See 'git --help'" in run.err
|
|
assert run.out == ''
|
|
|
|
# git command 'add' - badfile
|
|
run = runner(command=yadm_cmd('add', '-v', 'does_not_exist'))
|
|
assert run.code == 128
|
|
assert "pathspec 'does_not_exist' did not match any files" in run.err
|
|
assert run.out == ''
|
|
|
|
# git command 'add'
|
|
newfile = paths.work.join('test_git')
|
|
newfile.write('test_git')
|
|
run = runner(command=yadm_cmd('add', '-v', str(newfile)))
|
|
assert run.success
|
|
assert run.err == ''
|
|
assert "add 'test_git'" in run.out
|
|
|
|
# git command 'status'
|
|
run = runner(command=yadm_cmd('status'))
|
|
assert run.success
|
|
assert run.err == ''
|
|
assert re.search(r'new file:\s+test_git', run.out)
|
|
|
|
# git command 'commit'
|
|
run = runner(command=yadm_cmd('commit', '-m', 'Add test_git'))
|
|
assert run.success
|
|
assert run.err == ''
|
|
assert '1 file changed' in run.out
|
|
assert '1 insertion' in run.out
|
|
assert re.search(r'create mode .+ test_git', run.out)
|
|
|
|
# git command 'log'
|
|
run = runner(command=yadm_cmd('log', '--oneline'))
|
|
assert run.success
|
|
assert run.err == ''
|
|
assert 'Add test_git' in run.out
|