From 26e0efb847f181a9722f6fda1ee7c339ca120150 Mon Sep 17 00:00:00 2001 From: Matthias Bisping Date: Wed, 23 Feb 2022 16:19:39 +0100 Subject: [PATCH] storage wrapper redesign WIP 3 (added test purging a bucket) --- pyinfra/storage/storage.py | 3 +++ pyinfra/test/storage/adapter_mock.py | 3 +++ pyinfra/test/storage/client_mock.py | 4 ++++ pyinfra/test/unit_tests/storage_adapter_test.py | 2 -- pyinfra/test/unit_tests/storage_test.py | 7 ++++--- 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/pyinfra/storage/storage.py b/pyinfra/storage/storage.py index 6ff4003..cabe6c5 100644 --- a/pyinfra/storage/storage.py +++ b/pyinfra/storage/storage.py @@ -11,6 +11,9 @@ class Storage: def get_all(self, bucket_name): return self.__adapter.get_all(bucket_name) + def purge(self, bucket_name): + return self.__adapter.purge(bucket_name) + diff --git a/pyinfra/test/storage/adapter_mock.py b/pyinfra/test/storage/adapter_mock.py index a331070..71f69ef 100644 --- a/pyinfra/test/storage/adapter_mock.py +++ b/pyinfra/test/storage/adapter_mock.py @@ -14,3 +14,6 @@ class StorageAdapterMock: def get_all(self, bucket_name): return self.__client.get_all(bucket_name) + + def purge(self, bucket_name): + return self.__client.purge(bucket_name) diff --git a/pyinfra/test/storage/client_mock.py b/pyinfra/test/storage/client_mock.py index 7954300..69d0695 100644 --- a/pyinfra/test/storage/client_mock.py +++ b/pyinfra/test/storage/client_mock.py @@ -13,3 +13,7 @@ class StorageClientMock: def get_all(self, bucket_name): return self.__data[bucket_name].values() + + def purge(self, bucket_name): + self.__data[bucket_name] = {} + diff --git a/pyinfra/test/unit_tests/storage_adapter_test.py b/pyinfra/test/unit_tests/storage_adapter_test.py index 8da8336..d0aa86c 100644 --- a/pyinfra/test/unit_tests/storage_adapter_test.py +++ b/pyinfra/test/unit_tests/storage_adapter_test.py @@ -1,4 +1,2 @@ from pyinfra.storage.adapter import StorageAdapter from pyinfra.test.storage.client_mock import StorageClientMock - - diff --git a/pyinfra/test/unit_tests/storage_test.py b/pyinfra/test/unit_tests/storage_test.py index 1a80dfe..3245e32 100644 --- a/pyinfra/test/unit_tests/storage_test.py +++ b/pyinfra/test/unit_tests/storage_test.py @@ -18,9 +18,10 @@ def bucket_name(): return "test-bucket" -# def test_purging_bucket_yields_empty_bucket(storage, bucket): -# storage.purge(bucket) -# assert storage.list_objects(bucket) +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} def test_getting_object_put_in_bucket_is_object(storage, bucket_name):