27 lines
785 B
Python
27 lines
785 B
Python
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
from civilplan_mcp import setup_keys
|
|
|
|
|
|
def test_main_prompts_and_saves_gemini_api_key(monkeypatch, tmp_path: Path) -> None:
|
|
prompted_values = iter(["data-key", "vworld-key", "gemini-key"])
|
|
saved_payload: dict[str, str] = {}
|
|
|
|
monkeypatch.setattr(setup_keys, "_prompt_value", lambda name, current="": next(prompted_values))
|
|
monkeypatch.setattr(
|
|
setup_keys,
|
|
"save_api_keys",
|
|
lambda payload: saved_payload.update(payload) or tmp_path / "api-keys.dpapi.json",
|
|
)
|
|
|
|
exit_code = setup_keys.main([])
|
|
|
|
assert exit_code == 0
|
|
assert saved_payload == {
|
|
"DATA_GO_KR_API_KEY": "data-key",
|
|
"VWORLD_API_KEY": "vworld-key",
|
|
"GEMINI_API_KEY": "gemini-key",
|
|
}
|