Add support for Optuna's study artifact

This commit is contained in:
c-bata
2023-09-08 17:20:01 +09:00
parent 545f9feb49
commit 81d21eadab
6 changed files with 79 additions and 22 deletions
+5 -5
View File
@@ -8,11 +8,11 @@ import pytest
def test_get_artifact_path() -> None:
study = MagicMock(_study_id=0)
trial = MagicMock(_trial_id=0, study=study)
assert _backend.get_artifact_path(trial=trial, artifact_id="id0") == "/artifacts/0/0/id0"
assert _backend.get_artifact_path(trial, "id0") == "/artifacts/0/0/id0"
def test_artifact_prefix() -> None:
actual = _backend._artifact_prefix(trial_id=0)
actual = _backend._dashboard_trial_artifact_prefix(trial_id=0)
assert actual == "dashboard:artifacts:0:"
@@ -47,13 +47,13 @@ def init_storage_with_artifact_meta() -> BaseStorage:
def test_get_artifact_meta(init_storage_with_artifact_meta: MagicMock) -> None:
storage = init_storage_with_artifact_meta
actual = _backend.get_artifact_meta(storage, study_id=0, trial_id=0, artifact_id="id0")
actual = _backend.get_trial_artifact_meta(storage, study_id=0, trial_id=0, artifact_id="id0")
assert actual == {"artifact_id": "id0", "filename": "foo.txt"}
actual = _backend.get_artifact_meta(storage, study_id=0, trial_id=1, artifact_id="id3")
actual = _backend.get_trial_artifact_meta(storage, study_id=0, trial_id=1, artifact_id="id3")
assert actual == {"artifact_id": "id3", "filename": "qux.txt"}
actual = _backend.get_artifact_meta(storage, study_id=0, trial_id=0, artifact_id="id4")
actual = _backend.get_trial_artifact_meta(storage, study_id=0, trial_id=0, artifact_id="id4")
assert actual is None
@@ -6,7 +6,7 @@ import tempfile
import optuna
from optuna.version import __version__ as optuna_ver
from optuna_dashboard.artifact._backend import delete_all_artifacts
from optuna_dashboard.artifact._backend import get_artifact_meta
from optuna_dashboard.artifact._backend import get_trial_artifact_meta
from optuna_dashboard.artifact._backend import list_trial_artifacts
from packaging import version
import pytest
@@ -44,7 +44,7 @@ def test_list_optuna_trial_artifacts() -> None:
with artifact_store.open_reader(artifact_id) as reader:
assert reader.read() == dummy_content
artifact_meta = get_artifact_meta(
artifact_meta = get_trial_artifact_meta(
storage=storage,
study_id=study._study_id,
trial_id=trial._trial_id,