Files
dvc/tests/func/test_get_url.py
T
Ruslan Kuprieiev c83a4ea406 erepo: refactor download/fetch logic (#5234)
* erepo: don't use _get_tree_for

* erepo: refactor download/fetch logic

* dvc: unify handling existing output
2021-01-10 10:48:36 +02:00

43 lines
1.1 KiB
Python

import os
import pytest
from dvc.dependency.base import DependencyDoesNotExistError
from dvc.repo import Repo
def test_get_file(tmp_dir):
tmp_dir.gen({"foo": "foo contents"})
Repo.get_url("foo", "foo_imported")
assert (tmp_dir / "foo_imported").is_file()
assert (tmp_dir / "foo_imported").read_text() == "foo contents"
def test_get_dir(tmp_dir):
tmp_dir.gen({"foo": {"foo": "foo contents"}})
Repo.get_url("foo", "foo_imported")
assert (tmp_dir / "foo_imported").is_dir()
assert (tmp_dir / "foo_imported" / "foo").is_file()
assert (tmp_dir / "foo_imported" / "foo").read_text() == "foo contents"
@pytest.mark.parametrize("dname", [".", "dir", "dir/subdir"])
def test_get_url_to_dir(
tmp_dir, tmp_path_factory, dname,
):
tmp_dir.gen({"src": {"foo": "foo contents"}, "dir": {"subdir": {}}})
Repo.get_url(os.path.join("src", "foo"), dname)
assert (tmp_dir / dname).is_dir()
assert (tmp_dir / dname / "foo").read_text() == "foo contents"
def test_get_url_nonexistent(tmp_dir):
with pytest.raises(DependencyDoesNotExistError):
Repo.get_url("nonexistent")