Skip to content

Commit

Permalink
fix: format with ruff
Browse files Browse the repository at this point in the history
  • Loading branch information
oikarinen committed Nov 25, 2024
1 parent 7bdaca3 commit c15eb5f
Show file tree
Hide file tree
Showing 7 changed files with 193 additions and 92 deletions.
10 changes: 7 additions & 3 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,30 @@
import pytest
from helper import TempRepository

def create_repo(dirname = None):

def create_repo(dirname=None):
repo = TempRepository(dirname)
tmp_file_a = repo.create_tmp_file()
tmp_file_b = repo.create_tmp_file()
repo.create_tmp_file()
repo.create_tmp_file()
repo.switch_cwd_under_repo()
return repo


def init_repo_git_status(repo):
git = repo.get_repo_git()
git.add(".")
git.config("--local", "user.name", "test")
git.config("--local", "user.email", "[email protected]")
git.commit("-m", "chore: initial commit")


@pytest.fixture(scope="module")
def temp_repo():
repo = create_repo()
init_repo_git_status(repo)
return repo


@pytest.fixture(scope="module")
def named_temp_repo(request):
dirname = request.param
Expand Down
26 changes: 15 additions & 11 deletions tests/helper.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import os, subprocess, shutil, tempfile
import os
import subprocess
import shutil
import tempfile
from git import Repo, GitCommandError
from testpath import MockCommand, modified_env

CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))
GIT_EXTRAS_BIN = os.path.abspath(os.path.join(CURRENT_DIR, "..", "bin"))
Expand All @@ -10,15 +12,16 @@
GITLAB_ORIGIN = "https://gitlab.com/tj/git-extras.git"
BITBUCKET_ORIGIN = "https://bitbucket.org/tj/git-extras.git"


class TempRepository:
def __init__(self, repo_work_dir = None):
def __init__(self, repo_work_dir=None):
self._system_tmpdir = tempfile.gettempdir()
if repo_work_dir == None:
if repo_work_dir is None:
repo_work_dir = tempfile.mkdtemp()
else:
repo_work_dir = os.path.join(self._system_tmpdir, repo_work_dir)
self._cwd = repo_work_dir
self._tempdirname = self._cwd[len(self._system_tmpdir) + 1:]
self._tempdirname = self._cwd[len(self._system_tmpdir) + 1 :]
self._git_repo = Repo.init(repo_work_dir, b="default")
self._files = []
self.change_origin_to_github()
Expand Down Expand Up @@ -50,8 +53,8 @@ def create_tmp_dir(self):
tmp_dir = tempfile.mkdtemp()
return tmp_dir

def create_tmp_file(self, temp_dir = None):
if temp_dir == None:
def create_tmp_file(self, temp_dir=None):
if temp_dir is None:
temp_dir = self._cwd

tmp_file = tempfile.mkstemp(dir=temp_dir)
Expand All @@ -63,7 +66,7 @@ def remove_tmp_file(self, file_path):
print(f"File {file_path} has been removed")

def writefile(self, temp_file, data):
if data == None:
if data is None:
return

with open(temp_file, "w", encoding="utf-8") as f:
Expand All @@ -86,8 +89,9 @@ def invoke_installed_extras_command(self, name, *params):
origin_extras_command = os.path.join(GIT_EXTRAS_BIN, command_name)
temp_extras_command = os.path.join(self._cwd, command_name)
helpers = [
os.path.join(GIT_EXTRAS_HELPER, "git-extra-utility"),
os.path.join(GIT_EXTRAS_HELPER, "is-git-repo")]
os.path.join(GIT_EXTRAS_HELPER, "git-extra-utility"),
os.path.join(GIT_EXTRAS_HELPER, "is-git-repo"),
]

if not os.path.exists(temp_extras_command):
whole = []
Expand All @@ -106,7 +110,7 @@ def invoke_installed_extras_command(self, name, *params):
os.chmod(temp_extras_command, 0o775)

script = [temp_extras_command, *params]
print(f"Run the script \"{script}\"")
print(f'Run the script "{script}"')
return subprocess.run(script, capture_output=True)

def change_origin(self, origin_url):
Expand Down
1 change: 1 addition & 0 deletions tests/test_git_abort.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from git import GitCommandError


class TestGitAbort:
def test_init(self, temp_repo):
git = temp_repo.get_repo_git()
Expand Down
35 changes: 20 additions & 15 deletions tests/test_git_archive_file.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import os, pytest
import os
import pytest


class TestGitArchiveFile:
def test_init(self, temp_repo):
Expand All @@ -16,14 +18,17 @@ def test_archive_file_on_tags_branch(self, temp_repo):
filename = "{0}.{1}.zip".format(temp_repo.get_repo_dirname(), git.describe())
assert filename in os.listdir()

def test_archive_file_on_any_not_tags_branch_without_default_branch(self, temp_repo):
def test_archive_file_on_any_not_tags_branch_without_default_branch(
self, temp_repo
):
git = temp_repo.get_repo_git()
git.checkout("-b", "not-tags-branch")
temp_repo.invoke_installed_extras_command("archive-file")
filename = "{0}.{1}.{2}.zip".format(
temp_repo.get_repo_dirname(),
git.describe("--always", "--long"),
"not-tags-branch")
temp_repo.get_repo_dirname(),
git.describe("--always", "--long"),
"not-tags-branch",
)
assert filename in os.listdir()

def test_archive_file_on_any_not_tags_branch_with_default_branch(self, temp_repo):
Expand All @@ -32,28 +37,28 @@ def test_archive_file_on_any_not_tags_branch_with_default_branch(self, temp_repo
git.config("git-extras.default-branch", "default")
temp_repo.invoke_installed_extras_command("archive-file")
filename = "{0}.{1}.zip".format(
temp_repo.get_repo_dirname(),
git.describe("--always", "--long"))
temp_repo.get_repo_dirname(), git.describe("--always", "--long")
)
assert filename in os.listdir()

def test_archive_file_on_branch_name_has_slash(self, temp_repo):
git = temp_repo.get_repo_git()
git.checkout("-b", "feature/slash")
temp_repo.invoke_installed_extras_command("archive-file")
filename = "{0}.{1}.{2}.zip".format(
temp_repo.get_repo_dirname(),
git.describe("--always", "--long"),
"feature-slash")
temp_repo.get_repo_dirname(),
git.describe("--always", "--long"),
"feature-slash",
)
assert filename in os.listdir()

@pytest.mark.parametrize("named_temp_repo", ["backslash\\dir"], indirect=True)
def test_archive_file_on_dirname_has_backslash(self, named_temp_repo):
named_temp_repo.invoke_installed_extras_command("archive-file")
git = named_temp_repo.get_repo_git()
filename = "{0}.{1}.{2}.zip".format(
"backslash-dir",
git.describe("--always", "--long"),
"default")
"backslash-dir", git.describe("--always", "--long"), "default"
)
assert filename in os.listdir()

def test_archive_file_on_tag_name_has_slash(self, temp_repo):
Expand All @@ -65,6 +70,6 @@ def test_archive_file_on_tag_name_has_slash(self, temp_repo):
temp_repo.invoke_installed_extras_command("archive-file")
description_include_version = git.describe("--always", "--long")
filename = "{0}.{1}.zip".format(
temp_repo.get_repo_dirname(),
description_include_version.replace("/", "-"))
temp_repo.get_repo_dirname(), description_include_version.replace("/", "-")
)
assert filename in os.listdir()
15 changes: 8 additions & 7 deletions tests/test_git_authors.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import os, subprocess

expected_authors_list = "test <[email protected]>\ntestagain <[email protected]>\n"
expected_authors_list = (
"test <[email protected]>\ntestagain <[email protected]>\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()
Expand All @@ -18,16 +19,16 @@ def test_init(self, temp_repo):
git.commit("-m", "test: add data B")

def test_output_authors_has_email_without_any_parameter(self, temp_repo):
git = temp_repo.get_repo_git()
rs = temp_repo.invoke_extras_command("authors")
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):
git = temp_repo.get_repo_git()
temp_repo.get_repo_git()
actual = temp_repo.invoke_extras_command("authors", "--list")
actual = actual.stdout.decode()
assert actual == expected_authors_list
Expand All @@ -36,7 +37,7 @@ def test_list_authors_has_email_defaultly(self, temp_repo):
assert actual == expected_authors_list

def test_list_authors_has_not_email(self, temp_repo):
git = temp_repo.get_repo_git()
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
Expand Down
Loading

0 comments on commit c15eb5f

Please sign in to comment.