mirror of
https://github.com/Skyvern-AI/skyvern.git
synced 2026-04-28 11:40:32 +00:00
49 lines
1.6 KiB
Python
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, "")]
|