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() monkeypatch.setattr(setup_module, "DATA_DIR", str(tmp_path)) 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"]