Add AppendPrefix middleware for ArtifactBackend

This commit is contained in:
c-bata
2023-06-09 11:53:18 +09:00
parent aff5b811c5
commit cd072c630b
2 changed files with 96 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
import io
import uuid
from optuna_dashboard.artifact.prefix import AppendPrefix
from .stubs import InMemoryBackend
def test_read_and_write() -> None:
artifact_id = str(uuid.uuid4())
dummy_content = b"Hello World"
backend = AppendPrefix(backend=InMemoryBackend(), prefix="my-")
backend.write(artifact_id, io.BytesIO(dummy_content))
with backend.open(artifact_id) as f:
actual = f.read()
assert actual == dummy_content
backend.remove(artifact_id)
def test_check_prefix() -> None:
artifact_id = str(uuid.uuid4())
dummy_content = b"Hello World"
in_memory = InMemoryBackend()
backend = AppendPrefix(backend=in_memory, prefix="my-")
backend.write(artifact_id, io.BytesIO(dummy_content))
assert len(in_memory._data) == 1
key = list(in_memory._data.keys())[0]
assert key.startswith("my-")