mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-04 15:28:27 +01:00
@@ -28,7 +28,7 @@ class CmdPreCommit(CmdHookBase):
|
||||
|
||||
|
||||
class CmdPostCheckout(CmdHookBase):
|
||||
def run(self):
|
||||
def _run(self):
|
||||
# when we are running from pre-commit tool, it doesn't provide CLI
|
||||
# flags, but instead provides respective env vars that we could use.
|
||||
flag = os.environ.get("PRE_COMMIT_CHECKOUT_TYPE")
|
||||
@@ -52,7 +52,7 @@ class CmdPostCheckout(CmdHookBase):
|
||||
|
||||
|
||||
class CmdPrePush(CmdHookBase):
|
||||
def run(self):
|
||||
def _run(self):
|
||||
from dvc.main import main
|
||||
|
||||
return main(["push"])
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
import pytest
|
||||
|
||||
from dvc.cli import parse_args
|
||||
from dvc.command.git_hook import CmdPostCheckout, CmdPreCommit, CmdPrePush
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"hook, cls",
|
||||
[
|
||||
("pre-commit", CmdPreCommit),
|
||||
("post-checkout", CmdPostCheckout),
|
||||
("pre-push", CmdPrePush),
|
||||
],
|
||||
)
|
||||
def test_out_of_repo(tmp_dir, hook, cls, mocker):
|
||||
cli_args = parse_args(["git-hook", hook])
|
||||
cli_args.func == cls
|
||||
cmd = cli_args.func(cli_args)
|
||||
mock_main = mocker.patch("dvc.main.main")
|
||||
assert cmd.run() == 0
|
||||
assert not mock_main.called
|
||||
Reference in New Issue
Block a user