Files
dvc/tests/func/test_get.py
T
Mr. Outis b903fe8023 get: show error message when path is a DVC-file (#2470)
* get: show error message when path is a DVC-file

Fix #2468

* exceptions: rename output for data artifact

* get: use method to indetify if file is a DVC-file

* exceptions: change GetDVCFileError message
2019-09-06 21:11:23 +03:00

54 lines
1.2 KiB
Python

import os
import filecmp
import pytest
from dvc.exceptions import UrlNotDvcRepoError, GetDVCFileError
from dvc.repo import Repo
from tests.utils import trees_equal
def test_get_repo_file(repo_dir, erepo):
src = erepo.FOO
dst = erepo.FOO + "_imported"
Repo.get(erepo.root_dir, src, dst)
assert os.path.exists(dst)
assert os.path.isfile(dst)
assert filecmp.cmp(repo_dir.FOO, dst, shallow=False)
def test_get_repo_dir(repo_dir, erepo):
src = erepo.DATA_DIR
dst = erepo.DATA_DIR + "_imported"
Repo.get(erepo.root_dir, src, dst)
assert os.path.exists(dst)
assert os.path.isdir(dst)
trees_equal(src, dst)
def test_get_repo_rev(repo_dir, erepo):
src = "version"
dst = src
Repo.get(erepo.root_dir, src, dst, rev="branch")
assert os.path.exists(dst)
assert os.path.isfile(dst)
with open(dst, "r+") as fobj:
assert fobj.read() == "branch"
def test_get_from_non_dvc_repo(git_erepo):
with pytest.raises(UrlNotDvcRepoError):
Repo.get(git_erepo.root_dir, "some_file.zip")
def test_get_a_dvc_file(repo_dir, erepo):
with pytest.raises(GetDVCFileError):
Repo.get(erepo.root_dir, "some_file.dvc")