testing: add tests for version-aware import-url

This commit is contained in:
Peter Rowlands
2023-01-31 15:55:44 +09:00
committed by Peter Rowlands (변기호)
parent 459adfb40f
commit 465d886c29
+37
View File
@@ -2,6 +2,7 @@ import os
from typing import Dict, Union
import pytest
from funcy import first
from dvc.exceptions import URLMissingError
from dvc.repo import Repo
@@ -88,6 +89,42 @@ class TestImport:
assert tuple(empty_dir.iterdir()) == ()
class TestImportURLVersionAware:
def test_import_file(self, tmp_dir, dvc, remote_version_aware):
remote_version_aware.gen("file", "file")
dvc.imp_url("remote://upstream/file", version_aware=True)
stage = first(dvc.index.stages)
assert not stage.outs[0].can_push
assert (tmp_dir / "file").read_text() == "file"
assert dvc.status() == {}
(remote_version_aware / "file").write_text("modified")
assert dvc.status().get("file.dvc") == [
{"changed deps": {"remote://upstream/file": "update available"}},
]
dvc.update(str(tmp_dir / "file.dvc"))
assert (tmp_dir / "file").read_text() == "modified"
assert dvc.status() == {}
def test_import_dir(self, tmp_dir, dvc, remote_version_aware):
remote_version_aware.gen({"data_dir": {"file": "file"}})
dvc.imp_url("remote://upstream/data_dir", version_aware=True)
stage = first(dvc.index.stages)
assert not stage.outs[0].can_push
assert (tmp_dir / "data_dir" / "file").read_text() == "file"
assert dvc.status() == {}
(remote_version_aware / "data_dir" / "file").write_text("modified")
(remote_version_aware / "data_dir" / "new_file").write_text("new")
assert dvc.status().get("data_dir.dvc") == [
{"changed deps": {"remote://upstream/data_dir": "modified"}},
]
dvc.update(str(tmp_dir / "data_dir.dvc"))
assert (tmp_dir / "data_dir" / "file").read_text() == "modified"
assert (tmp_dir / "data_dir" / "new_file").read_text() == "new"
assert dvc.status() == {}
class TestAdd:
@pytest.fixture
def hash_name(self):