MCPcopy
hub / github.com/treeverse/dvc / test_dir

Method test_dir

dvc/testing/remote_tests.py:216–293  ·  view source on GitHub ↗
(self, tmp_dir, dvc, run_copy, remote_version_aware)

Source from the content-addressed store, hash-verified

214 assert (tmp_dir / "dvc.lock").read_text() == dvc_lock
215
216 def test_dir(self, tmp_dir, dvc, run_copy, remote_version_aware): # noqa: PLR0915
217 (stage,) = tmp_dir.dvc_gen(
218 {
219 "data_dir": {
220 "data_sub_dir": {"data_sub": "data_sub"},
221 "data": "data",
222 "empty": "",
223 }
224 }
225 )
226
227 assert not dvc.fetch()
228 assert dvc.push()
229
230 data_dir_dvc = (tmp_dir / "data_dir.dvc").read_text()
231 assert "files" in data_dir_dvc
232 assert "version_id" in data_dir_dvc
233 stage = stage.reload()
234 out = stage.outs[0]
235 assert out.files
236 for file in out.files:
237 assert file["version_id"]
238 assert file["remote"] == "upstream"
239
240 remove(dvc.cache.local.path)
241 remove(tmp_dir / "data_dir")
242
243 assert dvc.pull()
244 assert (tmp_dir / "data_dir" / "data").read_text() == "data"
245 assert (
246 tmp_dir / "data_dir" / "data_sub_dir" / "data_sub"
247 ).read_text() == "data_sub"
248 assert (tmp_dir / "data_dir.dvc").read_text() == data_dir_dvc
249
250 run_copy("data_dir", "data_dir_copy", name="copy")
251 dvc_lock = (tmp_dir / "dvc.lock").read_text()
252
253 assert dvc.push()
254 assert (remote_version_aware / "data_dir").exists()
255 assert (remote_version_aware / "data_dir" / "data").exists()
256 assert (remote_version_aware / "data_dir_copy").exists()
257 assert (remote_version_aware / "data_dir_copy" / "data").exists()
258 assert (tmp_dir / "data_dir.dvc").read_text() == data_dir_dvc
259 assert (tmp_dir / "dvc.lock").read_text() != dvc_lock
260 dvc_lock = (tmp_dir / "dvc.lock").read_text()
261
262 assert not dvc.push()
263 assert (remote_version_aware / "data_dir").exists()
264 assert (remote_version_aware / "data_dir" / "data").exists()
265 assert (remote_version_aware / "data_dir_copy").exists()
266 assert (remote_version_aware / "data_dir_copy" / "data").exists()
267 assert (tmp_dir / "data_dir.dvc").read_text() == data_dir_dvc
268 assert (tmp_dir / "dvc.lock").read_text() == dvc_lock
269
270 dvc.cache.local.clear()
271 remove(tmp_dir / "data_dir")
272 remove(tmp_dir / "data_dir_copy")
273 assert not dvc.push()

Callers

nothing calls this directly

Calls 11

removeFunction · 0.90
run_copyFunction · 0.85
dvc_genMethod · 0.80
fetchMethod · 0.80
rmdirMethod · 0.80
pushMethod · 0.45
read_textMethod · 0.45
reloadMethod · 0.45
pullMethod · 0.45
existsMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected