Files
dvc/tests/unit/command/test_git_hook.py
T
Saugat Pachhai (सौगात) f5baf990cf cli: refactor into a module
By splitting dvc.cli into a module, we'll be able to share cli-related
utilities, split parser-related stuffs into smaller parts, improve
reusability and improve API for command extensions in the future.
2022-01-19 12:22:07 +02:00

22 lines
562 B
Python

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])
assert cli_args.func == cls
cmd = cli_args.func(cli_args)
mock_main = mocker.patch("dvc.cli.main")
assert cmd.run() == 0
assert not mock_main.called