From e16590af2093c85e8c0be4d7ec600130a7214c1f Mon Sep 17 00:00:00 2001 From: Matthias Bisping Date: Thu, 24 Feb 2022 10:19:18 +0100 Subject: [PATCH] azure tests pass --- pyinfra/storage/adapters/azure.py | 12 ++++++------ pyinfra/test/unit_tests/storage_test.py | 23 +++++++++++------------ 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/pyinfra/storage/adapters/azure.py b/pyinfra/storage/adapters/azure.py index 9576d03..7f9e015 100644 --- a/pyinfra/storage/adapters/azure.py +++ b/pyinfra/storage/adapters/azure.py @@ -43,15 +43,15 @@ class AzureStorageAdapter(StorageAdapter): blob_client.upload_blob(data, overwrite=True) def get(self, bucket_name, object_name): - pass - # container_client = self.__provide_container_client(bucket_name) - # blob_client = container_client.get_blob_client(object_name) - # blob_data = blob_client.download_blob() - # return blob_data + container_client = self.__provide_container_client(bucket_name) + blob_client = container_client.get_blob_client(object_name) + blob_data = blob_client.download_blob() + return blob_data.readall() def get_all(self, bucket_name): + container_client = self.__provide_container_client(bucket_name) - blobs = container_client.list_blobs(bucket_name) + blobs = container_client.list_blobs() for blob in blobs: logger.debug(f"Downloading '{blob.name}'...") blob_client = container_client.get_blob_client(blob) diff --git a/pyinfra/test/unit_tests/storage_test.py b/pyinfra/test/unit_tests/storage_test.py index 8ca3176..40d7909 100644 --- a/pyinfra/test/unit_tests/storage_test.py +++ b/pyinfra/test/unit_tests/storage_test.py @@ -5,6 +5,7 @@ import pytest from pyinfra.storage.adapters.azure import AzureStorageAdapter from pyinfra.storage.clients.azure import get_azure_client from pyinfra.storage.storage import Storage +from pyinfra.storage.storages import get_azure_storage from pyinfra.test.storage.adapter_mock import StorageAdapterMock from pyinfra.test.storage.client_mock import StorageClientMock @@ -21,24 +22,22 @@ class StorageTester: assert not {*data_received} def test_getting_object_put_in_bucket_is_object(self): - with tempfile.SpooledTemporaryFile() as f: - self.storage.put(self.bucket_name, "file", f) - data_received = self.storage.get(self.bucket_name, "file") - assert f == data_received + self.storage.put(self.bucket_name, "file", b"content") + data_received = self.storage.get(self.bucket_name, "file") + assert b"content" == data_received def test_getting_objects_put_in_bucket_are_objects(self): - with tempfile.SpooledTemporaryFile() as f1, tempfile.SpooledTemporaryFile() as f2: - self.storage.put(self.bucket_name, "file1", f1) - self.storage.put(self.bucket_name, "file2", f2) - data_received = self.storage.get_all(self.bucket_name) - assert {f1, f2} == {*data_received} + self.storage.put(self.bucket_name, "file1", b"content 1") + self.storage.put(self.bucket_name, "file2", b"content 2") + data_received = self.storage.get_all(self.bucket_name) + assert {b"content 1", b"content 2"} == {*data_received} def get_client(client_name): if client_name == "mock": return StorageAdapterMock(StorageClientMock()) if client_name == "azure": - return AzureStorageAdapter(get_azure_client()) + return get_azure_storage() @pytest.fixture @@ -49,7 +48,7 @@ def storage_tester(client_name): @pytest.mark.parametrize('client_name', ["mock", "azure"]) def test_storages(storage_tester): - # storage_tester.test_purging_bucket_yields_empty_bucket() + storage_tester.test_purging_bucket_yields_empty_bucket() storage_tester.test_getting_objects_put_in_bucket_are_objects() - # storage_tester.test_getting_object_put_in_bucket_is_object() + storage_tester.test_getting_object_put_in_bucket_is_object() assert True