diff --git a/tests/func/test_data_cloud.py b/tests/func/test_data_cloud.py index 2bf53c7d3..eea0e549b 100644 --- a/tests/func/test_data_cloud.py +++ b/tests/func/test_data_cloud.py @@ -1,7 +1,6 @@ import logging import os import shutil -from unittest.mock import patch import pytest from flaky.flaky_decorator import flaky @@ -10,7 +9,6 @@ import dvc as dvc_module from dvc.cli import main from dvc.data.db.local import LocalObjectDB from dvc.external_repo import clean_repos -from dvc.fs.base import RemoteMissingDepsError from dvc.objects.db import ObjectDB from dvc.stage.exceptions import StageNotFound from dvc.testing.test_remote import ( # noqa, pylint: disable=unused-import @@ -572,20 +570,3 @@ def test_target_remote(tmp_dir, dvc, make_remote): "6b18131dc289fd37006705affe961ef8.dir", "b8a9f715dbb64fd5c56e7783c6820a61", } - - -def test_remote_missing_data_dir(tmp_dir, scm, dvc, make_remote): - tmp_dir.dvc_gen({"dir": {"subfile": "file2 content"}}, commit="add dir") - with dvc.config.edit() as conf: - conf["remote"]["s3"] = {"url": "s3://bucket/name"} - conf["core"] = {"remote": "s3"} - - remove("dir") - remove(dvc.odb.local.cache_dir) - - with patch( - "dvc.data_cloud.DataCloud.get_remote_odb", - side_effect=RemoteMissingDepsError("remote missing"), - ): - with pytest.raises(RemoteMissingDepsError): - dvc.pull() diff --git a/tests/unit/output/test_output.py b/tests/unit/output/test_output.py index 46e892b18..cf187d5b4 100644 --- a/tests/unit/output/test_output.py +++ b/tests/unit/output/test_output.py @@ -5,9 +5,11 @@ import pytest from funcy import first from voluptuous import MultipleInvalid, Schema +from dvc.fs.base import RemoteMissingDepsError from dvc.ignore import _no_match from dvc.output import CHECKSUM_SCHEMA, Output from dvc.stage import Stage +from dvc.utils.fs import remove def test_save_missing(dvc, mocker): @@ -100,3 +102,20 @@ def test_get_used_objs(exists, expected_message, mocker, caplog): with caplog.at_level(logging.WARNING, logger="dvc"): assert {} == output.get_used_objs() assert first(caplog.messages) == expected_message + + +def test_remote_missing_data_dir(tmp_dir, scm, dvc, mocker): + tmp_dir.dvc_gen({"dir": {"subfile": "file2 content"}}, commit="add dir") + with dvc.config.edit() as conf: + conf["remote"]["s3"] = {"url": "s3://bucket/name"} + conf["core"] = {"remote": "s3"} + + remove("dir") + remove(dvc.odb.local.cache_dir) + + with mocker.patch( + "dvc.data_cloud.DataCloud.get_remote_odb", + side_effect=RemoteMissingDepsError("remote missing"), + ): + with pytest.raises(RemoteMissingDepsError): + dvc.pull()