2026-06-01 16:38:56 +03:00
|
|
|
import importlib.util
|
|
|
|
|
import json
|
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _load_setup_module():
|
|
|
|
|
spec = importlib.util.spec_from_file_location("odysseus_setup_under_test", Path("setup.py"))
|
|
|
|
|
module = importlib.util.module_from_spec(spec)
|
|
|
|
|
assert spec.loader is not None
|
|
|
|
|
spec.loader.exec_module(module)
|
|
|
|
|
return module
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_create_default_admin_normalizes_env_username(tmp_path, monkeypatch):
|
|
|
|
|
setup_module = _load_setup_module()
|
2026-06-08 09:58:52 +02:00
|
|
|
monkeypatch.setattr(setup_module, "AUTH_FILE", str(tmp_path / "auth.json"))
|
2026-06-01 16:38:56 +03:00
|
|
|
monkeypatch.setenv("ODYSSEUS_ADMIN_USER", " AdminUser ")
|
|
|
|
|
monkeypatch.setenv("ODYSSEUS_ADMIN_PASSWORD", "temporary-password")
|
|
|
|
|
|
|
|
|
|
assert setup_module.create_default_admin() == "created"
|
|
|
|
|
|
|
|
|
|
auth_path = tmp_path / "auth.json"
|
|
|
|
|
data = json.loads(auth_path.read_text(encoding="utf-8"))
|
|
|
|
|
assert "adminuser" in data["users"]
|
|
|
|
|
assert "AdminUser" not in data["users"]
|