Loading tests/unit/gitlab_ci/pre_commit_run/fixtures.py +5 −10 Original line number Diff line number Diff line Loading @@ -28,11 +28,6 @@ from project_templates.resources import TempDir Ref = NewType("Ref", str) Sha = NewType("Sha", str) MAIN = Ref("main") FORK = Ref("fork") LCA = Ref("lca") ORPHAN = Ref("orphan") class Branch: """ Loading Loading @@ -80,7 +75,7 @@ class Repo: def __str__(self) -> str: return self.url def init(self, branch: str = MAIN) -> None: def init(self, branch: str = "main") -> None: """ Initialise (git-init) a bare repository, with "branch" checked out """ Loading Loading @@ -151,15 +146,15 @@ def setup_fixture_repo(repo: Repo) -> dict[Ref, Branch]: random.seed(1) root = create_commit(repo) main = Branch(repo, MAIN, root) fork = Branch(repo, FORK, root) lca = Branch(repo, LCA, root) main = Branch(repo, "main", root) fork = Branch(repo, "fork", root) lca = Branch(repo, "lca", root) lca.head = create_commit_path(repo, root, 5) main.head = create_commit_path(repo, lca.head, 5) fork.head = create_commit_path(repo, lca.head, 5) orphan = Branch(repo, ORPHAN, create_commit(repo)) orphan = Branch(repo, "orphan", create_commit(repo)) orphan.head = create_commit_path(repo, orphan.root, 5) return {b.name: b for b in (main, fork, lca, orphan)} Loading tests/unit/gitlab_ci/pre_commit_run/tests.py +16 −20 Original line number Diff line number Diff line Loading @@ -24,10 +24,6 @@ from pathlib import Path from typing import Iterable from typing import Mapping from .fixtures import FORK from .fixtures import LCA from .fixtures import MAIN from .fixtures import ORPHAN from .fixtures import Branch from .fixtures import Ref from .fixtures import Repo Loading Loading @@ -102,11 +98,11 @@ class PreCommitRunTests(unittest.TestCase): """ Check that calling with CI_COMMIT_BEFORE_SHA set ensures the commit is available """ from_sha = self.repo.get_sha(f"{MAIN}~4") to_sha = self.repo.get_sha(MAIN) from_sha = self.repo.get_sha("main~4") to_sha = self.repo.get_sha("main") args = self.run_script( MAIN, "main", CI_COMMIT_BEFORE_SHA=from_sha, ) Loading @@ -122,14 +118,14 @@ class PreCommitRunTests(unittest.TestCase): Check that calling in merge request pipelines finds the LCA with the target branch """ args = self.run_script( FORK, "fork", CI_PIPELINE_SOURCE="merge_request_event", ) expect = [ "run", f"--from-ref={self.branches[LCA].head}", f"--to-ref={self.repo.get_sha(FORK)}", f"--from-ref={self.repo.get_sha('lca')}", f"--to-ref={self.repo.get_sha('fork')}", ] self.assertListEqual(expect, args) Loading @@ -139,12 +135,12 @@ class PreCommitRunTests(unittest.TestCase): CI_COMMIT_BRANCH != CI_DEFAULT_BRANCH """ args = self.run_script(FORK) args = self.run_script("fork") expect = [ "run", f"--from-ref={self.branches[LCA].head}", f"--to-ref={self.repo.get_sha(FORK)}", f"--from-ref={self.repo.get_sha('lca')}", f"--to-ref={self.repo.get_sha('fork')}", ] self.assertListEqual(expect, args) Loading @@ -154,7 +150,7 @@ class PreCommitRunTests(unittest.TestCase): CI_COMMIT_BRANCH == CI_DEFAULT_BRANCH """ args = self.run_script(MAIN) args = self.run_script("main") expect = ["run", "--all-files"] self.assertListEqual(expect, args) Loading @@ -163,7 +159,7 @@ class PreCommitRunTests(unittest.TestCase): """ Check that pushing to a new orphan branch check all files """ args = self.run_script(ORPHAN) args = self.run_script("orphan") expect = ["run", "--all-files"] self.assertListEqual(expect, args) Loading @@ -172,7 +168,7 @@ class PreCommitRunTests(unittest.TestCase): """ Check additional arguments passed to pre_commit_run are passed to pre-commit """ args = self.run_script(MAIN, ["more", "arguments"]) args = self.run_script("main", ["more", "arguments"]) expect = ["run", "more", "arguments", "--all-files"] self.assertListEqual(expect, args) Loading @@ -189,14 +185,14 @@ class PreCommitRunTests(unittest.TestCase): http: "fatal: error processing shallow info: 4" """ args = self.run_script( MAIN, "main", CI_PIPELINE_SOURCE="merge_request_event", CI_MERGE_REQUEST_TARGET_BRANCH_NAME=LCA, CI_MERGE_REQUEST_TARGET_BRANCH_NAME="lca", ) expect = [ "run", f"--from-ref={self.branches[LCA].head}", f"--to-ref={self.repo.get_sha(MAIN)}", f"--from-ref={self.repo.get_sha('lca')}", f"--to-ref={self.repo.get_sha('main')}", ] self.assertListEqual(expect, args) Loading
tests/unit/gitlab_ci/pre_commit_run/fixtures.py +5 −10 Original line number Diff line number Diff line Loading @@ -28,11 +28,6 @@ from project_templates.resources import TempDir Ref = NewType("Ref", str) Sha = NewType("Sha", str) MAIN = Ref("main") FORK = Ref("fork") LCA = Ref("lca") ORPHAN = Ref("orphan") class Branch: """ Loading Loading @@ -80,7 +75,7 @@ class Repo: def __str__(self) -> str: return self.url def init(self, branch: str = MAIN) -> None: def init(self, branch: str = "main") -> None: """ Initialise (git-init) a bare repository, with "branch" checked out """ Loading Loading @@ -151,15 +146,15 @@ def setup_fixture_repo(repo: Repo) -> dict[Ref, Branch]: random.seed(1) root = create_commit(repo) main = Branch(repo, MAIN, root) fork = Branch(repo, FORK, root) lca = Branch(repo, LCA, root) main = Branch(repo, "main", root) fork = Branch(repo, "fork", root) lca = Branch(repo, "lca", root) lca.head = create_commit_path(repo, root, 5) main.head = create_commit_path(repo, lca.head, 5) fork.head = create_commit_path(repo, lca.head, 5) orphan = Branch(repo, ORPHAN, create_commit(repo)) orphan = Branch(repo, "orphan", create_commit(repo)) orphan.head = create_commit_path(repo, orphan.root, 5) return {b.name: b for b in (main, fork, lca, orphan)} Loading
tests/unit/gitlab_ci/pre_commit_run/tests.py +16 −20 Original line number Diff line number Diff line Loading @@ -24,10 +24,6 @@ from pathlib import Path from typing import Iterable from typing import Mapping from .fixtures import FORK from .fixtures import LCA from .fixtures import MAIN from .fixtures import ORPHAN from .fixtures import Branch from .fixtures import Ref from .fixtures import Repo Loading Loading @@ -102,11 +98,11 @@ class PreCommitRunTests(unittest.TestCase): """ Check that calling with CI_COMMIT_BEFORE_SHA set ensures the commit is available """ from_sha = self.repo.get_sha(f"{MAIN}~4") to_sha = self.repo.get_sha(MAIN) from_sha = self.repo.get_sha("main~4") to_sha = self.repo.get_sha("main") args = self.run_script( MAIN, "main", CI_COMMIT_BEFORE_SHA=from_sha, ) Loading @@ -122,14 +118,14 @@ class PreCommitRunTests(unittest.TestCase): Check that calling in merge request pipelines finds the LCA with the target branch """ args = self.run_script( FORK, "fork", CI_PIPELINE_SOURCE="merge_request_event", ) expect = [ "run", f"--from-ref={self.branches[LCA].head}", f"--to-ref={self.repo.get_sha(FORK)}", f"--from-ref={self.repo.get_sha('lca')}", f"--to-ref={self.repo.get_sha('fork')}", ] self.assertListEqual(expect, args) Loading @@ -139,12 +135,12 @@ class PreCommitRunTests(unittest.TestCase): CI_COMMIT_BRANCH != CI_DEFAULT_BRANCH """ args = self.run_script(FORK) args = self.run_script("fork") expect = [ "run", f"--from-ref={self.branches[LCA].head}", f"--to-ref={self.repo.get_sha(FORK)}", f"--from-ref={self.repo.get_sha('lca')}", f"--to-ref={self.repo.get_sha('fork')}", ] self.assertListEqual(expect, args) Loading @@ -154,7 +150,7 @@ class PreCommitRunTests(unittest.TestCase): CI_COMMIT_BRANCH == CI_DEFAULT_BRANCH """ args = self.run_script(MAIN) args = self.run_script("main") expect = ["run", "--all-files"] self.assertListEqual(expect, args) Loading @@ -163,7 +159,7 @@ class PreCommitRunTests(unittest.TestCase): """ Check that pushing to a new orphan branch check all files """ args = self.run_script(ORPHAN) args = self.run_script("orphan") expect = ["run", "--all-files"] self.assertListEqual(expect, args) Loading @@ -172,7 +168,7 @@ class PreCommitRunTests(unittest.TestCase): """ Check additional arguments passed to pre_commit_run are passed to pre-commit """ args = self.run_script(MAIN, ["more", "arguments"]) args = self.run_script("main", ["more", "arguments"]) expect = ["run", "more", "arguments", "--all-files"] self.assertListEqual(expect, args) Loading @@ -189,14 +185,14 @@ class PreCommitRunTests(unittest.TestCase): http: "fatal: error processing shallow info: 4" """ args = self.run_script( MAIN, "main", CI_PIPELINE_SOURCE="merge_request_event", CI_MERGE_REQUEST_TARGET_BRANCH_NAME=LCA, CI_MERGE_REQUEST_TARGET_BRANCH_NAME="lca", ) expect = [ "run", f"--from-ref={self.branches[LCA].head}", f"--to-ref={self.repo.get_sha(MAIN)}", f"--from-ref={self.repo.get_sha('lca')}", f"--to-ref={self.repo.get_sha('main')}", ] self.assertListEqual(expect, args)