From 025eb59c434fdddd14adcd76623bf5294bc4bd47 Mon Sep 17 00:00:00 2001 From: arsam Date: Fri, 18 Sep 2026 23:06:48 +0330 Subject: [PATCH] Import tests: tests/test_models Import the existing local project snapshot. This commit organizes existing files; it does not represent newly developed functionality. --- tests/test_models.py | 47 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 tests/test_models.py diff --git a/tests/test_models.py b/tests/test_models.py new file mode 100644 index 0000000..790437d --- /dev/null +++ b/tests/test_models.py @@ -0,0 +1,47 @@ +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"