don't use patch.object()

This commit is contained in:
Fábio Santos
2020-01-21 20:52:48 +00:00
parent 5dfcda54f9
commit bdf665a34a
4 changed files with 67 additions and 87 deletions
+48 -57
View File
@@ -253,63 +253,62 @@ class TestDvcWithMocker(TestDvc):
class TestShouldUpdateStateEntryForFileAfterAdd(TestDvcWithMocker):
def test(self):
file_md5_counter = self.mocker.spy(dvc.remote.local, "file_md5")
with patch.object(dvc.remote.local, "file_md5", file_md5_counter):
ret = main(["config", "cache.type", "copy"])
self.assertEqual(ret, 0)
ret = main(["add", self.FOO])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 1)
ret = main(["config", "cache.type", "copy"])
self.assertEqual(ret, 0)
ret = main(["status"])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 1)
ret = main(["add", self.FOO])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 1)
ret = main(["run", "-d", self.FOO, "echo foo"])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 1)
ret = main(["status"])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 1)
os.rename(self.FOO, self.FOO + ".back")
ret = main(["checkout"])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 1)
ret = main(["run", "-d", self.FOO, "echo foo"])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 1)
ret = main(["status"])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 1)
os.rename(self.FOO, self.FOO + ".back")
ret = main(["checkout"])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 1)
ret = main(["status"])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 1)
class TestShouldUpdateStateEntryForDirectoryAfterAdd(TestDvcWithMocker):
def test(self):
file_md5_counter = self.mocker.spy(dvc.remote.local, "file_md5")
with patch.object(dvc.remote.local, "file_md5", file_md5_counter):
ret = main(["config", "cache.type", "copy"])
self.assertEqual(ret, 0)
ret = main(["config", "cache.type", "copy"])
self.assertEqual(ret, 0)
ret = main(["add", self.DATA_DIR])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 3)
ret = main(["add", self.DATA_DIR])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 3)
ret = main(["status"])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 3)
ret = main(["status"])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 3)
ls = "dir" if os.name == "nt" else "ls"
ret = main(
["run", "-d", self.DATA_DIR, "{} {}".format(ls, self.DATA_DIR)]
)
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 3)
ls = "dir" if os.name == "nt" else "ls"
ret = main(
["run", "-d", self.DATA_DIR, "{} {}".format(ls, self.DATA_DIR)]
)
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 3)
os.rename(self.DATA_DIR, self.DATA_DIR + ".back")
ret = main(["checkout"])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 3)
os.rename(self.DATA_DIR, self.DATA_DIR + ".back")
ret = main(["checkout"])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 3)
ret = main(["status"])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 3)
ret = main(["status"])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 3)
class TestAddCommit(TestDvc):
@@ -327,22 +326,17 @@ class TestAddCommit(TestDvc):
class TestShouldCollectDirCacheOnlyOnce(TestDvcWithMocker):
def test(self):
from dvc.remote.local import RemoteLOCAL
get_dir_checksum_counter = self.mocker.spy(
RemoteLOCAL, "get_dir_checksum"
)
with patch.object(
RemoteLOCAL, "get_dir_checksum", get_dir_checksum_counter
):
ret = main(["add", self.DATA_DIR])
self.assertEqual(0, ret)
ret = main(["add", self.DATA_DIR])
self.assertEqual(0, ret)
ret = main(["status"])
self.assertEqual(0, ret)
ret = main(["status"])
self.assertEqual(0, ret)
ret = main(["status"])
self.assertEqual(0, ret)
ret = main(["status"])
self.assertEqual(0, ret)
self.assertEqual(1, get_dir_checksum_counter.mock.call_count)
@@ -488,9 +482,8 @@ class TestShouldNotTrackGitInternalFiles(TestDvcWithMocker):
def test(self):
stage_creator_spy = self.mocker.spy(dvc.repo.add, "_create_stages")
with patch.object(dvc.repo.add, "_create_stages", stage_creator_spy):
ret = main(["add", "-R", self.dvc.root_dir])
self.assertEqual(0, ret)
ret = main(["add", "-R", self.dvc.root_dir])
self.assertEqual(0, ret)
created_stages_filenames = stage_creator_spy.mock.call_args[0][1]
for fname in created_stages_filenames:
@@ -580,7 +573,6 @@ def test_readding_dir_should_not_unprotect_all(tmp_dir, dvc, mocker):
tmp_dir.gen("dir/new_file", "new_file_content")
unprotect_spy = mocker.spy(RemoteLOCAL, "unprotect")
mocker.patch.object(RemoteLOCAL, "unprotect", unprotect_spy)
dvc.add("dir")
assert not unprotect_spy.mock.called
@@ -595,7 +587,6 @@ def test_should_not_checkout_when_adding_cached_copy(tmp_dir, dvc, mocker):
shutil.copy("bar", "foo")
copy_spy = mocker.spy(dvc.cache.local, "copy")
mocker.patch.object(dvc.cache.local, "copy", copy_spy)
dvc.add("foo")
+11 -15
View File
@@ -6,7 +6,6 @@ import uuid
from unittest import SkipTest
import pytest
from mock import patch
from dvc.cache import NamedCache
from dvc.config import Config
@@ -593,20 +592,17 @@ class TestCheckSumRecalculation(TestDvc):
test_get_file_checksum = self.mocker.spy(
RemoteLOCAL, "get_file_checksum"
)
with patch.object(
RemoteLOCAL, "get_file_checksum", test_get_file_checksum
):
url = Local.get_url()
ret = main(["remote", "add", "-d", TEST_REMOTE, url])
self.assertEqual(ret, 0)
ret = main(["config", "cache.type", "hardlink"])
self.assertEqual(ret, 0)
ret = main(["add", self.FOO])
self.assertEqual(ret, 0)
ret = main(["push"])
self.assertEqual(ret, 0)
ret = main(["run", "-d", self.FOO, "echo foo"])
self.assertEqual(ret, 0)
url = Local.get_url()
ret = main(["remote", "add", "-d", TEST_REMOTE, url])
self.assertEqual(ret, 0)
ret = main(["config", "cache.type", "hardlink"])
self.assertEqual(ret, 0)
ret = main(["add", self.FOO])
self.assertEqual(ret, 0)
ret = main(["push"])
self.assertEqual(ret, 0)
ret = main(["run", "-d", self.FOO, "echo foo"])
self.assertEqual(ret, 0)
self.assertEqual(test_get_file_checksum.mock.call_count, 1)
+2 -6
View File
@@ -2,7 +2,6 @@ import os
from uuid import uuid4
import pytest
from mock import patch
import dvc
from dvc.main import main
@@ -56,11 +55,8 @@ class TestShouldRemoveOutsBeforeImport(TestDvc):
remove_outs_call_counter = self.mocker.spy(
dvc.stage.Stage, "remove_outs"
)
with patch.object(
dvc.stage.Stage, "remove_outs", remove_outs_call_counter
):
ret = main(["import-url", self.external_source])
self.assertEqual(0, ret)
ret = main(["import-url", self.external_source])
self.assertEqual(0, ret)
self.assertEqual(1, remove_outs_call_counter.mock.call_count)
+6 -9
View File
@@ -78,17 +78,14 @@ class TestContainsLink(TestCase):
contains_symlink_spy = self.mocker.spy(
dvc.utils.fs, "contains_symlink_up_to"
)
with patch.object(
dvc.utils.fs, "contains_symlink_up_to", contains_symlink_spy
):
# call from full path to match contains_symlink_spy patch path
self.assertFalse(
dvc.utils.fs.contains_symlink_up_to(
os.path.join("foo", "path"), "foo"
)
# call from full path to match contains_symlink_spy patch path
self.assertFalse(
dvc.utils.fs.contains_symlink_up_to(
os.path.join("foo", "path"), "foo"
)
self.assertEqual(2, contains_symlink_spy.mock.call_count)
)
self.assertEqual(2, contains_symlink_spy.mock.call_count)
@patch.object(System, "is_symlink", return_value=True)
def test_should_return_false_when_base_path_is_symlink(self, _):