39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
"""Tests for Tavliy web search."""
|
|
|
|
import pytest
|
|
import logging
|
|
|
|
from modules.interfaces.interfaceChatModel import ActionResult
|
|
from modules.interfaces.interface_web_model import WebSearchRequest
|
|
from modules.connectors.connector_tavily import ConnectorTavily
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_tavily_connector_search_test_live_api():
|
|
logger.info("Testing Tavliy connector with live API calls")
|
|
|
|
# Test request
|
|
request = WebSearchRequest(query="How old is the Earth?", max_results=5)
|
|
|
|
# Tavily instance
|
|
connector_tavily = await ConnectorTavily.create()
|
|
|
|
# Search test
|
|
action_result = await connector_tavily.search_urls(request=request)
|
|
|
|
# Check results
|
|
assert isinstance(action_result, ActionResult)
|
|
|
|
logger.info("=" * 20)
|
|
logger.info(f"Action result success status: {action_result.success}")
|
|
logger.info(f"Action result error: {action_result.error}")
|
|
logger.info(f"Action result label: {action_result.resultLabel}")
|
|
|
|
logger.info("Documents:")
|
|
for doc in action_result.documents:
|
|
logger.info("-" * 10)
|
|
logger.info(f" - Document Name: {doc.documentName}")
|
|
logger.info(f" - Document Mime Type: {doc.mimeType}")
|
|
logger.info(f" - Document Data: {doc.documentData}")
|