mirror of
https://github.com/tj/git-extras.git
synced 2026-09-10 07:26:17 -04:00
* feat: add ruff linter with ci check Liniting the python files in tests directory would reduce whitespace etc change and enforce basic coding standard for those. Kind of opportunistic PR as there might be other opinions about how to deal with this. * fix: format with ruff
47 lines
1.8 KiB
Python
47 lines
1.8 KiB
Python
expected_authors_list = (
|
|
"test <test@git-extras.com>\ntestagain <testagain@git-extras.com>\n"
|
|
)
|
|
expected_authors_list_without_email = "test\ntestagain\n"
|
|
authors_file = "AUTHORS"
|
|
|
|
|
|
class TestGitAuthors:
|
|
def test_init(self, temp_repo):
|
|
git = temp_repo.get_repo_git()
|
|
tmp_file = temp_repo.get_file(0)
|
|
temp_repo.writefile(tmp_file, "A")
|
|
git.add(".")
|
|
git.commit("-m", "test: add data A")
|
|
git.config("--local", "user.name", "testagain")
|
|
git.config("--local", "user.email", "testagain@git-extras.com")
|
|
temp_repo.writefile(tmp_file, "B")
|
|
git.add(".")
|
|
git.commit("-m", "test: add data B")
|
|
|
|
def test_output_authors_has_email_without_any_parameter(self, temp_repo):
|
|
temp_repo.get_repo_git()
|
|
temp_repo.invoke_extras_command("authors")
|
|
with open(authors_file) as f:
|
|
content = f.read()
|
|
print(content)
|
|
print(expected_authors_list)
|
|
assert content == expected_authors_list
|
|
|
|
def test_list_authors_has_email_defaultly(self, temp_repo):
|
|
temp_repo.get_repo_git()
|
|
actual = temp_repo.invoke_extras_command("authors", "--list")
|
|
actual = actual.stdout.decode()
|
|
assert actual == expected_authors_list
|
|
actual = temp_repo.invoke_extras_command("authors", "-l")
|
|
actual = actual.stdout.decode()
|
|
assert actual == expected_authors_list
|
|
|
|
def test_list_authors_has_not_email(self, temp_repo):
|
|
temp_repo.get_repo_git()
|
|
actual = temp_repo.invoke_extras_command("authors", "--list", "--no-email")
|
|
actual = actual.stdout.decode()
|
|
assert actual == expected_authors_list_without_email
|
|
actual = temp_repo.invoke_extras_command("authors", "-l", "--no-email")
|
|
actual = actual.stdout.decode()
|
|
assert actual == expected_authors_list_without_email
|