mirror of https://github.com/sipwise/ngcpcfg.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.0 KiB
65 lines
2.0 KiB
#!/usr/bin/env py.test-3
|
|
|
|
import os
|
|
import pytest
|
|
import re
|
|
|
|
|
|
def test_add_file_to_default_repo(cli, gitrepo):
|
|
src = 'default-git-repository.tar.gz'
|
|
|
|
with gitrepo.from_archive(src) as git:
|
|
# configure git user
|
|
git.config('--local', 'user.email', 'me@example.com')
|
|
git.config('--local', 'user.name', 'pytest robot')
|
|
print('Using git {}'.format(git.version))
|
|
|
|
# git status
|
|
ex, out, err = git.status()
|
|
assert ex == 0
|
|
assert 'On branch' in out
|
|
|
|
# create new file
|
|
newfile = os.path.join(git.root, 'newfile')
|
|
with open(newfile, 'w') as fd:
|
|
fd.write('#!/bin/sh\necho "Hello World"\n')
|
|
|
|
# adding file to repository
|
|
assert git.branch == 'master'
|
|
git.add(newfile)
|
|
git.commit('-m', 'Adding a new file')
|
|
|
|
# checking log
|
|
ex, out, err = git.log()
|
|
assert ex == 0
|
|
assert 'Adding a new file' in out
|
|
|
|
|
|
@pytest.mark.tt_11776
|
|
def test_status_output(cli, gitrepo):
|
|
# we mock an existing repository by loading it from the default archive
|
|
with gitrepo.from_archive(gitrepo.default) as git:
|
|
# now we work with "existing" repository with path given in git.root
|
|
with gitrepo.in_folder(git.root) as git:
|
|
ex, out, err = git.status()
|
|
assert ex == 0
|
|
# git >=v2.9.3 uses "working tree",
|
|
# before it was "working directory"
|
|
regex = re.compile(r"nothing to commit, working (tree|directory)")
|
|
assert re.search(regex, out)
|
|
|
|
ex, out, error = git.status('--porcelain=v2')
|
|
assert out == ""
|
|
assert error == ""
|
|
assert ex == 0
|
|
|
|
# create new file
|
|
newfile = os.path.join(git.root, 'newfile')
|
|
with open(newfile, 'w') as fd:
|
|
fd.write('#!/bin/sh\necho "Hello World"\n')
|
|
|
|
ex, out, error = git.status('--porcelain=v2')
|
|
assert out == '''? newfile\n'''
|
|
assert error == ""
|
|
assert ex == 0
|