Skyvern/tests/unit/test_init_mcp.py
Suchintan 0afc59348e
Streamline CLI quickstart: browser setup, LLM models, Ollama support (#5214)
Co-authored-by: Suchintan Singh <suchintan@skyvern.com>
2026-03-23 23:42:52 -04:00

49 lines
1.6 KiB
Python

from __future__ import annotations
from typer.testing import CliRunner
from skyvern.cli import mcp
from skyvern.cli.commands import cli_app
def test_setup_mcp_local_claude_code_uses_local_stdio(monkeypatch) -> None:
answers = iter([True, False, False, False])
calls: list[dict] = []
monkeypatch.setattr("skyvern.cli.mcp.Confirm.ask", lambda *args, **kwargs: next(answers))
monkeypatch.setattr("skyvern.cli.mcp.setup_claude", lambda **kwargs: (_ for _ in ()).throw(AssertionError))
monkeypatch.setattr("skyvern.cli.mcp.setup_cursor", lambda **kwargs: (_ for _ in ()).throw(AssertionError))
monkeypatch.setattr("skyvern.cli.mcp.setup_windsurf", lambda **kwargs: (_ for _ in ()).throw(AssertionError))
monkeypatch.setattr("skyvern.cli.mcp.setup_claude_code", lambda **kwargs: calls.append(kwargs))
mcp.setup_mcp(local=True)
assert calls == [
{
"api_key": None,
"dry_run": False,
"yes": True,
"local": True,
"use_python_path": True,
"url": None,
"project": False,
"global_config": False,
"skip_skills": False,
"browser_type": None,
"browser_remote_debugging_url": None,
}
]
def test_init_callback_passes_plain_database_string(monkeypatch) -> None:
calls: list[tuple[bool, str]] = []
monkeypatch.setattr(
"skyvern.cli.commands.init_env",
lambda no_postgres=False, database_string="": calls.append((no_postgres, database_string)),
)
result = CliRunner().invoke(cli_app, ["init"])
assert result.exit_code == 0
assert calls == [(False, "")]