import pytest from dvc.cli import parse_args from dvc.command.update import CmdUpdate @pytest.mark.parametrize( "command,rev", [(["update"], None), (["update", "--rev", "REV"], "REV")] ) def test_update(dvc, mocker, command, rev): targets = ["target1", "target2", "target3"] cli_args = parse_args(command + targets) assert cli_args.func == CmdUpdate cmd = cli_args.func(cli_args) m = mocker.patch("dvc.repo.Repo.update") assert cmd.run() == 0 calls = [mocker.call(target, rev) for target in targets] m.assert_has_calls(calls)