Skip to main content
Glama
test_brave_api.py2.38 kB
"""Tests for Brave Search API integration.""" from unittest.mock import Mock, patch import pytest from src.websearch.engines.brave_api import search_brave_api class TestBraveAPI: @patch("src.websearch.engines.brave_api.API_KEY", "test_key") @patch("src.websearch.engines.brave_api.quota_manager") @patch("src.websearch.engines.brave_api.requests.get") def test_search_brave_api_success(self, mock_get, mock_quota): """Test successful Brave API search.""" # Mock quota manager mock_quota.can_make_request.return_value = True # Mock API response mock_response = Mock() mock_response.raise_for_status.return_value = None mock_response.json.return_value = { "web": { "results": [ { "title": "Test Title", "url": "https://example.com", "description": "Test description", } ] } } mock_get.return_value = mock_response results = search_brave_api("test query", 10) assert len(results) == 1 assert results[0]["title"] == "Test Title" assert results[0]["source"] == "Brave" mock_get.assert_called_once() mock_quota.record_request.assert_called_once() def test_search_brave_api_no_key(self): """Test Brave API when key is not configured.""" with patch("src.websearch.engines.brave_api.API_KEY", None): results = search_brave_api("test query", 10) assert results == [] @patch("src.websearch.engines.brave_api.quota_manager") def test_search_brave_api_quota_exhausted(self, mock_quota): """Test Brave API when quota is exhausted.""" mock_quota.can_make_request.return_value = False results = search_brave_api("test query", 10) assert results == [] @patch("src.websearch.engines.brave_api.quota_manager") @patch("src.websearch.engines.brave_api.requests.get") def test_search_brave_api_request_error(self, mock_get, mock_quota): """Test Brave API request error handling.""" mock_quota.can_make_request.return_value = True mock_get.side_effect = Exception("Network error") results = search_brave_api("test query", 10) assert results == []

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vishalkg/web-search'

If you have feedback or need assistance with the MCP directory API, please join our Discord server