Added and refactored tests

This commit is contained in:
Mawoka
2022-04-03 15:59:34 +02:00
parent ce75b28397
commit cfb5dbcb66
13 changed files with 283 additions and 110 deletions
+44
View File
@@ -0,0 +1,44 @@
import pytest
from classquiz.config import settings
from classquiz.storage import Storage
settings = settings()
file_contents = b"hello world"
def test_storage_init():
with pytest.raises(NotImplementedError):
Storage(backend="asdsad", deta_key=settings.deta_project_key,
deta_id=settings.deta_project_id, storage_path=settings.storage_path)
with pytest.raises(ValueError):
Storage(backend="deta", deta_key=None,
deta_id=None, storage_path=None)
with pytest.raises(ValueError):
Storage(backend="local", storage_path=None, deta_key=None, deta_id=None)
async def storage_tester(storage: Storage):
res = await storage.upload(file_name="test.txt", file_data=file_contents)
assert res is None
res = await storage.download(file_name="test.txt")
assert res.read() == file_contents
res = await storage.delete(file_names=["test.txt"])
assert res is None
res = await storage.download(file_name="test.txt")
assert res is None
res = await storage.delete(file_names=["test.txt"])
assert res is None
@pytest.mark.asyncio
async def test_deta():
storage: Storage = Storage(backend="deta", deta_key=settings.deta_project_key,
deta_id=settings.deta_project_id, storage_path=settings.storage_path)
await storage_tester(storage)
@pytest.mark.asyncio
async def test_local():
storage: Storage = Storage(backend="local", storage_path=settings.storage_path, deta_key=None, deta_id=None)
await storage_tester(storage)