ddgs / tests /test_cli.py
dromerosm's picture
Restructure project for public HF deployment
2aa3e66
raw
history blame contribute delete
897 Bytes
from ddgs_api import cli
def test_cli_main_emits_json(monkeypatch, capsys):
monkeypatch.setenv("DDGS_OUTPUT", "json")
def fake_search(query, **kwargs):
assert query == "openai"
assert kwargs["region"] == "us-en"
return [{"title": "Result", "href": "https://example.com", "markdown": None}]
monkeypatch.setattr("ddgs_api.cli.ddgs_search", fake_search)
exit_code = cli.main(["openai"])
captured = capsys.readouterr()
assert exit_code == 0
assert '"title": "Result"' in captured.out
def test_cli_main_returns_error_code_on_search_failure(monkeypatch, capsys):
def fake_search(query, **kwargs):
raise RuntimeError("boom")
monkeypatch.setattr("ddgs_api.cli.ddgs_search", fake_search)
exit_code = cli.main(["openai"])
captured = capsys.readouterr()
assert exit_code == 1
assert "Error: boom" in captured.err