mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
* 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
54 lines
1.2 KiB
Python
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")
|