mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
* remote: move upload()/download() into tree * remote: move path_info/path_cls into tree * remote.azure: finish moving methods into tree * remote.gs: finish moving methods into tree * remote.hdfs: finish moving methods to tree * remote.http: finish moving methods into tree * remote.oss: finish moving methods into tree * remote.s3: finish moving methods into tree * remote.ssh: finish moving methods into tree * remote.gdrive: finish moving methods into tree * tests: update remote unit tests * tests: update func tests * remote: use walk_files() for all remotes * list_cache_paths() now uses tree.walk_files() for all remotes except local/ssh * fix DS warnings * bugfixes
49 lines
1.6 KiB
Python
49 lines
1.6 KiB
Python
import pytest
|
|
|
|
from dvc.path_info import PathInfo
|
|
from dvc.remote.azure import AzureRemote
|
|
from tests.remotes import Azure
|
|
|
|
container_name = "container-name"
|
|
connection_string = (
|
|
"DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;"
|
|
"AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsu"
|
|
"Fq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;"
|
|
"BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;"
|
|
)
|
|
|
|
|
|
def test_init_env_var(monkeypatch, dvc):
|
|
monkeypatch.setenv("AZURE_STORAGE_CONTAINER_NAME", container_name)
|
|
monkeypatch.setenv("AZURE_STORAGE_CONNECTION_STRING", connection_string)
|
|
|
|
config = {"url": "azure://"}
|
|
remote = AzureRemote(dvc, config)
|
|
assert remote.tree.path_info == "azure://" + container_name
|
|
assert remote.tree.connection_string == connection_string
|
|
|
|
|
|
def test_init(dvc):
|
|
prefix = "some/prefix"
|
|
url = f"azure://{container_name}/{prefix}"
|
|
config = {"url": url, "connection_string": connection_string}
|
|
remote = AzureRemote(dvc, config)
|
|
assert remote.tree.path_info == url
|
|
assert remote.tree.connection_string == connection_string
|
|
|
|
|
|
def test_get_file_checksum(tmp_dir):
|
|
if not Azure.should_test():
|
|
pytest.skip("no azurite running")
|
|
|
|
tmp_dir.gen("foo", "foo")
|
|
|
|
remote = AzureRemote(None, {})
|
|
to_info = remote.tree.PATH_CLS(Azure.get_url())
|
|
remote.tree.upload(PathInfo("foo"), to_info)
|
|
assert remote.tree.exists(to_info)
|
|
checksum = remote.get_file_checksum(to_info)
|
|
assert checksum
|
|
assert isinstance(checksum, str)
|
|
assert checksum.strip("'").strip('"') == checksum
|