From 213e41198a07241000ac345cf1c818c6a3a4173f Mon Sep 17 00:00:00 2001 From: Matthias Bisping Date: Thu, 24 Feb 2022 10:57:19 +0100 Subject: [PATCH] test refac --- pyinfra/test/unit_tests/conftest.py | 2 +- pyinfra/test/unit_tests/storage_test.py | 85 ++++++++++++++----------- 2 files changed, 48 insertions(+), 39 deletions(-) diff --git a/pyinfra/test/unit_tests/conftest.py b/pyinfra/test/unit_tests/conftest.py index 3863265..0bd9b30 100644 --- a/pyinfra/test/unit_tests/conftest.py +++ b/pyinfra/test/unit_tests/conftest.py @@ -3,4 +3,4 @@ import pytest @pytest.fixture def bucket_name(): - return "test-bucket" + return "pyinfra-test-bucket" diff --git a/pyinfra/test/unit_tests/storage_test.py b/pyinfra/test/unit_tests/storage_test.py index b73acc1..b697e8e 100644 --- a/pyinfra/test/unit_tests/storage_test.py +++ b/pyinfra/test/unit_tests/storage_test.py @@ -1,49 +1,58 @@ 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 -class StorageTester: - def __init__(self, adapter): - self.bucket_name = "pyinfra-test-bucket" - self.storage = Storage(adapter=adapter) - - def test_purging_bucket_yields_empty_bucket(self): - self.storage.purge(self.bucket_name) - data_received = self.storage.get_all(self.bucket_name) - assert not {*data_received} - - def test_getting_object_put_in_bucket_is_object(self): - 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): - 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 get_azure_storage() - - -@pytest.fixture -def storage_tester(client_name): - client = get_client(client_name) - return StorageTester(client) +@pytest.mark.parametrize("client_name", ["mock", "azure"]) +def test_purging_bucket_yields_empty_bucket(storage, bucket_name): + storage.purge(bucket_name) + data_received = storage.get_all(bucket_name) + assert not {*data_received} @pytest.mark.parametrize("client_name", ["mock", "azure"]) -def test_storages(storage_tester): - 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() - assert True +def test_getting_object_put_in_bucket_is_object(storage, bucket_name): + storage.put(bucket_name, "file", b"content") + data_received = storage.get(bucket_name, "file") + assert b"content" == data_received + + +@pytest.mark.parametrize("client_name", ["mock", "azure"]) +def test_getting_objects_put_in_bucket_are_objects(storage, bucket_name): + storage.put(bucket_name, "file1", b"content 1") + storage.put(bucket_name, "file2", b"content 2") + data_received = storage.get_all(bucket_name) + assert {b"content 1", b"content 2"} == {*data_received} + + +def get_adapter(client_name): + if client_name == "mock": + return StorageAdapterMock(StorageClientMock()) + if client_name == "azure": + return AzureStorageAdapter(get_azure_client()) + + +@pytest.fixture +def adapter(client_name): + adapter = get_adapter(client_name) + return adapter + + +@pytest.fixture +def storage(client_name, bucket_name): + storage = Storage(get_adapter(client_name)) + storage.purge(bucket_name) + return storage + + +# @pytest.mark.parametrize("client_name", ["mock", "azure"]) +# def test_storages(adapter): +# 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() +# assert True