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

Method test_import_url_to_remote_dir

dvc/testing/workspace_tests.py:357–400  ·  view source on GitHub ↗
(self, tmp_dir, dvc, workspace, remote)

Source from the content-addressed store, hash-verified

355 assert stage.outs[0].meta.size == len("foo")
356
357 def test_import_url_to_remote_dir(self, tmp_dir, dvc, workspace, remote):
358 import json
359
360 workspace.gen(
361 {
362 "data": {
363 "foo": "foo",
364 "bar": "bar",
365 "sub_dir": {"baz": "sub_dir/baz"},
366 }
367 }
368 )
369
370 url = "remote://workspace/data"
371 stage = dvc.imp_url(url, to_remote=True)
372
373 assert not (tmp_dir / "data").exists()
374 assert (tmp_dir / "data.dvc").exists()
375
376 assert len(stage.deps) == 1
377 assert stage.deps[0].def_path == url
378 assert len(stage.outs) == 1
379
380 hash_info = stage.outs[0].hash_info
381 assert hash_info.name == "md5"
382 assert hash_info.value == "55d05978954d1b2cd7b06aedda9b9e43.dir"
383 file_parts = json.loads(
384 (
385 remote / "files" / "md5" / "55" / "d05978954d1b2cd7b06aedda9b9e43.dir"
386 ).read_text()
387 )
388
389 assert len(file_parts) == 3
390 assert {file_part["relpath"] for file_part in file_parts} == {
391 "foo",
392 "bar",
393 "sub_dir/baz",
394 }
395
396 for file_part in file_parts:
397 md5 = file_part["md5"]
398 assert (
399 remote / "files" / "md5" / md5[:2] / md5[2:]
400 ).read_text() == file_part["relpath"]

Callers

nothing calls this directly

Calls 3

genMethod · 0.45
existsMethod · 0.45
read_textMethod · 0.45

Tested by

no test coverage detected