Import the existing local project snapshot. This commit organizes existing files; it does not represent newly developed functionality.
48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
import pytest
|
|
from pydantic import ValidationError
|
|
|
|
|
|
def test_search_request_defaults():
|
|
from axon.models import SearchRequest
|
|
req = SearchRequest(query="test")
|
|
assert req.max_results == 10
|
|
assert req.search_depth == "basic"
|
|
assert req.include_answer is False
|
|
assert req.include_raw_content is False
|
|
assert req.domains_whitelist == []
|
|
assert req.domains_blacklist == []
|
|
assert req.topic == "general"
|
|
assert req.time_range is None
|
|
|
|
|
|
def test_search_request_max_results_capped():
|
|
from axon.models import SearchRequest
|
|
with pytest.raises(ValidationError):
|
|
SearchRequest(query="test", max_results=21)
|
|
|
|
|
|
def test_search_request_max_results_minimum():
|
|
from axon.models import SearchRequest
|
|
with pytest.raises(ValidationError):
|
|
SearchRequest(query="test", max_results=0)
|
|
|
|
|
|
def test_search_result_fields():
|
|
from axon.models import SearchResult
|
|
r = SearchResult(title="T", url="https://x.com", content="C", score=0.9)
|
|
assert r.published_date is None
|
|
assert r.favicon is None
|
|
|
|
|
|
def test_extract_request():
|
|
from axon.models import ExtractRequest
|
|
req = ExtractRequest(urls=["https://a.com", "https://b.com"])
|
|
assert req.include_images is False
|
|
|
|
|
|
def test_research_request_defaults():
|
|
from axon.models import ResearchRequest
|
|
req = ResearchRequest(query="topic")
|
|
assert req.depth == "basic"
|
|
assert req.output_format == "markdown"
|