Files
2026-07-13 13:22:34 +08:00

39 lines
1.6 KiB
Python

import pytest
from mlflow.environment_variables import MLFLOW_TRACKING_URI, MLFLOW_WORKSPACE_STORE_URI
from mlflow.utils.workspace_utils import resolve_workspace_store_uri, set_workspace_store_uri
@pytest.fixture(autouse=True)
def _reset_workspace_uri(monkeypatch):
set_workspace_store_uri(None)
monkeypatch.delenv(MLFLOW_WORKSPACE_STORE_URI.name, raising=False)
monkeypatch.delenv(MLFLOW_TRACKING_URI.name, raising=False)
yield
set_workspace_store_uri(None)
monkeypatch.delenv(MLFLOW_WORKSPACE_STORE_URI.name, raising=False)
monkeypatch.delenv(MLFLOW_TRACKING_URI.name, raising=False)
def test_resolve_workspace_uri_prefers_explicit_argument(monkeypatch):
monkeypatch.setenv(MLFLOW_WORKSPACE_STORE_URI.name, "sqlite:///env-workspaces.db")
result = resolve_workspace_store_uri("sqlite:///explicit.db")
assert result == "sqlite:///explicit.db"
def test_resolve_workspace_uri_uses_configured_value(monkeypatch):
set_workspace_store_uri("sqlite:///configured.db")
result = resolve_workspace_store_uri(tracking_uri="sqlite:///tracking.db")
assert result == "sqlite:///configured.db"
def test_resolve_workspace_uri_uses_environment(monkeypatch):
monkeypatch.setenv(MLFLOW_WORKSPACE_STORE_URI.name, "sqlite:///env.db")
result = resolve_workspace_store_uri(tracking_uri="file:///mlruns")
assert result == "sqlite:///env.db"
def test_resolve_workspace_uri_defaults_to_tracking(monkeypatch):
result = resolve_workspace_store_uri(tracking_uri="sqlite:///tracking-default.db")
assert result == "sqlite:///tracking-default.db"