git-hook: don't run when not in dvc repo (#4091)

Related to #4073
This commit is contained in:
Ruslan Kuprieiev
2020-06-23 16:32:28 +03:00
committed by GitHub
parent b3d72e11fe
commit efcf4e3312
2 changed files with 23 additions and 2 deletions
+21
View File
@@ -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